[vlc-commits] demux: adaptative: add pcr reset command

Francois Cartegnie git at videolan.org
Tue Oct 6 13:16:36 CEST 2015


vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Fri Oct  2 12:38:51 2015 +0200| [b74c4c50ed1d678983a822e579770e4daf8af601] | committer: Francois Cartegnie

demux: adaptative: add pcr reset command

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

 modules/demux/adaptative/plumbing/CommandsQueue.cpp |   19 ++++++++++++++++++-
 modules/demux/adaptative/plumbing/CommandsQueue.hpp |   12 ++++++++++++
 2 files changed, 30 insertions(+), 1 deletion(-)

diff --git a/modules/demux/adaptative/plumbing/CommandsQueue.cpp b/modules/demux/adaptative/plumbing/CommandsQueue.cpp
index 551c537..76c5146 100644
--- a/modules/demux/adaptative/plumbing/CommandsQueue.cpp
+++ b/modules/demux/adaptative/plumbing/CommandsQueue.cpp
@@ -19,6 +19,7 @@
  *****************************************************************************/
 #include "CommandsQueue.hpp"
 #include "FakeESOutID.hpp"
+#include "FakeESOut.hpp"
 #include <vlc_es_out.h>
 #include <vlc_block.h>
 #include <algorithm>
@@ -30,7 +31,8 @@ enum
     ES_OUT_PRIVATE_COMMAND_ADD = ES_OUT_PRIVATE_START,
     ES_OUT_PRIVATE_COMMAND_DEL,
     ES_OUT_PRIVATE_COMMAND_DESTROY,
-    ES_OUT_PRIVATE_COMMAND_SEND
+    ES_OUT_PRIVATE_COMMAND_SEND,
+    ES_OUT_PRIVATE_COMMAND_DISCONTINUITY
 };
 
 AbstractCommand::AbstractCommand( int type_ )
@@ -150,6 +152,16 @@ void EsOutDestroyCommand::Execute( es_out_t *out )
     es_out_Delete( out );
 }
 
+EsOutControlResetPCRCommand::EsOutControlResetPCRCommand() :
+    AbstractCommand( ES_OUT_PRIVATE_COMMAND_DISCONTINUITY )
+{
+}
+
+void EsOutControlResetPCRCommand::Execute( es_out_t * )
+{
+}
+
+
 /*
  * Commands Default Factory
  */
@@ -179,6 +191,11 @@ EsOutDestroyCommand * CommandsFactory::createEsOutDestroyCommand()
     return new (std::nothrow) EsOutDestroyCommand();
 }
 
+EsOutControlResetPCRCommand * CommandsFactory::creatEsOutControlResetPCRCommand()
+{
+    return new (std::nothrow) EsOutControlResetPCRCommand();
+}
+
 /*
  * Commands Queue management
  */
diff --git a/modules/demux/adaptative/plumbing/CommandsQueue.hpp b/modules/demux/adaptative/plumbing/CommandsQueue.hpp
index 3d44e3e..edc1a38 100644
--- a/modules/demux/adaptative/plumbing/CommandsQueue.hpp
+++ b/modules/demux/adaptative/plumbing/CommandsQueue.hpp
@@ -32,6 +32,7 @@
 
 namespace adaptative
 {
+    class FakeESOut;
     class FakeESOutID;
 
     class AbstractCommand
@@ -113,6 +114,16 @@ namespace adaptative
             EsOutDestroyCommand();
     };
 
+    class EsOutControlResetPCRCommand : public AbstractCommand
+    {
+        friend class CommandsFactory;
+        public:
+            virtual void Execute( es_out_t *out );
+
+        protected:
+            EsOutControlResetPCRCommand();
+    };
+
     /* Factory so we can alter behaviour and filter on execution */
     class CommandsFactory
     {
@@ -122,6 +133,7 @@ namespace adaptative
             virtual EsOutDelCommand * createEsOutDelCommand( FakeESOutID * );
             virtual EsOutAddCommand * createEsOutAddCommand( FakeESOutID *, const es_format_t * );
             virtual EsOutControlPCRCommand * createEsOutControlPCRCommand( int, mtime_t );
+            virtual EsOutControlResetPCRCommand * creatEsOutControlResetPCRCommand();
             virtual EsOutDestroyCommand * createEsOutDestroyCommand();
     };
 



More information about the vlc-commits mailing list