@@ -20,6 +20,18 @@ static const char* const FFMPEG_DEFAULT_OUTPUT_FLAGS[] = {
20
20
"-fflags" , "+bitexact+autobsf"
21
21
};
22
22
23
+ static const char * const FFMPEG_INPUT_RANGE [] = {
24
+ "0" , "1" , "2" , "3" , "4" , "5" , "6" , "7" , "8" , "9" , "10" , "11" , "12" , "13" ,
25
+ "14" , "15" , "16" , "17" , "18" , "19" , "20" , "21" , "22" , "23" , "24" , "25" ,
26
+ "26" , "27" , "28" , "29" , "30" , "31" , "32" , "33" , "34" , "35" , "36" , "37" ,
27
+ "38" , "39" , "40" , "41" , "42" , "43" , "44" , "45" , "46" , "47" , "48" , "49" ,
28
+ "50" , "51" , "52" , "53" , "54" , "55" , "56" , "57" , "58" , "59" , "60" , "61" ,
29
+ "62" , "63" , "64" , "65" , "66" , "67" , "68" , "69" , "70" , "71" , "72" , "73" ,
30
+ "74" , "75" , "76" , "77" , "78" , "79" , "80" , "81" , "82" , "83" , "84" , "85" ,
31
+ "86" , "87" , "88" , "89" , "90" , "91" , "92" , "93" , "94" , "95" , "96" , "97" ,
32
+ "98" , "99" , "100"
33
+ };
34
+
23
35
int ffmpegc_mux_streams (char * const * const sources , const char * const destination ) {
24
36
25
37
int err = M3U8ERR_SUCCESS ;
@@ -45,7 +57,7 @@ int ffmpegc_mux_streams(char* const* const sources, const char* const destinatio
45
57
}
46
58
47
59
argc += 1 ; /* <command> */
48
- argc += index * 4 ; /* -i <input> */
60
+ argc += index * 6 ; /* -allowed_extensions <extension> - i <input> -map <position> */
49
61
argc += 1 ; /* <output> */
50
62
51
63
executable = find_exe ("ffmpeg" );
@@ -83,6 +95,15 @@ int ffmpegc_mux_streams(char* const* const sources, const char* const destinatio
83
95
argv [argvpos ++ ] = (char * ) item ;
84
96
}
85
97
98
+ argc = index ;
99
+
100
+ for (index = 0 ; index < argc ; index ++ ) {
101
+ const char * const position = FFMPEG_INPUT_RANGE [index ];
102
+
103
+ argv [argvpos ++ ] = "-map" ;
104
+ argv [argvpos ++ ] = (char * ) position ;
105
+ }
106
+
86
107
for (index = 0 ; index < sizeof (FFMPEG_DEFAULT_OUTPUT_FLAGS ) / sizeof (* FFMPEG_DEFAULT_OUTPUT_FLAGS ); index ++ ) {
87
108
const char * const item = FFMPEG_DEFAULT_OUTPUT_FLAGS [index ];
88
109
argv [argvpos ++ ] = (char * ) item ;
0 commit comments