[vlc-devel] commit: Added input_GetPcrSystem/input_ModifyPcrSystem. (Laurent Aimar )

git version control git at videolan.org
Tue Feb 2 21:25:38 CET 2010


vlc | branch: master | Laurent Aimar <fenrir at videolan.org> | Mon Feb  1 21:21:11 2010 +0100| [709d0455ceb4aab2f7a059f9a7a96f2eea9c5636] | committer: Laurent Aimar 

Added input_GetPcrSystem/input_ModifyPcrSystem.

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

 include/vlc_input.h |   19 +++++++++++++++++++
 src/input/control.c |   13 +++++++++++++
 2 files changed, 32 insertions(+), 0 deletions(-)

diff --git a/include/vlc_input.h b/include/vlc_input.h
index a0968e4..6a357cd 100644
--- a/include/vlc_input.h
+++ b/include/vlc_input.h
@@ -512,6 +512,10 @@ enum input_query_e
     INPUT_GET_AOUT,         /* arg1=aout_instance_t **              res=can fail */
     INPUT_GET_VOUTS,        /* arg1=vout_thread_t ***, int *        res=can fail */
     INPUT_GET_ES_OBJECTS,   /* arg1=int id, vlc_object_t **dec, vout_thread_t **, aout_instance_t ** */
+
+    /* External clock managments */
+    INPUT_GET_PCR_SYSTEM,   /* arg1=mtime_t *                       res=can fail */
+    INPUT_MODIFY_PCR_SYSTEM,/* arg1=int absolute, arg2=mtime_t      res=can fail */
 };
 
 /** @}*/
@@ -613,6 +617,21 @@ static inline int input_GetEsObjects( input_thread_t *p_input, int i_id,
                           pp_decoder, pp_vout, pp_aout );
 }
 
+/**
+ * \see input_clock_GetSystemOrigin
+ */
+static inline int input_GetPcrSystem( input_thread_t *p_input, mtime_t *pi_system )
+{
+    return input_Control( p_input, INPUT_GET_PCR_SYSTEM, pi_system );
+}
+/**
+ * \see input_clock_ChangeSystemOrigin
+ */
+static inline int input_ModifyPcrSystem( input_thread_t *p_input, bool b_absolute, mtime_t i_system )
+{
+    return input_Control( p_input, INPUT_MODIFY_PCR_SYSTEM, b_absolute, i_system );
+}
+
 /* */
 typedef struct input_clock_t input_clock_t;
 VLC_EXPORT( decoder_t *, input_DecoderNew, ( input_thread_t *, es_format_t *, input_clock_t *, sout_instance_t * ) );
diff --git a/src/input/control.c b/src/input/control.c
index 3fa280b..85ffb65 100644
--- a/src/input/control.c
+++ b/src/input/control.c
@@ -449,6 +449,19 @@ int input_vaControl( input_thread_t *p_input, int i_query, va_list args )
                                    pp_decoder, pp_vout, pp_aout );
         }
 
+        case INPUT_GET_PCR_SYSTEM:
+        {
+            mtime_t *pi_system = va_arg( args, mtime_t * );
+            return es_out_ControlGetPcrSystem( p_input->p->p_es_out_display, pi_system );
+        }
+
+        case INPUT_MODIFY_PCR_SYSTEM:
+        {
+            bool b_absolute = va_arg( args, int );
+            mtime_t i_system = va_arg( args, mtime_t );
+            return es_out_ControlModifyPcrSystem( p_input->p->p_es_out_display, b_absolute, i_system );
+        }
+
         default:
             msg_Err( p_input, "unknown query in input_vaControl" );
             return VLC_EGENERIC;




More information about the vlc-devel mailing list