@@ -4,8 +4,15 @@ extern "C" {
4
4
#ifndef __STDC_CONSTANT_MACROS
5
5
#define __STDC_CONSTANT_MACROS
6
6
#endif
7
+ #include < libavutil/version.h>
8
+ #include < libavcodec/version.h>
9
+ #include < libswscale/version.h>
10
+ #ifdef AV_RESAMPLE_LIBRARY
11
+ #include < libavresample/version.h>
12
+ #else
13
+ #include < libswresample/version.h>
14
+ #endif
7
15
#include < libavformat/avformat.h>
8
- #include < libavutil/avstring.h>
9
16
}
10
17
11
18
#include < cstring>
@@ -14,17 +21,61 @@ extern "C" {
14
21
namespace avtranscoder
15
22
{
16
23
17
- std::vector<size_t > getVersion ()
24
+ std::map< std::string, std:: vector<size_t > > getVersion ()
18
25
{
19
- std::vector<size_t > version;
20
- version.push_back ( 0 );
21
- version.push_back ( 0 );
22
- version.push_back ( 0 );
23
- // avutil_version
24
- // avutil_license
26
+ std::map< std::string, std::vector<size_t > > version;
27
+
28
+ std::vector<size_t > avutilVersion;
29
+ avutilVersion.push_back ( LIBAVUTIL_VERSION_MAJOR );
30
+ avutilVersion.push_back ( LIBAVUTIL_VERSION_MINOR );
31
+ avutilVersion.push_back ( LIBAVUTIL_VERSION_MICRO );
32
+
33
+ std::vector<size_t > avformatVersion;
34
+ avformatVersion.push_back ( LIBAVFORMAT_VERSION_MAJOR );
35
+ avformatVersion.push_back ( LIBAVFORMAT_VERSION_MINOR );
36
+ avformatVersion.push_back ( LIBAVFORMAT_VERSION_MICRO );
37
+
38
+ std::vector<size_t > avcodecVersion;
39
+ avcodecVersion.push_back ( LIBAVCODEC_VERSION_MAJOR );
40
+ avcodecVersion.push_back ( LIBAVCODEC_VERSION_MINOR );
41
+ avcodecVersion.push_back ( LIBAVCODEC_VERSION_MICRO );
42
+
43
+ std::vector<size_t > swscaleVersion;
44
+ swscaleVersion.push_back ( LIBSWSCALE_VERSION_MAJOR );
45
+ swscaleVersion.push_back ( LIBSWSCALE_VERSION_MINOR );
46
+ swscaleVersion.push_back ( LIBSWSCALE_VERSION_MICRO );
47
+
48
+ #ifdef AV_RESAMPLE_LIBRARY
49
+ std::vector<size_t > avresampleVersion;
50
+ avresampleVersion.push_back ( LIBAVRESAMPLE_VERSION_MAJOR );
51
+ avresampleVersion.push_back ( LIBAVRESAMPLE_VERSION_MINOR );
52
+ avresampleVersion.push_back ( LIBAVRESAMPLE_VERSION_MICRO );
53
+ #else
54
+ std::vector<size_t > swresampleVersion;
55
+ swresampleVersion.push_back ( LIBSWRESAMPLE_VERSION_MAJOR );
56
+ swresampleVersion.push_back ( LIBRESAMPLE_VERSION_MINOR );
57
+ swresampleVersion.push_back ( LIBRESAMPLE_VERSION_MICRO );
58
+ #endif
59
+
60
+ version[ " avutil" ] = avutilVersion;
61
+ version[ " avformat" ] = avformatVersion;
62
+ version[ " avcodec" ] = avcodecVersion;
63
+ version[ " swscale" ] = swscaleVersion;
64
+ #ifdef AV_RESAMPLE_LIBRARY
65
+ version[ " avresample" ] = avresampleVersion;
66
+ #else
67
+ version[ " swresample" ] = swresampleVersion;
68
+ #endif
69
+
25
70
return version;
26
71
}
27
72
73
+ std::string getLicence ()
74
+ {
75
+ std::string licence ( avutil_license () );
76
+ return licence;
77
+ }
78
+
28
79
std::vector<std::string> getInputExtensions ()
29
80
{
30
81
av_register_all ();
0 commit comments