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

List:       helix-datatype-cvs
Subject:    [Datatype-cvs] mp4/fileformat libumakefil, 1.15, 1.16 qtffplin.cpp,
From:       dcollins () helixcommunity ! org
Date:       2007-05-25 18:30:59
Message-ID: 200705251831.l4PIVIJx005844 () mailer ! progressive-comp ! com
[Download RAW message or body]

Update of /cvsroot/datatype/mp4/fileformat
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv24768/fileformat

Modified Files:
	libumakefil qtffplin.cpp 
Log Message:
Synopsis
========                                                                              \
Fixes mp4 fileformat packetizers for the HEAD Helix Server.

Branches: HEAD *only*
Reviewed By: Milko, Jamie, server-dev


Description
===========

The HEAD mp4 fileformat plugin is using the client packetizers which
are not meant for use in the the server, causing problems.

These changes result in mp4 server delivery functioning as expected
for supported unhinted datatypes from Public, Plus, Restricted (not yet
checked in) and Private servers (the Public DNA and Plus servers require
a new hlx_license.lic file as well, not part of this CR).


Files Affected
==============
datatype/mp4/fileformat/libumakefil
datatype/mp4/fileformat/qtffplin.cpp


Testing Performed
=================
Unit Tests:
- None

Integration Tests:
- Played several clips before/after these changes using Public, Restricted
  and Private builds of the server and plugins.  Added printfs and
  monitored the server's access log to see that after the changes the
  correct packetiers were being called and the right mime types were
  being reported, indicating the right packetizers were being used
  (now reports "audio/AMR-WB" rather than "audio/X-RN-3GPP-AMR-WB").

Leak Tests:
- None

Performance Tests:
- None

Platforms Tested: linux-rhel4-i686 
Build verified: linux-rhel4-i686 sunos-5.10-sparc win32-i386-vc7


QA Hints
===============

* Few content types were tested, a broader MP4 test sweep is appropriate.
* Monitor the server's rmaccess.log, if you see any X-RN- mime types for
  supported files, the wrong packetizers are being used.





Index: libumakefil
===================================================================
RCS file: /cvsroot/datatype/mp4/fileformat/libumakefil,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- libumakefil	11 Jan 2006 07:42:17 -0000	1.15
+++ libumakefil	25 May 2007 18:30:52 -0000	1.16
@@ -85,6 +85,12 @@
 #   project.AddDefines("QTFORCE_AVG_BITRATE_DELIVERY")
     project.AddDefines("QTCONFIG_AUDIO_PACKETIZER")
     project.AddDefines("QTCONFIG_VIDEO_PACKETIZER")
+    project.AddDefines("QTCONFIG_PACKETIZE_LATM")
+    project.AddDefines("QTCONFIG_PACKETIZE_H263")
+    project.AddDefines("QTCONFIG_PACKETIZE_MP4V")
+    project.AddDefines("QTCONFIG_PACKETIZE_AMR_NB")
+    project.AddDefines("QTCONFIG_PACKETIZE_AMR_WB")
+    project.AddDefines("QTCONFIG_PACKETIZE_CHECKLICENSE")
     project.AddDefines("QTCONFIG_LEGACY_ALTERNATE_STREAMS")
     project.AddDefines("QTCONFIG_ALTERNATE_STREAMS")
     project.AddDefines("QTCONFIG_SWITCHABLE_STREAMS")
@@ -146,6 +152,22 @@
 
 project.AddIncludes(".")
 
+# packetizers
+if project.IsDefined("QTCONFIG_PACKETIZE_LATM") or \
project.IsDefined("QTCONFIG_PACKETIZE_MP4V"): +    \
project.AddModuleLibraries("datatype/mp4/payload[mp4pyldlib]") +
+if project.IsDefined("QTCONFIG_PACKETIZE_H263"):
+    project.AddModuleLibraries( "datatype/h263/payload[h263pyldlib]")
+
+if project.IsDefined("QTCONFIG_PACKETIZE_AMR_NB") or \
+    project.IsDefined("QTCONFIG_PACKETIZE_AMR_WB"):
+    project.AddModuleLibraries( "datatype/amr/payload[amrpyldlib]",
+                                "datatype/amr/common[amrcomlib]")
+
+if project.IsDefined("QTCONFIG_PACKETIZE_CHECKLICENSE"):
+    project.AddModuleLibraries("datatype/common/packetizer[packetizerutil]")
+
+
 project.AddSources( 'qtbatom.cpp',
 		    'qtatoms.cpp',
 		    'atomizer.cpp',

Index: qtffplin.cpp
===================================================================
RCS file: /cvsroot/datatype/mp4/fileformat/qtffplin.cpp,v
retrieving revision 1.59
retrieving revision 1.60
diff -u -d -r1.59 -r1.60
--- qtffplin.cpp	16 Apr 2007 14:50:59 -0000	1.59
+++ qtffplin.cpp	25 May 2007 18:30:52 -0000	1.60
@@ -1555,7 +1555,23 @@
 HX_RESULT CQTFileFormat::GetSessionIdentity(IHXValues* pHeader,
 					    CQT_MovieInfo_Manager* pMovieInfo)
 {
-    return HXR_OK;
+    HX_RESULT retVal = HXR_OK;
+
+#ifdef QTCONFIG_HINTTRACKS
+    // Set SDP Header
+    if (SUCCEEDED(retVal) && (m_MovieInfo.GetSDPLength() > 0))
+    {
+        retVal = SDPParseChunk(
+                    (char*) m_MovieInfo.GetSDP(),
+                    m_MovieInfo.GetSDPLength(),
+                    pHeader,
+                    m_pClassFactory,
+                    SDPCTX_Session,
+                    TRUE);
+    }
+#endif  // QTCONFIG_HINTTRACKS
+
+    return retVal;
 }
 
 /************************************************************************


_______________________________________________
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