mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-13 21:28:01 +02:00
Merge commit '5f3a081b42b84404a40a52c80ef7a354cf048c56'
* commit '5f3a081b42b84404a40a52c80ef7a354cf048c56': avi: Spin out the logic to position to the next non-interleaved stream Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
This commit is contained in:
commit
6a6cfeb2e7
@ -1306,21 +1306,9 @@ start_sync:
|
||||
return AVERROR_EOF;
|
||||
}
|
||||
|
||||
static int avi_read_packet(AVFormatContext *s, AVPacket *pkt)
|
||||
static int ni_prepare_read(AVFormatContext *s)
|
||||
{
|
||||
AVIContext *avi = s->priv_data;
|
||||
AVIOContext *pb = s->pb;
|
||||
int err;
|
||||
|
||||
if (CONFIG_DV_DEMUXER && avi->dv_demux) {
|
||||
int size = avpriv_dv_get_packet(avi->dv_demux, pkt);
|
||||
if (size >= 0)
|
||||
return size;
|
||||
else
|
||||
goto resync;
|
||||
}
|
||||
|
||||
if (avi->non_interleaved) {
|
||||
int best_stream_index = 0;
|
||||
AVStream *best_st = NULL;
|
||||
AVIStream *best_ast;
|
||||
@ -1383,6 +1371,28 @@ static int avi_read_packet(AVFormatContext *s, AVPacket *pkt)
|
||||
}
|
||||
else
|
||||
return AVERROR_EOF;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int avi_read_packet(AVFormatContext *s, AVPacket *pkt)
|
||||
{
|
||||
AVIContext *avi = s->priv_data;
|
||||
AVIOContext *pb = s->pb;
|
||||
int err;
|
||||
|
||||
if (CONFIG_DV_DEMUXER && avi->dv_demux) {
|
||||
int size = avpriv_dv_get_packet(avi->dv_demux, pkt);
|
||||
if (size >= 0)
|
||||
return size;
|
||||
else
|
||||
goto resync;
|
||||
}
|
||||
|
||||
if (avi->non_interleaved) {
|
||||
err = ni_prepare_read(s);
|
||||
if (err < 0)
|
||||
return err;
|
||||
}
|
||||
|
||||
resync:
|
||||
|
Loading…
Reference in New Issue
Block a user