>We are trying to extract VOP coding type in client side from MPEG4
>streams in processSpecialHeader() function in MPEG4ESVideoRTPSource.cpp

No, you shouldn't do that there.  (In general, you can't expect any 
support once you've modified the supplied code.)  If you want to 
inspect (or modify) RTP payload data, then you should do so in the 
object that *reads from* your "MPEG4ESVideo RTPSource" object


>if(fCurrentPacketBeginsFrame){
>
>       if((packet->data())[3] == 0xB6){
>           unsigned char vop_coding_type = (packet->data())[4];
>           vop_coding_type = vop_coding_type>>6;
>         }
>   }
>
>We observed that vop_coding_type value is always 1 which is
>predictive-coded (P) type. The stream consists of both I and P frames.
>Are we missing anything in the above code.

Yes, you're missing the fact that the RTP packet payload doesn't 
always begin with a VOP.  It usually always *contains* a VOP, but 
sometimes begins with a VISUAL_OBJECT_SEQUENCE, GROUP_VOP, and/or 
VISUAL_OBJECT first.  (This is especially true when the VOP is an 
I-frame.)
-- 

Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to