summaryrefslogtreecommitdiff
path: root/ffmpeg.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-03-24 14:44:22 +0100
committerMichael Niedermayer <michaelni@gmx.at>2014-03-24 14:44:22 +0100
commit82e6660ae2372cdf96acb3bfebdd82b82f51d23f (patch)
treea3b0a2fa89a4a4e936bdd5926e2781db7c33e297 /ffmpeg.c
parentc08e523586b6be36bee3f73d609733cd80a57674 (diff)
parent59444c76e6d43529a12dbd80b6dd29c6ba4079a9 (diff)
Merge commit '59444c76e6d43529a12dbd80b6dd29c6ba4079a9'
* commit '59444c76e6d43529a12dbd80b6dd29c6ba4079a9': avconv: add stream-global side data to the first demuxed packet Conflicts: ffmpeg.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'ffmpeg.c')
-rw-r--r--ffmpeg.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/ffmpeg.c b/ffmpeg.c
index b8f6fe8081..83973a483e 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -3174,6 +3174,7 @@ static int process_input(int file_index)
}
ist = input_streams[ifile->ist_index + pkt.stream_index];
+ ist->nb_packets++;
if (ist->discard)
goto discard_packet;
@@ -3224,6 +3225,22 @@ static int process_input(int file_index)
}
}
+ /* add the stream-global side data to the first packet */
+ if (ist->nb_packets == 1)
+ for (i = 0; i < ist->st->nb_side_data; i++) {
+ AVPacketSideData *src_sd = &ist->st->side_data[i];
+ uint8_t *dst_data;
+
+ if (av_packet_get_side_data(&pkt, src_sd->type, NULL))
+ continue;
+
+ dst_data = av_packet_new_side_data(&pkt, src_sd->type, src_sd->size);
+ if (!dst_data)
+ exit_program(1);
+
+ memcpy(dst_data, src_sd->data, src_sd->size);
+ }
+
if (pkt.dts != AV_NOPTS_VALUE)
pkt.dts += av_rescale_q(ifile->ts_offset, AV_TIME_BASE_Q, ist->st->time_base);
if (pkt.pts != AV_NOPTS_VALUE)