[MPlayer-dev-eng] [PATCH] Support for MPEG-4 (AAC) audio RTSP/RTP

Ross Finlayson finlayson at live.com
Sat Jan 18 09:21:01 CET 2003


>Looks like the function "parseStreamMuxConfigStr" is a new function
>from you library!
>If so, could you please add a #ifdef LIVE_VERSION stuff around your
>code to keep some backward compatibility with older LIVE lib version.

Good idea.  Here's the amended patch.

         Ross.
-------------- next part --------------
Index: libmpdemux/demux_rtp.cpp
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_rtp.cpp,v
retrieving revision 1.8
diff -u -r1.8 demux_rtp.cpp
--- libmpdemux/demux_rtp.cpp	6 Dec 2002 09:41:13 -0000	1.8
+++ libmpdemux/demux_rtp.cpp	18 Jan 2003 08:02:42 -0000
@@ -247,6 +247,23 @@
 	    wf->nBlockAlign = 33;
 	    wf->wBitsPerSample = 16;
 	    wf->cbSize = 0;
+	  } else if (strcmp(subsession->codecName(), "MP4A-LATM") == 0) {
+	    wf->wFormatTag = sh_audio->format = mmioFOURCC('m','p','4','a');
+#ifndef HAVE_FAAD
+	    fprintf(stderr, "WARNING: Playing MPEG-4 (AAC) Audio requires the \"faad\" library!\n");
+#endif
+#if (LIVEMEDIA_LIBRARY_VERSION_INT < 1042761600)
+	    fprintf(stderr, "WARNING: This audio stream might not play correctly.  Please upgrade to version \"2003.01.17\" or later of the \"LIVE.COM Streaming Media\" libraries.\n");
+#else
+	    // For the codec to work correctly, it needs "AudioSpecificConfig"
+	    // data, which is parsed from the "StreamMuxConfig" string that
+	    // was present (hopefully) in the SDP description:
+	    unsigned codecdata_len;
+	    sh_audio->codecdata
+	      = parseStreamMuxConfigStr(subsession->fmtp_config(),
+					codecdata_len);
+	    sh_audio->codecdata_len = codecdata_len;
+#endif
 	  } else {
 	    fprintf(stderr,
 		    "Unknown mplayer format code for MIME type \"audio/%s\"\n",


More information about the MPlayer-dev-eng mailing list