mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-08 13:22:53 +02:00
lavf: use ff_subtitles_queue_seek() for text subtitles demuxers.
This commit is contained in:
parent
ad5d72b123
commit
bad4e112a2
@ -248,6 +248,14 @@ static int jacosub_read_packet(AVFormatContext *s, AVPacket *pkt)
|
|||||||
return ff_subtitles_queue_read_packet(&jacosub->q, pkt);
|
return ff_subtitles_queue_read_packet(&jacosub->q, pkt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int jacosub_read_seek(AVFormatContext *s, int stream_index,
|
||||||
|
int64_t min_ts, int64_t ts, int64_t max_ts, int flags)
|
||||||
|
{
|
||||||
|
JACOsubContext *jacosub = s->priv_data;
|
||||||
|
return ff_subtitles_queue_seek(&jacosub->q, s, stream_index,
|
||||||
|
min_ts, ts, max_ts, flags);
|
||||||
|
}
|
||||||
|
|
||||||
AVInputFormat ff_jacosub_demuxer = {
|
AVInputFormat ff_jacosub_demuxer = {
|
||||||
.name = "jacosub",
|
.name = "jacosub",
|
||||||
.long_name = NULL_IF_CONFIG_SMALL("JACOsub subtitle format"),
|
.long_name = NULL_IF_CONFIG_SMALL("JACOsub subtitle format"),
|
||||||
@ -255,6 +263,7 @@ AVInputFormat ff_jacosub_demuxer = {
|
|||||||
.read_probe = jacosub_probe,
|
.read_probe = jacosub_probe,
|
||||||
.read_header = jacosub_read_header,
|
.read_header = jacosub_read_header,
|
||||||
.read_packet = jacosub_read_packet,
|
.read_packet = jacosub_read_packet,
|
||||||
|
.read_seek2 = jacosub_read_seek,
|
||||||
.read_close = jacosub_read_close,
|
.read_close = jacosub_read_close,
|
||||||
.flags = AVFMT_GENERIC_INDEX,
|
.flags = AVFMT_GENERIC_INDEX,
|
||||||
};
|
};
|
||||||
|
@ -126,6 +126,14 @@ static int microdvd_read_packet(AVFormatContext *s, AVPacket *pkt)
|
|||||||
return ff_subtitles_queue_read_packet(µdvd->q, pkt);
|
return ff_subtitles_queue_read_packet(µdvd->q, pkt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int microdvd_read_seek(AVFormatContext *s, int stream_index,
|
||||||
|
int64_t min_ts, int64_t ts, int64_t max_ts, int flags)
|
||||||
|
{
|
||||||
|
MicroDVDContext *microdvd = s->priv_data;
|
||||||
|
return ff_subtitles_queue_seek(µdvd->q, s, stream_index,
|
||||||
|
min_ts, ts, max_ts, flags);
|
||||||
|
}
|
||||||
|
|
||||||
static int microdvd_read_close(AVFormatContext *s)
|
static int microdvd_read_close(AVFormatContext *s)
|
||||||
{
|
{
|
||||||
MicroDVDContext *microdvd = s->priv_data;
|
MicroDVDContext *microdvd = s->priv_data;
|
||||||
@ -140,6 +148,7 @@ AVInputFormat ff_microdvd_demuxer = {
|
|||||||
.read_probe = microdvd_probe,
|
.read_probe = microdvd_probe,
|
||||||
.read_header = microdvd_read_header,
|
.read_header = microdvd_read_header,
|
||||||
.read_packet = microdvd_read_packet,
|
.read_packet = microdvd_read_packet,
|
||||||
|
.read_seek2 = microdvd_read_seek,
|
||||||
.read_close = microdvd_read_close,
|
.read_close = microdvd_read_close,
|
||||||
.flags = AVFMT_GENERIC_INDEX,
|
.flags = AVFMT_GENERIC_INDEX,
|
||||||
};
|
};
|
||||||
|
@ -125,6 +125,14 @@ static int realtext_read_packet(AVFormatContext *s, AVPacket *pkt)
|
|||||||
return ff_subtitles_queue_read_packet(&rt->q, pkt);
|
return ff_subtitles_queue_read_packet(&rt->q, pkt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int realtext_read_seek(AVFormatContext *s, int stream_index,
|
||||||
|
int64_t min_ts, int64_t ts, int64_t max_ts, int flags)
|
||||||
|
{
|
||||||
|
RealTextContext *rt = s->priv_data;
|
||||||
|
return ff_subtitles_queue_seek(&rt->q, s, stream_index,
|
||||||
|
min_ts, ts, max_ts, flags);
|
||||||
|
}
|
||||||
|
|
||||||
static int realtext_read_close(AVFormatContext *s)
|
static int realtext_read_close(AVFormatContext *s)
|
||||||
{
|
{
|
||||||
RealTextContext *rt = s->priv_data;
|
RealTextContext *rt = s->priv_data;
|
||||||
@ -139,6 +147,7 @@ AVInputFormat ff_realtext_demuxer = {
|
|||||||
.read_probe = realtext_probe,
|
.read_probe = realtext_probe,
|
||||||
.read_header = realtext_read_header,
|
.read_header = realtext_read_header,
|
||||||
.read_packet = realtext_read_packet,
|
.read_packet = realtext_read_packet,
|
||||||
|
.read_seek2 = realtext_read_seek,
|
||||||
.read_close = realtext_read_close,
|
.read_close = realtext_read_close,
|
||||||
.flags = AVFMT_GENERIC_INDEX,
|
.flags = AVFMT_GENERIC_INDEX,
|
||||||
.extensions = "rt",
|
.extensions = "rt",
|
||||||
|
@ -112,6 +112,14 @@ static int sami_read_packet(AVFormatContext *s, AVPacket *pkt)
|
|||||||
return ff_subtitles_queue_read_packet(&sami->q, pkt);
|
return ff_subtitles_queue_read_packet(&sami->q, pkt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int sami_read_seek(AVFormatContext *s, int stream_index,
|
||||||
|
int64_t min_ts, int64_t ts, int64_t max_ts, int flags)
|
||||||
|
{
|
||||||
|
SAMIContext *sami = s->priv_data;
|
||||||
|
return ff_subtitles_queue_seek(&sami->q, s, stream_index,
|
||||||
|
min_ts, ts, max_ts, flags);
|
||||||
|
}
|
||||||
|
|
||||||
static int sami_read_close(AVFormatContext *s)
|
static int sami_read_close(AVFormatContext *s)
|
||||||
{
|
{
|
||||||
SAMIContext *sami = s->priv_data;
|
SAMIContext *sami = s->priv_data;
|
||||||
@ -126,6 +134,7 @@ AVInputFormat ff_sami_demuxer = {
|
|||||||
.read_probe = sami_probe,
|
.read_probe = sami_probe,
|
||||||
.read_header = sami_read_header,
|
.read_header = sami_read_header,
|
||||||
.read_packet = sami_read_packet,
|
.read_packet = sami_read_packet,
|
||||||
|
.read_seek2 = sami_read_seek,
|
||||||
.read_close = sami_read_close,
|
.read_close = sami_read_close,
|
||||||
.flags = AVFMT_GENERIC_INDEX,
|
.flags = AVFMT_GENERIC_INDEX,
|
||||||
.extensions = "smi,sami",
|
.extensions = "smi,sami",
|
||||||
|
@ -157,6 +157,14 @@ static int subviewer_read_packet(AVFormatContext *s, AVPacket *pkt)
|
|||||||
return ff_subtitles_queue_read_packet(&subviewer->q, pkt);
|
return ff_subtitles_queue_read_packet(&subviewer->q, pkt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int subviewer_read_seek(AVFormatContext *s, int stream_index,
|
||||||
|
int64_t min_ts, int64_t ts, int64_t max_ts, int flags)
|
||||||
|
{
|
||||||
|
SubViewerContext *subviewer = s->priv_data;
|
||||||
|
return ff_subtitles_queue_seek(&subviewer->q, s, stream_index,
|
||||||
|
min_ts, ts, max_ts, flags);
|
||||||
|
}
|
||||||
|
|
||||||
static int subviewer_read_close(AVFormatContext *s)
|
static int subviewer_read_close(AVFormatContext *s)
|
||||||
{
|
{
|
||||||
SubViewerContext *subviewer = s->priv_data;
|
SubViewerContext *subviewer = s->priv_data;
|
||||||
@ -171,6 +179,7 @@ AVInputFormat ff_subviewer_demuxer = {
|
|||||||
.read_probe = subviewer_probe,
|
.read_probe = subviewer_probe,
|
||||||
.read_header = subviewer_read_header,
|
.read_header = subviewer_read_header,
|
||||||
.read_packet = subviewer_read_packet,
|
.read_packet = subviewer_read_packet,
|
||||||
|
.read_seek2 = subviewer_read_seek,
|
||||||
.read_close = subviewer_read_close,
|
.read_close = subviewer_read_close,
|
||||||
.flags = AVFMT_GENERIC_INDEX,
|
.flags = AVFMT_GENERIC_INDEX,
|
||||||
.extensions = "sub",
|
.extensions = "sub",
|
||||||
|
@ -168,6 +168,14 @@ static int webvtt_read_packet(AVFormatContext *s, AVPacket *pkt)
|
|||||||
return ff_subtitles_queue_read_packet(&webvtt->q, pkt);
|
return ff_subtitles_queue_read_packet(&webvtt->q, pkt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int webvtt_read_seek(AVFormatContext *s, int stream_index,
|
||||||
|
int64_t min_ts, int64_t ts, int64_t max_ts, int flags)
|
||||||
|
{
|
||||||
|
WebVTTContext *webvtt = s->priv_data;
|
||||||
|
return ff_subtitles_queue_seek(&webvtt->q, s, stream_index,
|
||||||
|
min_ts, ts, max_ts, flags);
|
||||||
|
}
|
||||||
|
|
||||||
static int webvtt_read_close(AVFormatContext *s)
|
static int webvtt_read_close(AVFormatContext *s)
|
||||||
{
|
{
|
||||||
WebVTTContext *webvtt = s->priv_data;
|
WebVTTContext *webvtt = s->priv_data;
|
||||||
@ -182,6 +190,7 @@ AVInputFormat ff_webvtt_demuxer = {
|
|||||||
.read_probe = webvtt_probe,
|
.read_probe = webvtt_probe,
|
||||||
.read_header = webvtt_read_header,
|
.read_header = webvtt_read_header,
|
||||||
.read_packet = webvtt_read_packet,
|
.read_packet = webvtt_read_packet,
|
||||||
|
.read_seek2 = webvtt_read_seek,
|
||||||
.read_close = webvtt_read_close,
|
.read_close = webvtt_read_close,
|
||||||
.flags = AVFMT_GENERIC_INDEX,
|
.flags = AVFMT_GENERIC_INDEX,
|
||||||
.extensions = "vtt",
|
.extensions = "vtt",
|
||||||
|
Loading…
Reference in New Issue
Block a user