diff options
Diffstat (limited to 'src/demuxers/demux_real.c')
-rw-r--r-- | src/demuxers/demux_real.c | 53 |
1 files changed, 12 insertions, 41 deletions
diff --git a/src/demuxers/demux_real.c b/src/demuxers/demux_real.c index 097da65e9..f40849e6a 100644 --- a/src/demuxers/demux_real.c +++ b/src/demuxers/demux_real.c @@ -28,7 +28,7 @@ * * Based on FFmpeg's libav/rm.c. * - * $Id: demux_real.c,v 1.36 2003/01/19 23:33:33 tmmm Exp $ + * $Id: demux_real.c,v 1.37 2003/01/23 16:12:13 miguelfreitas Exp $ */ #ifdef HAVE_CONFIG_H @@ -416,17 +416,9 @@ static void real_parse_headers (demux_real_t *this) { return; } - if (!strncmp (fourcc, "dnet", 4)) - this->audio_buf_type = BUF_AUDIO_DNET; - else if (!strncmp (fourcc, "sipr", 4)) - this->audio_buf_type = BUF_AUDIO_SIPRO; - else if (!strncmp (fourcc, "cook", 4)) - this->audio_buf_type = BUF_AUDIO_COOK; - else if (!strncmp (fourcc, "atrc", 4)) - this->audio_buf_type = BUF_AUDIO_ATRK; - else - this->audio_buf_type = 0; - + this->stream->stream_info[XINE_STREAM_INFO_AUDIO_FOURCC] = *(uint32_t *)fourcc; + this->audio_buf_type = formattag_to_buf_audio(*(uint32_t *)fourcc); + #ifdef LOG printf ("demux_real: audio codec, buf type %08x\n", this->audio_buf_type); @@ -468,37 +460,17 @@ static void real_parse_headers (demux_real_t *this) { #endif this->stream->stream_info[XINE_STREAM_INFO_VIDEO_BITRATE] = mdpr->avg_bit_rate; - /* if ( strncmp(video_fmt, "RV10", 4) == 0 ) { - this->video_stream_num = mdpr->stream_number; - this->video_buf_type = BUF_VIDEO_RV10; - this->stream->stream_info[XINE_STREAM_INFO_HAS_VIDEO] = 1; -#ifdef LOG - printf("demux_real: RV10 video detected\n"); -#endif - } else */ if ( strncmp(video_fmt, "RV20", 4) == 0 ) { - this->video_stream_num = mdpr->stream_number; - this->video_buf_type = BUF_VIDEO_RV20; - this->stream->stream_info[XINE_STREAM_INFO_HAS_VIDEO] = 1; -#ifdef LOG - printf("demux_real: RV20 video detected\n"); -#endif - } else if ( strncmp(video_fmt, "RV30", 4) == 0 ) { - this->video_stream_num = mdpr->stream_number; - this->video_buf_type = BUF_VIDEO_RV30; - this->stream->stream_info[XINE_STREAM_INFO_HAS_VIDEO] = 1; + this->stream->stream_info[XINE_STREAM_INFO_VIDEO_FOURCC] = *(uint32_t *)video_fmt; + + this->video_buf_type = fourcc_to_buf_video(*(uint32_t *)video_fmt); + + if( this->video_buf_type ) { -#ifdef LOG - printf("demux_real: RV30 video detected\n"); -#endif - } else if ( strncmp(video_fmt, "RV40", 4) == 0 ) { this->video_stream_num = mdpr->stream_number; - this->video_buf_type = BUF_VIDEO_RV40; this->stream->stream_info[XINE_STREAM_INFO_HAS_VIDEO] = 1; -#ifdef LOG - printf("demux_real: RV40 video detected\n"); -#endif } else { - fprintf(stderr, "demux_real: codec not recognized as video\n"); + printf("demux_real: video codec [%c%c%c%c] not recognized\n", + video_fmt[0],video_fmt[1],video_fmt[2],video_fmt[3]); } if ( this->stream->stream_info[XINE_STREAM_INFO_HAS_VIDEO] ) { @@ -1177,8 +1149,7 @@ static char *get_extensions (demux_class_t *this_gen) { } static char *get_mimetypes (demux_class_t *this_gen) { - return "audio/x-pn-realaudio: ra, rm, ram: Real Media File;" - "audio/x-realaudio: ra: Real Media File;"; + return "audio/x-pn-realaudio: ra, rm, ram: Real Media File;"; } static void class_dispose (demux_class_t *this_gen) { |