[prev in list] [next in list] [prev in thread] [next in thread] 

List:       helix-datatype-cvs
Subject:    [Datatype-cvs]
From:       jgordon () helixcommunity ! org
Date:       2011-02-23 22:37:06
Message-ID: 201102232236.p1NMarAn014836 () mailer ! progressive-comp ! com
[Download RAW message or body]

Update of /cvsroot/datatype/mpeg2ts/demuxer
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv4931

Modified Files:
	Umakefil tsdemuxer.cpp 
Log Message:
Synopsis
========
Adds a plugin to support raw TS streams

Branches: PRODUCER_14_0_RN, HEAD
Reviewer: qluo


Description
===========
A file format plugin for raw (UDP/multicast) TS streams.
A lot like the TS file format plugin (for files) but it
reads from a socket instead of a file. :)

TODO: loss and out-of-order packet handling, timeouts,
possible buffer management updates


Files Affected
==============
datatype/mpeg2ts/demuxer/Umakefil
datatype/mpeg2ts/demuxer/tsdemuxer.cpp
datatype/mpeg2ts/demuxer/pub/tsdemuxer.h

new:
datatype/mpeg2ts/stream/tsstreamff.cpp
datatype/mpeg2ts/stream/pub/tsstreamff.h
datatype/mpeg2ts/stream/guids.cpp
datatype/mpeg2ts/stream/Umakefil
datatype/mpeg2ts/stream/win.pcf
datatype/mpeg2ts/stream/platform/win/tsstreamff.rc
datatype/mpeg2ts/stream/pub/tsstreamff.ver


Index: Umakefil
===================================================================
RCS file: /cvsroot/datatype/mpeg2ts/demuxer/Umakefil,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- Umakefil	7 May 2010 22:04:58 -0000	1.1
+++ Umakefil	23 Feb 2011 22:37:03 -0000	1.2
@@ -63,7 +63,8 @@
 project.AddModuleIncludes("common/include",
                           "common/util/pub",
                           "common/container/pub",
-                          "common/dbgtool/pub")
+                          "common/dbgtool/pub",
+                          "common/log/logutil/pub")
 
 project.AddIncludes("./payload/pub")
 

Index: tsdemuxer.cpp
===================================================================
RCS file: /cvsroot/datatype/mpeg2ts/demuxer/tsdemuxer.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- tsdemuxer.cpp	27 Jan 2011 17:53:35 -0000	1.9
+++ tsdemuxer.cpp	23 Feb 2011 22:37:03 -0000	1.10
@@ -52,15 +52,13 @@
 #include "hxassert.h"
 #include "pckunpck.h"
 #include "tsdemuxer.h"
+#include "hxtlogutil.h"
+
 
-#if defined(ANDROID)
-#include <utils/Log.h>
-#define printf LOGD
-#endif
 /*
  *  constructor, destructor
  */
-CTSDemuxer::CTSDemuxer(IUnknown* pContext, HXBOOL bRawMode)
+CTSDemuxer::CTSDemuxer(IUnknown* pContext, HXBOOL bRawMode, HXBOOL bLossMode)
     : m_ulProgramCount(0)
     , m_usCurrentProgramNum(0)
     , m_pCurrentProgram(NULL)
@@ -68,6 +66,7 @@
     , m_bSeenPMT(FALSE)
     , m_ulFilesize(0)
     , m_bRawMode(bRawMode)
+    , m_bLossMode(bLossMode)
     , m_bUseRawDTS(FALSE)
     , m_u64FirstDTSBaseOffset(0)
 {
@@ -799,6 +798,16 @@
         {
             // ignore duplicate packet
         }
+        else if (m_bLossMode)
+        {
+            // XXXJDGTODO Add actual loss and out-of-order handling
+            HXLOGL3(HXLOG_MPTS, "Stream ID %hu expecting seq %hu, got %hu",
+                    pESStream->nStreamID, 
+                    (pESStream->uContinuityCounter + 1)&0xf,
+                    pTs_header->uContinuityCounter);
+
+            pESStream->uContinuityCounter = pTs_header->uContinuityCounter;
+        }
         else
         {
             HX_ASSERT(FALSE);
@@ -934,10 +943,6 @@
                 //find out where the new AU boundary is
                 BYTE* pNewAU = pESStream->pPayloadHandler->FindAU(pESStream->pESData \
                + pESStream->ulCurrentPESOffset, 
                                                  pESStream->ulBufferOffset - \
                pESStream->ulCurrentPESOffset);
-                if (!pNewAU)
-                {
-                    printf("%s: Cant find start code in PES with PTS/DTS\n", \
                __FUNCTION__);
-                }
 
                 if (pNewAU)
                 {


_______________________________________________
Datatype-cvs mailing list
Datatype-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/datatype-cvs


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic