Maarten Lankhorst : winegstreamer: Use WAVE_FORMAT_PCM when possible for demux.

Alexandre Julliard julliard at winehq.org
Wed Sep 14 12:25:41 CDT 2011


Module: wine
Branch: master
Commit: 6df92c11cabfd7d8c1289afe81442c7cb7669d03
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=6df92c11cabfd7d8c1289afe81442c7cb7669d03

Author: Maarten Lankhorst <m.b.lankhorst at gmail.com>
Date:   Tue Sep 13 15:32:31 2011 +0200

winegstreamer: Use WAVE_FORMAT_PCM when possible for demux.

---

 dlls/winegstreamer/gstdemux.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/dlls/winegstreamer/gstdemux.c b/dlls/winegstreamer/gstdemux.c
index 6670d6b..655a9f2 100644
--- a/dlls/winegstreamer/gstdemux.c
+++ b/dlls/winegstreamer/gstdemux.c
@@ -147,8 +147,13 @@ static int amt_from_gst_caps_audio(GstCaps *caps, AM_MEDIA_TYPE *amt) {
     if (!strcmp(typename, "audio/x-raw-float")) {
         wfe->SubFormat = KSDATAFORMAT_SUBTYPE_IEEE_FLOAT;
         wfx->wBitsPerSample = wfe->Samples.wValidBitsPerSample = 32;
-    } else
+    } else {
         wfe->SubFormat = KSDATAFORMAT_SUBTYPE_PCM;
+        if (wfx->nChannels <= 2 && bpp <= 16 && depth == bpp)  {
+            wfx->wFormatTag = WAVE_FORMAT_PCM;
+            wfx->cbSize = 0;
+        }
+    }
     wfx->nBlockAlign = wfx->nChannels * wfx->wBitsPerSample/8;
     wfx->nAvgBytesPerSec = wfx->nSamplesPerSec * wfx->nBlockAlign;
     return 1;




More information about the wine-cvs mailing list