>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