comparison rtpdec.c @ 6176:5708c6d4223d libavformat

RTSP: Decouple MPEG-4 and AAC specific parts from rtsp.c Patch by Josh Allmann, joshua dot allmann at gmail
author mstorsjo
date Fri, 25 Jun 2010 07:58:38 +0000
parents c5a3e1951fc6
children 7aca26f37b02
comparison
equal deleted inserted replaced
6175:0e737c9247fd 6176:5708c6d4223d
32 #include "rtpdec.h" 32 #include "rtpdec.h"
33 #include "rtpdec_amr.h" 33 #include "rtpdec_amr.h"
34 #include "rtpdec_asf.h" 34 #include "rtpdec_asf.h"
35 #include "rtpdec_h263.h" 35 #include "rtpdec_h263.h"
36 #include "rtpdec_h264.h" 36 #include "rtpdec_h264.h"
37 #include "rtpdec_mpeg4.h"
37 #include "rtpdec_xiph.h" 38 #include "rtpdec_xiph.h"
38 39
39 //#define DEBUG 40 //#define DEBUG
40 41
41 /* TODO: - add RTCP statistics reporting (should be optional). 42 /* TODO: - add RTCP statistics reporting (should be optional).
48 */ 49 */
49 50
50 /* statistics functions */ 51 /* statistics functions */
51 RTPDynamicProtocolHandler *RTPFirstDynamicPayloadHandler= NULL; 52 RTPDynamicProtocolHandler *RTPFirstDynamicPayloadHandler= NULL;
52 53
53 static RTPDynamicProtocolHandler mp4v_es_handler= {"MP4V-ES", AVMEDIA_TYPE_VIDEO, CODEC_ID_MPEG4};
54 static RTPDynamicProtocolHandler mpeg4_generic_handler= {"mpeg4-generic", AVMEDIA_TYPE_AUDIO, CODEC_ID_AAC};
55
56 void ff_register_dynamic_payload_handler(RTPDynamicProtocolHandler *handler) 54 void ff_register_dynamic_payload_handler(RTPDynamicProtocolHandler *handler)
57 { 55 {
58 handler->next= RTPFirstDynamicPayloadHandler; 56 handler->next= RTPFirstDynamicPayloadHandler;
59 RTPFirstDynamicPayloadHandler= handler; 57 RTPFirstDynamicPayloadHandler= handler;
60 } 58 }
61 59
62 void av_register_rtp_dynamic_payload_handlers(void) 60 void av_register_rtp_dynamic_payload_handlers(void)
63 { 61 {
64 ff_register_dynamic_payload_handler(&mp4v_es_handler); 62 ff_register_dynamic_payload_handler(&ff_mp4v_es_dynamic_handler);
65 ff_register_dynamic_payload_handler(&mpeg4_generic_handler); 63 ff_register_dynamic_payload_handler(&ff_mpeg4_generic_dynamic_handler);
66 ff_register_dynamic_payload_handler(&ff_amr_nb_dynamic_handler); 64 ff_register_dynamic_payload_handler(&ff_amr_nb_dynamic_handler);
67 ff_register_dynamic_payload_handler(&ff_amr_wb_dynamic_handler); 65 ff_register_dynamic_payload_handler(&ff_amr_wb_dynamic_handler);
68 ff_register_dynamic_payload_handler(&ff_h263_1998_dynamic_handler); 66 ff_register_dynamic_payload_handler(&ff_h263_1998_dynamic_handler);
69 ff_register_dynamic_payload_handler(&ff_h263_2000_dynamic_handler); 67 ff_register_dynamic_payload_handler(&ff_h263_2000_dynamic_handler);
70 ff_register_dynamic_payload_handler(&ff_h264_dynamic_handler); 68 ff_register_dynamic_payload_handler(&ff_h264_dynamic_handler);