diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-03-24 17:44:22 +0400 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-03-24 17:44:22 +0400 |
commit | 82e6660ae2372cdf96acb3bfebdd82b82f51d23f (patch) | |
tree | a3b0a2fa89a4a4e936bdd5926e2781db7c33e297 /ffmpeg.c | |
parent | c08e523586b6be36bee3f73d609733cd80a57674 (diff) | |
parent | 59444c76e6d43529a12dbd80b6dd29c6ba4079a9 (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.c | 17 |
1 files changed, 17 insertions, 0 deletions
@@ -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) |