summaryrefslogtreecommitdiff
path: root/libavformat
diff options
context:
space:
mode:
authorClément Bœsch <ubitux@gmail.com>2012-11-23 21:43:54 +0100
committerClément Bœsch <ubitux@gmail.com>2012-12-02 00:06:03 +0100
commitbad4e112a24a5c857120c7a7b3bff9a304f6acaa (patch)
tree2b7e6eeff24abf49b7ac04b3bd147c565ba2997c /libavformat
parentad5d72b1235a58442c231c3e9b8d78fc4e7b422e (diff)
downloadffmpeg-bad4e112a24a5c857120c7a7b3bff9a304f6acaa.tar.gz
lavf: use ff_subtitles_queue_seek() for text subtitles demuxers.
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/jacosubdec.c9
-rw-r--r--libavformat/microdvddec.c9
-rw-r--r--libavformat/realtextdec.c9
-rw-r--r--libavformat/samidec.c9
-rw-r--r--libavformat/subviewerdec.c9
-rw-r--r--libavformat/webvttdec.c9
6 files changed, 54 insertions, 0 deletions
diff --git a/libavformat/jacosubdec.c b/libavformat/jacosubdec.c
index f9defd292d..1c58e3bf25 100644
--- a/libavformat/jacosubdec.c
+++ b/libavformat/jacosubdec.c
@@ -248,6 +248,14 @@ static int jacosub_read_packet(AVFormatContext *s, AVPacket *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 = {
.name = "jacosub",
.long_name = NULL_IF_CONFIG_SMALL("JACOsub subtitle format"),
@@ -255,6 +263,7 @@ AVInputFormat ff_jacosub_demuxer = {
.read_probe = jacosub_probe,
.read_header = jacosub_read_header,
.read_packet = jacosub_read_packet,
+ .read_seek2 = jacosub_read_seek,
.read_close = jacosub_read_close,
.flags = AVFMT_GENERIC_INDEX,
};
diff --git a/libavformat/microdvddec.c b/libavformat/microdvddec.c
index ecc2819943..68a5d87ab5 100644
--- a/libavformat/microdvddec.c
+++ b/libavformat/microdvddec.c
@@ -126,6 +126,14 @@ static int microdvd_read_packet(AVFormatContext *s, AVPacket *pkt)
return ff_subtitles_queue_read_packet(&microdvd->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(&microdvd->q, s, stream_index,
+ min_ts, ts, max_ts, flags);
+}
+
static int microdvd_read_close(AVFormatContext *s)
{
MicroDVDContext *microdvd = s->priv_data;
@@ -140,6 +148,7 @@ AVInputFormat ff_microdvd_demuxer = {
.read_probe = microdvd_probe,
.read_header = microdvd_read_header,
.read_packet = microdvd_read_packet,
+ .read_seek2 = microdvd_read_seek,
.read_close = microdvd_read_close,
.flags = AVFMT_GENERIC_INDEX,
};
diff --git a/libavformat/realtextdec.c b/libavformat/realtextdec.c
index cc7c1841b5..6a6a8447f1 100644
--- a/libavformat/realtextdec.c
+++ b/libavformat/realtextdec.c
@@ -125,6 +125,14 @@ static int realtext_read_packet(AVFormatContext *s, AVPacket *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)
{
RealTextContext *rt = s->priv_data;
@@ -139,6 +147,7 @@ AVInputFormat ff_realtext_demuxer = {
.read_probe = realtext_probe,
.read_header = realtext_read_header,
.read_packet = realtext_read_packet,
+ .read_seek2 = realtext_read_seek,
.read_close = realtext_read_close,
.flags = AVFMT_GENERIC_INDEX,
.extensions = "rt",
diff --git a/libavformat/samidec.c b/libavformat/samidec.c
index 5f29364028..85fd220f4a 100644
--- a/libavformat/samidec.c
+++ b/libavformat/samidec.c
@@ -112,6 +112,14 @@ static int sami_read_packet(AVFormatContext *s, AVPacket *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)
{
SAMIContext *sami = s->priv_data;
@@ -126,6 +134,7 @@ AVInputFormat ff_sami_demuxer = {
.read_probe = sami_probe,
.read_header = sami_read_header,
.read_packet = sami_read_packet,
+ .read_seek2 = sami_read_seek,
.read_close = sami_read_close,
.flags = AVFMT_GENERIC_INDEX,
.extensions = "smi,sami",
diff --git a/libavformat/subviewerdec.c b/libavformat/subviewerdec.c
index 99e40fda79..7691d82768 100644
--- a/libavformat/subviewerdec.c
+++ b/libavformat/subviewerdec.c
@@ -157,6 +157,14 @@ static int subviewer_read_packet(AVFormatContext *s, AVPacket *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)
{
SubViewerContext *subviewer = s->priv_data;
@@ -171,6 +179,7 @@ AVInputFormat ff_subviewer_demuxer = {
.read_probe = subviewer_probe,
.read_header = subviewer_read_header,
.read_packet = subviewer_read_packet,
+ .read_seek2 = subviewer_read_seek,
.read_close = subviewer_read_close,
.flags = AVFMT_GENERIC_INDEX,
.extensions = "sub",
diff --git a/libavformat/webvttdec.c b/libavformat/webvttdec.c
index aeb705095f..7288e8f2ff 100644
--- a/libavformat/webvttdec.c
+++ b/libavformat/webvttdec.c
@@ -168,6 +168,14 @@ static int webvtt_read_packet(AVFormatContext *s, AVPacket *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)
{
WebVTTContext *webvtt = s->priv_data;
@@ -182,6 +190,7 @@ AVInputFormat ff_webvtt_demuxer = {
.read_probe = webvtt_probe,
.read_header = webvtt_read_header,
.read_packet = webvtt_read_packet,
+ .read_seek2 = webvtt_read_seek,
.read_close = webvtt_read_close,
.flags = AVFMT_GENERIC_INDEX,
.extensions = "vtt",