Commit b0c9e8e0 authored by Anton Khirnov's avatar Anton Khirnov

avconv: get rid of the arbitrary MAX_FILES limit.

parent 4288e031
...@@ -97,8 +97,6 @@ typedef struct MetadataMap { ...@@ -97,8 +97,6 @@ typedef struct MetadataMap {
static const OptionDef options[]; static const OptionDef options[];
#define MAX_FILES 100
static const char *last_asked_format = NULL; static const char *last_asked_format = NULL;
static AVDictionary *ts_scale; static AVDictionary *ts_scale;
...@@ -1839,9 +1837,12 @@ static int transcode(OutputFile *output_files, ...@@ -1839,9 +1837,12 @@ static int transcode(OutputFile *output_files,
InputStream *ist; InputStream *ist;
char error[1024]; char error[1024];
int want_sdp = 1; int want_sdp = 1;
uint8_t no_packet[MAX_FILES]={0}; uint8_t *no_packet;
int no_packet_count=0; int no_packet_count=0;
if (!(no_packet = av_mallocz(nb_input_files)))
exit_program(1);
if (rate_emu) if (rate_emu)
for (i = 0; i < nb_input_streams; i++) for (i = 0; i < nb_input_streams; i++)
input_streams[i].start = av_gettime(); input_streams[i].start = av_gettime();
...@@ -2266,7 +2267,7 @@ static int transcode(OutputFile *output_files, ...@@ -2266,7 +2267,7 @@ static int transcode(OutputFile *output_files,
if (file_index < 0) { if (file_index < 0) {
if(no_packet_count){ if(no_packet_count){
no_packet_count=0; no_packet_count=0;
memset(no_packet, 0, sizeof(no_packet)); memset(no_packet, 0, nb_input_files);
usleep(10000); usleep(10000);
continue; continue;
} }
...@@ -2294,7 +2295,7 @@ static int transcode(OutputFile *output_files, ...@@ -2294,7 +2295,7 @@ static int transcode(OutputFile *output_files,
} }
no_packet_count=0; no_packet_count=0;
memset(no_packet, 0, sizeof(no_packet)); memset(no_packet, 0, nb_input_files);
if (do_pkt_dump) { if (do_pkt_dump) {
av_pkt_dump_log2(NULL, AV_LOG_DEBUG, &pkt, do_hex_dump, av_pkt_dump_log2(NULL, AV_LOG_DEBUG, &pkt, do_hex_dump,
...@@ -2407,6 +2408,7 @@ static int transcode(OutputFile *output_files, ...@@ -2407,6 +2408,7 @@ static int transcode(OutputFile *output_files,
fail: fail:
av_freep(&bit_buffer); av_freep(&bit_buffer);
av_freep(&no_packet);
if (output_streams) { if (output_streams) {
for (i = 0; i < nb_output_streams; i++) { for (i = 0; i < nb_output_streams; i++) {
...@@ -3563,8 +3565,6 @@ static void opt_output_file(const char *filename) ...@@ -3563,8 +3565,6 @@ static void opt_output_file(const char *filename)
av_dict_free(&metadata); av_dict_free(&metadata);
if (nb_output_files == MAX_FILES)
exit_program(1); /* a temporary hack until all the other MAX_FILES-sized arrays are removed */
output_files = grow_array(output_files, sizeof(*output_files), &nb_output_files, nb_output_files + 1); output_files = grow_array(output_files, sizeof(*output_files), &nb_output_files, nb_output_files + 1);
output_files[nb_output_files - 1].ctx = oc; output_files[nb_output_files - 1].ctx = oc;
output_files[nb_output_files - 1].ost_index = nb_output_streams - oc->nb_streams; output_files[nb_output_files - 1].ost_index = nb_output_streams - oc->nb_streams;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment