OSDN Git Service

RIO-7438: Add SetDuration capability in Base node.
authorPacketVideo CM <engbuild@pv.com>
Wed, 23 Sep 2009 23:24:29 +0000 (16:24 -0700)
committerPacketVideo CM <engbuild@pv.com>
Wed, 23 Sep 2009 23:24:29 +0000 (16:24 -0700)
engines/2way/src/pv_2way_sdkinfo.h
engines/author/src/pv_author_sdkinfo.h
engines/player/src/pv_player_sdkinfo.h
pvmi/pvmf/include/pvmf_node_interface_impl.h
pvmi/pvmf/src/pvmf_node_interface_impl.cpp

index 236d831..a4746ed 100644 (file)
@@ -21,7 +21,7 @@
 // This header file is automatically generated at build-time
 // *** OFFICIAL RELEASE INFO -- Will not auto update
 
-#define PV2WAY_ENGINE_SDKINFO_LABEL "968909"
-#define PV2WAY_ENGINE_SDKINFO_DATE 0x20090917
+#define PV2WAY_ENGINE_SDKINFO_LABEL "971436"
+#define PV2WAY_ENGINE_SDKINFO_DATE 0x20090918
 
 #endif //PV_2WAY_SDKINFO_H_INCLUDED
index f3b15ef..33fafbf 100644 (file)
@@ -21,7 +21,7 @@
 // This header file is automatically generated at build-time
 // *** OFFICIAL RELEASE INFO -- Will not auto update
 
-#define PVAUTHOR_ENGINE_SDKINFO_LABEL "968909"
-#define PVAUTHOR_ENGINE_SDKINFO_DATE 0x20090917
+#define PVAUTHOR_ENGINE_SDKINFO_LABEL "971436"
+#define PVAUTHOR_ENGINE_SDKINFO_DATE 0x20090918
 
 #endif //PV_AUTHOR_SDKINFO_H_INCLUDED
index 807dc4c..7c066f5 100644 (file)
@@ -21,7 +21,7 @@
 // This header file is automatically generated at build-time
 // *** OFFICIAL RELEASE INFO -- Will not auto update
 
-#define PVPLAYER_ENGINE_SDKINFO_LABEL "968909"
-#define PVPLAYER_ENGINE_SDKINFO_DATE 0x20090917
+#define PVPLAYER_ENGINE_SDKINFO_LABEL "971436"
+#define PVPLAYER_ENGINE_SDKINFO_DATE 0x20090918
 
 #endif //PV_PLAYER_SDKINFO_H_INCLUDED
index a2ca959..fcfba14 100644 (file)
@@ -67,6 +67,8 @@
 #define PVMF_BASE_NODE_DELETE(ptr) OSCL_DELETE(ptr)
 #define PVMF_BASE_NODE_ARRAY_DELETE(ptr) OSCL_ARRAY_DELETE(ptr)
 
+// Default value of media sample Duration
+#define PVMF_DEFAULT_TRACK_DURATION 0xFFFFFFFF
 
 /************************************** PVMFNODEINTERFACEIMPL ***********************************/
 
@@ -146,7 +148,7 @@ class PVMFNodeInterfaceImpl : public PVMFNodeInterface,
 
     protected:
         // protected routines
-        OSCL_IMPORT_REF bool SendEndOfTrackCommand(PVMFPortInterface* aPort, int32 aStreamID, PVMFTimestamp aTimestamp, int32 aSeqNum);
+        OSCL_IMPORT_REF bool SendEndOfTrackCommand(PVMFPortInterface* aPort, int32 aStreamID, PVMFTimestamp aTimestamp, int32 aSeqNum, uint32 aDuration = PVMF_DEFAULT_TRACK_DURATION);
         OSCL_IMPORT_REF bool SendBeginOfMediaStreamCommand(PVMFPortInterface* aPort, int32 aStreamID, PVMFTimestamp aTimestamp);
         OSCL_IMPORT_REF void CommandComplete(PVMFNodeCmdQ& aCmdQ, PVMFNodeCommand& aCmd, PVMFStatus aStatus,
                                              PVInterface* aExtMsg = NULL, OsclAny* aEventData = NULL, PVUuid* aEventUUID = NULL, int32* aEventCode = NULL);
index 1079a1e..6f33534 100644 (file)
@@ -455,7 +455,7 @@ OSCL_EXPORT_REF void PVMFNodeInterfaceImpl::ReportInfoEvent(PVMFAsyncEvent &aEve
     }
 }
 
-OSCL_EXPORT_REF bool PVMFNodeInterfaceImpl::SendEndOfTrackCommand(PVMFPortInterface* aPort, int32 aStreamID, PVMFTimestamp aTimestamp, int32 aSeqNum)
+OSCL_EXPORT_REF bool PVMFNodeInterfaceImpl::SendEndOfTrackCommand(PVMFPortInterface* aPort, int32 aStreamID, PVMFTimestamp aTimestamp, int32 aSeqNum, uint32 aDuration)
 {
     PVMF_NODEINTERFACE_IMPL_LOGSTACKTRACE((0, "%s::SendEndOfTrackCommand StreamID %d In", iNodeName.Str(), iStreamID));
 
@@ -469,6 +469,14 @@ OSCL_EXPORT_REF bool PVMFNodeInterfaceImpl::SendEndOfTrackCommand(PVMFPortInterf
     // set sequence number
     sharedMediaCmdPtr->setSeqNum(aSeqNum);
 
+    //EOS timestamp(aTrackPortInfo.iTimestamp)is considered while deciding the iResumeTimeStamp in the mediaoutput node
+    //therefore its length should also be considered while making decision to forward or drop the packet
+    //at the mediaoutput node.
+    if (PVMF_DEFAULT_TRACK_DURATION != aDuration)
+    {
+        sharedMediaCmdPtr->setDuration(aDuration);
+    }
+
     PVMFSharedMediaMsgPtr mediaMsgOut;
     convertToPVMFMediaCmdMsg(mediaMsgOut, sharedMediaCmdPtr);