* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+/* needed for gethostname() */
+#define _XOPEN_SOURCE 500
+
#include "libavcodec/bitstream.h"
#include "avformat.h"
#include "mpegts.h"
static RTPDynamicProtocolHandler mp4v_es_handler= {"MP4V-ES", CODEC_TYPE_VIDEO, CODEC_ID_MPEG4};
static RTPDynamicProtocolHandler mpeg4_generic_handler= {"mpeg4-generic", CODEC_TYPE_AUDIO, CODEC_ID_AAC};
-static void register_dynamic_payload_handler(RTPDynamicProtocolHandler *handler)
+void ff_register_dynamic_payload_handler(RTPDynamicProtocolHandler *handler)
{
handler->next= RTPFirstDynamicPayloadHandler;
RTPFirstDynamicPayloadHandler= handler;
void av_register_rtp_dynamic_payload_handlers(void)
{
- register_dynamic_payload_handler(&mp4v_es_handler);
- register_dynamic_payload_handler(&mpeg4_generic_handler);
- register_dynamic_payload_handler(&ff_h264_dynamic_handler);
+ ff_register_dynamic_payload_handler(&mp4v_es_handler);
+ ff_register_dynamic_payload_handler(&mpeg4_generic_handler);
+ ff_register_dynamic_payload_handler(&ff_h264_dynamic_handler);
}
static int rtcp_parse_packet(RTPDemuxContext *s, const unsigned char *buf, int len)
s->st = st;
s->rtp_payload_data = rtp_payload_data;
rtp_init_statistics(&s->statistics, 0); // do we know the initial sequence from sdp?
- av_set_pts_info(s->st, 32, 1, 90000);
if (!strcmp(ff_rtp_enc_name(payload_type), "MP2T")) {
s->ts = mpegts_parse_open(s->ic);
if (s->ts == NULL) {
return NULL;
}
} else {
+ av_set_pts_info(st, 32, 1, 90000);
switch(st->codec->codec_id) {
case CODEC_ID_MPEG1VIDEO:
case CODEC_ID_MPEG2VIDEO: