[vlc-devel] commit: Fixed CDG seeking while used as a slave input. (Laurent Aimar )

git version control git at videolan.org
Sat Mar 7 17:59:02 CET 2009


vlc | branch: master | Laurent Aimar <fenrir at videolan.org> | Sat Mar  7 17:29:40 2009 +0100| [d5c12fe66eaf6d8b71ffaa394aea1d1f707a11b2] | committer: Laurent Aimar 

Fixed CDG seeking while used as a slave input.

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

 modules/demux/cdg.c |   15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/modules/demux/cdg.c b/modules/demux/cdg.c
index a4d16f5..d910288 100644
--- a/modules/demux/cdg.c
+++ b/modules/demux/cdg.c
@@ -149,11 +149,14 @@ static void Close ( vlc_object_t * p_this )
  *****************************************************************************/
 static int Control( demux_t *p_demux, int i_query, va_list args )
 {
-    switch( i_query )
-    {
-    default:
-        return demux_vaControlHelper( p_demux->s, 0, -1,
-                                       8*CDG_FRAME_SIZE*CDG_FRAME_RATE, CDG_FRAME_SIZE, i_query, args );
-    }
+    int i_ret = demux_vaControlHelper( p_demux->s, 0, -1,
+                                       8*CDG_FRAME_SIZE*CDG_FRAME_RATE, CDG_FRAME_SIZE,
+                                       i_query, args );
+    if( !i_ret && ( i_query == DEMUX_SET_POSITION || i_query == DEMUX_SET_TIME ) )
+        date_Set( &p_demux->p_sys->pts,
+                  stream_Tell( p_demux->s ) / CDG_FRAME_SIZE *
+                    INT64_C(1000000) / CDG_FRAME_RATE );
+
+    return i_ret;
 }
 




More information about the vlc-devel mailing list