[FFmpeg-cvslog] lavf: use ff_subtitles_queue_seek() for text subtitles demuxers.

Clément Bœsch git at videolan.org
Sun Dec 2 00:19:22 CET 2012


ffmpeg | branch: master | Clément Bœsch <ubitux at gmail.com> | Fri Nov 23 21:43:54 2012 +0100| [bad4e112a24a5c857120c7a7b3bff9a304f6acaa] | committer: Clément Bœsch

lavf: use ff_subtitles_queue_seek() for text subtitles demuxers.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=bad4e112a24a5c857120c7a7b3bff9a304f6acaa
---

 libavformat/jacosubdec.c   |    9 +++++++++
 libavformat/microdvddec.c  |    9 +++++++++
 libavformat/realtextdec.c  |    9 +++++++++
 libavformat/samidec.c      |    9 +++++++++
 libavformat/subviewerdec.c |    9 +++++++++
 libavformat/webvttdec.c    |    9 +++++++++
 6 files changed, 54 insertions(+)

diff --git a/libavformat/jacosubdec.c b/libavformat/jacosubdec.c
index f9defd2..1c58e3b 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 ecc2819..68a5d87 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 cc7c184..6a6a844 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 5f29364..85fd220 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 99e40fd..7691d82 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 aeb7050..7288e8f 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",



More information about the ffmpeg-cvslog mailing list