diff options
author | Uoti Urpala <uau@mplayer2.org> | 2011-12-22 05:54:48 +0200 |
---|---|---|
committer | Uoti Urpala <uau@mplayer2.org> | 2012-01-08 23:32:40 +0200 |
commit | 62e38774173972acab91e116f01050ef5cc0149f (patch) | |
tree | 0bef4e271c78ffb0b9e7b42a29d75e48fbf107f2 /libmpdemux/demuxer.c | |
parent | c32b3edfea3c4832f16a7cbcba4f8284170b3170 (diff) | |
download | mpv-62e38774173972acab91e116f01050ef5cc0149f.tar.bz2 mpv-62e38774173972acab91e116f01050ef5cc0149f.tar.xz |
ad_ffmpeg: pass packet side data from libavformat
Pass avpacket->side_data when using a libavcodec audio decoder
together with libavformat demuxer (this was already done for video).
Diffstat (limited to 'libmpdemux/demuxer.c')
-rw-r--r-- | libmpdemux/demuxer.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/libmpdemux/demuxer.c b/libmpdemux/demuxer.c index 199558c2ae..b3a1998d0c 100644 --- a/libmpdemux/demuxer.c +++ b/libmpdemux/demuxer.c @@ -831,11 +831,12 @@ int ds_get_packet_sub(demux_stream_t *ds, unsigned char **start) return len; } -struct demux_packet *ds_get_packet2(struct demux_stream *ds) +struct demux_packet *ds_get_packet2(struct demux_stream *ds, bool repeat_last) { // This shouldn't get used together with partial reads - assert(ds->buffer_pos >= ds->buffer_size); - ds_fill_buffer(ds); + assert(ds->buffer_pos == 0 || ds->buffer_pos >= ds->buffer_size); + if (!repeat_last) + ds_fill_buffer(ds); ds->buffer_pos = ds->buffer_size; return ds->current; } |