changeset 10478:b0d0aa726417

Added support for the "L16" and "L8" (raw PCM audio) RTP payload formats.
author rsf
date Sun, 27 Jul 2003 10:16:14 +0000
parents c34185f47b62
children 316cb68fa616
files libmpdemux/demux_rtp_codec.cpp
diffstat 1 files changed, 14 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/libmpdemux/demux_rtp_codec.cpp	Sun Jul 27 10:15:10 2003 +0000
+++ b/libmpdemux/demux_rtp_codec.cpp	Sun Jul 27 10:16:14 2003 +0000
@@ -32,10 +32,11 @@
   // Map known video MIME types to the BITMAPINFOHEADER parameters
   // that this program uses.  (Note that not all types need all
   // of the parameters to be set.)
-  if (strcmp(subsession->codecName(), "MPV") == 0 ||
-      strcmp(subsession->codecName(), "MP1S") == 0 ||
-      strcmp(subsession->codecName(), "MP2T") == 0) {
+  if (strcmp(subsession->codecName(), "MPV") == 0) {
     flags |= RTPSTATE_IS_MPEG12_VIDEO;
+  } else if (strcmp(subsession->codecName(), "MP1S") == 0 ||
+	     strcmp(subsession->codecName(), "MP2T") == 0) {
+    flags |= RTPSTATE_IS_MPEG12_VIDEO|RTPSTATE_IS_MULTIPLEXED;
   } else if (strcmp(subsession->codecName(), "H263") == 0 ||
 	     strcmp(subsession->codecName(), "H263-1998") == 0) {
     bih->biCompression = sh_video->format
@@ -116,6 +117,16 @@
   } else if (strcmp(subsession->codecName(), "AC3") == 0) {
     wf->wFormatTag = sh_audio->format = 0x2000;
     wf->nSamplesPerSec = 0; // sample rate is deduced from the data
+  } else if (strcmp(subsession->codecName(), "L16") == 0) {
+    wf->wFormatTag = sh_audio->format = 0x736f7774; // "twos"
+    wf->nBlockAlign = 1;
+    wf->wBitsPerSample = 16;
+    wf->cbSize = 0;
+  } else if (strcmp(subsession->codecName(), "L8") == 0) {
+    wf->wFormatTag = sh_audio->format = 0x20776172; // "raw "
+    wf->nBlockAlign = 1;
+    wf->wBitsPerSample = 8;
+    wf->cbSize = 0;
   } else if (strcmp(subsession->codecName(), "PCMU") == 0) {
     wf->wFormatTag = sh_audio->format = 0x7;
     wf->nAvgBytesPerSec = 8000;