[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