mpegts: factor seek_back() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
b7c6685268
commit
a5f23d8da0
@ -1986,6 +1986,15 @@ static int parse_pcr(int64_t *ppcr_high, int *ppcr_low,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void seek_back(AVFormatContext *s, AVIOContext *pb, int64_t pos) {
|
||||
|
||||
/* NOTE: We attempt to seek on non-seekable files as well, as the
|
||||
* probe buffer usually is big enough. Only warn if the seek failed
|
||||
* on files where the seek should work. */
|
||||
if (avio_seek(pb, pos, SEEK_SET) < 0)
|
||||
av_log(s, pb->seekable ? AV_LOG_ERROR : AV_LOG_INFO, "Unable to seek back to the start\n");
|
||||
}
|
||||
|
||||
static int mpegts_read_header(AVFormatContext *s)
|
||||
{
|
||||
MpegTSContext *ts = s->priv_data;
|
||||
@ -2009,11 +2018,7 @@ static int mpegts_read_header(AVFormatContext *s)
|
||||
/* normal demux */
|
||||
|
||||
/* first do a scan to get all the services */
|
||||
/* NOTE: We attempt to seek on non-seekable files as well, as the
|
||||
* probe buffer usually is big enough. Only warn if the seek failed
|
||||
* on files where the seek should work. */
|
||||
if (avio_seek(pb, pos, SEEK_SET) < 0)
|
||||
av_log(s, pb->seekable ? AV_LOG_ERROR : AV_LOG_INFO, "Unable to seek back to the start\n");
|
||||
seek_back(s, pb, pos);
|
||||
|
||||
mpegts_open_section_filter(ts, SDT_PID, sdt_cb, ts, 1);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user