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

List:       helix-server-cvs
Subject:    [Server-cvs] engine/core source_container.cpp,1.7.2.1,1.7.2.2
From:       skharkar () helixcommunity ! org
Date:       2011-09-26 19:37:57
Message-ID: 201109262033.p8QKXUQ7006596 () mailer ! progressive-comp ! com
[Download RAW message or body]

Update of /cvsroot/server/engine/core
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv8889

Modified Files:
      Tag: SERVER_14_2
	source_container.cpp 
Log Message:
Synopsis
========
This CR contains bug fixes for live&pause feature.
Reviewer: Chytanya
 
Branches: HEAD,SERVER_14_2
 
Description
===========
Fixes
Bug 269815:Live Pause: Switching from live to backup file fails when live source has \
compatible but more number of streams than backup file  Bug 269813:Live Pause: \
Switching from live source to backup file fails when backup file is created from \
mux'ing individual streams using mp4box Bitrate in archieved file was wrong when file \
has a editlist with delay in start of track. Bitrate calculations were using duration \
of delay in addition of samples in calculating bitrate. Modified mp4writer to add \
property named "TrackOffset" to stream header to indicate the track offset.  Modified \
the hinter to reduce duration by Trackoffset if present.

Fixes or disable RSD for live multiplexed Stream.
For multiplexed live stream we had RSD on, this was resulting in plugin sending video \
from last keyframe, along with current audio to archiever. To disable RSD. \
IHXPSinkInfo2 interface is modified to support new method IsRSDSupported. CLiveSink \
supports new interface.  SourceContainer queries for this interface and if it present \
then will call Set m_bHandledRSDQueue = !pSinkInfo2->IsRSDSupported(). 

Fixes Stream match to look at SDP Parameters for Audio Stream.
If stream is a audio stream, stream matching function will check if SDP Parameters \
match, this ensures that channels and SBR is matched. Following SDP parameters are \
matched profile-level-id,object,config and SBR-enabled.

Files affected
===============
datatype/mp4/filewriter/mp4sm.cpp
datatype_rn/mp4/filewriter/hinting/chxhintgen.cpp
server/include/sink.h
server_rn/datatype/mpeg2ts/streamhandler.cpp
server_rn/datatype/mpeg2ts/pub/streamhandler.h
server/engine/core/source_container.cpp
server-restricted/broadcast/app/multiplexer/pub/livesink.h
server-restricted/broadcast/app/multiplexer/livesink.cpp
server-restricted/broadcast/app/multiplexer/pub/livemultiplexer.h
server-restricted/broadcast/app/multiplexer/livemultiplexer.cpp

Tested
======
Tested with producing archieve file from multiplexer session.
Confirmed that 48k mono and 48k streeo don't match.

QA hints
=========
Test mono and stereo with other encoding parameters as same.
Test AAC and AAC+ with other encoding parameters as same.

Index: source_container.cpp
===================================================================
RCS file: /cvsroot/server/engine/core/source_container.cpp,v
retrieving revision 1.7.2.1
retrieving revision 1.7.2.2
diff -u -d -r1.7.2.1 -r1.7.2.2
--- source_container.cpp	11 Sep 2011 09:55:00 -0000	1.7.2.1
+++ source_container.cpp	26 Sep 2011 19:37:54 -0000	1.7.2.2
@@ -138,6 +138,17 @@
 
     h_result = pUnknown->QueryInterface(IID_IHXRawSinkObject,
                                         (void**)&pSink);
+    if (SUCCEEDED(h_result))
+    {
+        IHXPSinkInfo2* pSinkInfo2 = NULL;
+
+        if (HXR_OK == pSink->QueryInterface(IID_IHXPSinkInfo2, (void**)&pSinkInfo2))
+        {
+            m_bHandledRSDQueue = !pSinkInfo2->IsRSDSupported();
+        }
+
+        HX_RELEASE(pSinkInfo2);
+    }
 
     if (HXR_OK == h_result)
     {


_______________________________________________
Server-cvs mailing list
Server-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/server-cvs


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

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