[prev in list] [next in list] [prev in thread] [next in thread]
List: helix-server-cvs
Subject: [Server-cvs] datatype/common/pktskim mp4skim.cpp,1.10,1.10.26.1
From: dsingh () helixcommunity ! org
Date: 2007-11-28 11:03:54
Message-ID: 200711281104.lASB420h017911 () mailer ! progressive-comp ! com
[Download RAW message or body]
Update of /cvsroot/server/datatype/common/pktskim
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv1753
Modified Files:
Tag: SERVER_12
mp4skim.cpp
Log Message:
Synopsis
========
This CR includes changes in end-of-Frame marking in packet info and HX_ASM_SWITCH_OFF \
handling for RTP live.
Branch: HEAD
Suggested Reviewers: Jamie Gordon
Description
===========
Frame end was decided purely on the basis of marker bit in the rtp header. But it \
should be decided depending on the payload type of each of the datatype(H.263,H.264, \
MPEG-4). The SKIMINFO_PKT_FRAMEEND bit was being set into packet info purely on the \
bases of marker bit for all of the datatypes in function \
PacketSkimmer::GetRTPPacketInfo(). All the packet skimmer classes for datatypes \
H.263, H.264 and MPEG-4 are derived from class PacketSkimmer.
Fix1:
The setting of SKIMINFO_PKT_FRAMEEND bit into packet info flag is now removed and \
being handeled in respective drived classes only based on payload types as given in \
respective RTP payload format RFCs. The changes are made in packet skimmer classes of \
H.263 and mpeg4 video only, H.264 was already having that.
Fix2:
The HX_ASM_SWITCH_OFF bit in ASMFlags was being set unconditionaly.
Now this bit will be set if SKIMINFO_PKT_FRAMEEND bit is set in packet info flag.
After Fix2, the assertion "HX_ASSERT(pPacket->GetASMFlags())" at line 583 in file \
rtp_base.cpp starts failing. The reason is, because previously the HX_ASM_SWITCH_OFF \
bit in ASMFlags was being set unconditinaly, and the value of ASMFlags could never be \
zero, but now this is not the case. So the said assertion is removed.
Files Affected
==============
server\datatype\common\pktskim\skimbase.cpp
server\datatype\common\pktskim\h263skim.cpp
server\datatype\common\pktskim\mp4skim.cpp
server\broadcast\transport\rtp\recv\qtstream.cpp
server\protocol\transport\rtp\rtp_base.cpp
Testing Performed
=================
Unit Tests:
-None
Integration Tests:
- Verified playing H.263, H.264 and MPEG-4 video streams on rtp live.
Leak Tests:
- None
Performance Tests:
- None
Build verified: win32-i386-vc7.
Platforms Tested: win32-i386-vc7.
QA Hints
========
-None
Regards
-Dalvinder
Index: mp4skim.cpp
===================================================================
RCS file: /cvsroot/server/datatype/common/pktskim/mp4skim.cpp,v
retrieving revision 1.10
retrieving revision 1.10.26.1
diff -u -d -r1.10 -r1.10.26.1
--- mp4skim.cpp 15 Jul 2005 00:08:28 -0000 1.10
+++ mp4skim.cpp 28 Nov 2007 11:03:23 -0000 1.10.26.1
@@ -95,6 +95,12 @@
// rtp marker bit
uiRTPMarker = ((pRTPHdr[1] >> 7) & 0x01);
+ /* If marker bit is set, there can be multiple VOPs in the RTP packet
+ ** or this is the last RTP packet of a VOP */
+ if (uiRTPMarker)
+ {
+ ulPacketInfo |= SKIMINFO_PKT_FRAMEEND;
+ }
// scan the mp4 data to find start code prefix (0x00, 0x00, 0x01)
_______________________________________________
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