[prev in list] [next in list] [prev in thread] [next in thread]
List: helix-server-cvs
Subject: [Server-cvs] datatype/common/pktskim h263skim.cpp,1.6,1.7
From: dsingh () helixcommunity ! org
Date: 2007-11-28 10:49:38
Message-ID: 200711281049.lASAnvPr016811 () mailer ! progressive-comp ! com
[Download RAW message or body]
Update of /cvsroot/server/datatype/common/pktskim
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv17736
Modified Files:
h263skim.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: h263skim.cpp
===================================================================
RCS file: /cvsroot/server/datatype/common/pktskim/h263skim.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- h263skim.cpp 15 Jul 2005 00:08:28 -0000 1.6
+++ h263skim.cpp 28 Nov 2007 10:49:35 -0000 1.7
@@ -145,6 +145,12 @@
ulPacketInfo |= SKIMINFO_PKT_FRAMESTART;
}
+ /* If marker bit is set, it is end of frame */
+ if ((pRTPHdr[1] >> 7) & 1)
+ {
+ ulPacketInfo |= SKIMINFO_PKT_FRAMEEND;
+ }
+
uiH263VBit = (pH263Hdr[0] >> 1) & 1;
uiH263PLen = ((pH263Hdr[0] & 1) << 5) | pH263Hdr[1] >> 3;
_______________________________________________
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