Zebediah Figura : winegstreamer: Get rid of the AudioConvert filter.
Alexandre Julliard
julliard at winehq.org
Tue Jan 28 15:35:25 CST 2020
Module: wine
Branch: master
Commit: 943b6564f5b2a285f9964f1d1c0743340b2f0bd4
URL: https://source.winehq.org/git/wine.git/?a=commit;h=943b6564f5b2a285f9964f1d1c0743340b2f0bd4
Author: Zebediah Figura <z.figura12 at gmail.com>
Date: Mon Jan 27 19:06:57 2020 -0600
winegstreamer: Get rid of the AudioConvert filter.
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/winegstreamer/gst_guids.h | 1 -
dlls/winegstreamer/gst_private.h | 1 -
dlls/winegstreamer/gsttffilter.c | 120 ---------------------------------------
dlls/winegstreamer/main.c | 35 ------------
4 files changed, 157 deletions(-)
diff --git a/dlls/winegstreamer/gst_guids.h b/dlls/winegstreamer/gst_guids.h
index fe7b65e445..e50ecb4851 100644
--- a/dlls/winegstreamer/gst_guids.h
+++ b/dlls/winegstreamer/gst_guids.h
@@ -19,7 +19,6 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
-DEFINE_GUID(CLSID_Gstreamer_AudioConvert, 0x334b2ec9, 0xf2b5, 0x40b9, 0x84, 0x32, 0x4a, 0x00, 0xe0, 0x03, 0x86, 0xa8);
DEFINE_GUID(CLSID_Gstreamer_Mp3, 0x728dcf55, 0x128f, 0x4dd1, 0xad, 0x22, 0xbe, 0xcf, 0xa6, 0x6c, 0xe7, 0xaa);
DEFINE_GUID(CLSID_Gstreamer_Splitter, 0xf9d8d64e, 0xa144, 0x47dc, 0x8e, 0xe0, 0xf5, 0x34, 0x98, 0x37, 0x2c, 0x29);
DEFINE_GUID(WINESUBTYPE_Gstreamer, 0xffffffff, 0x128f, 0x4dd1, 0xad, 0x22, 0xbe, 0xcf, 0xa6, 0x6c, 0xe7, 0xaa);
diff --git a/dlls/winegstreamer/gst_private.h b/dlls/winegstreamer/gst_private.h
index 37b19ea626..7108a32e40 100644
--- a/dlls/winegstreamer/gst_private.h
+++ b/dlls/winegstreamer/gst_private.h
@@ -37,7 +37,6 @@
IUnknown * CALLBACK avi_splitter_create(IUnknown *outer, HRESULT *phr) DECLSPEC_HIDDEN;
IUnknown * CALLBACK mpeg_splitter_create(IUnknown *outer, HRESULT *phr) DECLSPEC_HIDDEN;
-IUnknown * CALLBACK Gstreamer_AudioConvert_create(IUnknown *pUnkOuter, HRESULT *phr);
IUnknown * CALLBACK Gstreamer_Mp3_create(IUnknown *pUnkOuter, HRESULT *phr);
IUnknown * CALLBACK Gstreamer_Splitter_create(IUnknown *pUnkOuter, HRESULT *phr);
IUnknown * CALLBACK wave_parser_create(IUnknown *outer, HRESULT *phr) DECLSPEC_HIDDEN;
diff --git a/dlls/winegstreamer/gsttffilter.c b/dlls/winegstreamer/gsttffilter.c
index 5d1a98b0f5..21feefe09d 100644
--- a/dlls/winegstreamer/gsttffilter.c
+++ b/dlls/winegstreamer/gsttffilter.c
@@ -626,123 +626,3 @@ IUnknown * CALLBACK Gstreamer_Mp3_create(IUnknown *punkouter, HRESULT *phr)
return obj;
}
-
-static HRESULT WINAPI Gstreamer_AudioConvert_QueryConnect(TransformFilter *iface, const AM_MEDIA_TYPE *amt)
-{
- GstTfImpl *This = (GstTfImpl*)iface;
- TRACE("%p %p\n", This, amt);
-
- if (!IsEqualGUID(&amt->majortype, &MEDIATYPE_Audio) ||
- !IsEqualGUID(&amt->subtype, &MEDIASUBTYPE_PCM) ||
- !IsEqualGUID(&amt->formattype, &FORMAT_WaveFormatEx))
- return S_FALSE;
- return S_OK;
-}
-
-static HRESULT audio_converter_connect_sink(TransformFilter *tf, const AM_MEDIA_TYPE *amt)
-{
- GstTfImpl *This = (GstTfImpl*)tf;
- GstCaps *capsin, *capsout;
- AM_MEDIA_TYPE *outpmt = &This->tf.pmt;
- WAVEFORMATEX *inwfe;
- WAVEFORMATEX *outwfe;
- WAVEFORMATEXTENSIBLE *outwfx;
- GstAudioFormat format;
- HRESULT hr;
- BOOL inisfloat = FALSE;
- int indepth;
-
- mark_wine_thread();
-
- if (Gstreamer_AudioConvert_QueryConnect(&This->tf, amt) == S_FALSE || !amt->pbFormat)
- return E_FAIL;
-
- FreeMediaType(outpmt);
- *outpmt = *amt;
- outpmt->pUnk = NULL;
- outpmt->cbFormat = sizeof(WAVEFORMATEXTENSIBLE);
- outpmt->pbFormat = CoTaskMemAlloc(outpmt->cbFormat);
-
- inwfe = (WAVEFORMATEX*)amt->pbFormat;
- indepth = inwfe->wBitsPerSample;
- if (inwfe->wFormatTag == WAVE_FORMAT_EXTENSIBLE) {
- WAVEFORMATEXTENSIBLE *inwfx = (WAVEFORMATEXTENSIBLE*)inwfe;
- inisfloat = IsEqualGUID(&inwfx->SubFormat, &KSDATAFORMAT_SUBTYPE_IEEE_FLOAT);
- if (inwfx->Samples.wValidBitsPerSample)
- indepth = inwfx->Samples.wValidBitsPerSample;
- } else if (inwfe->wFormatTag == WAVE_FORMAT_IEEE_FLOAT)
- inisfloat = TRUE;
-
- if (inisfloat)
- format = inwfe->wBitsPerSample == 64 ? GST_AUDIO_FORMAT_F64LE : GST_AUDIO_FORMAT_F32LE;
- else
- format = gst_audio_format_build_integer(inwfe->wBitsPerSample != 8, G_LITTLE_ENDIAN,
- inwfe->wBitsPerSample, indepth);
-
- capsin = gst_caps_new_simple("audio/x-raw",
- "format", G_TYPE_STRING, gst_audio_format_to_string(format),
- "channels", G_TYPE_INT, inwfe->nChannels,
- "rate", G_TYPE_INT, inwfe->nSamplesPerSec,
- NULL);
-
- outwfe = (WAVEFORMATEX*)outpmt->pbFormat;
- outwfx = (WAVEFORMATEXTENSIBLE*)outwfe;
- outwfe->wFormatTag = WAVE_FORMAT_EXTENSIBLE;
- outwfe->nChannels = 2;
- outwfe->nSamplesPerSec = inwfe->nSamplesPerSec;
- outwfe->wBitsPerSample = 16;
- outwfe->nBlockAlign = outwfe->nChannels * outwfe->wBitsPerSample / 8;
- outwfe->nAvgBytesPerSec = outwfe->nBlockAlign * outwfe->nSamplesPerSec;
- outwfe->cbSize = sizeof(*outwfx) - sizeof(*outwfe);
- outwfx->Samples.wValidBitsPerSample = outwfe->wBitsPerSample;
- outwfx->dwChannelMask = SPEAKER_FRONT_LEFT|SPEAKER_FRONT_RIGHT;
- outwfx->SubFormat = KSDATAFORMAT_SUBTYPE_PCM;
-
- capsout = gst_caps_new_simple("audio/x-raw",
- "format", G_TYPE_STRING, "S16LE",
- "channels", G_TYPE_INT, outwfe->nChannels,
- "rate", G_TYPE_INT, outwfe->nSamplesPerSec,
- NULL);
-
-
- hr = Gstreamer_transform_ConnectInput(This, amt, capsin, capsout);
- gst_caps_unref(capsin);
- gst_caps_unref(capsout);
-
- This->cbBuffer = inwfe->nAvgBytesPerSec;
- return hr;
-}
-
-static const TransformFilterFuncTable Gstreamer_AudioConvert_vtbl = {
- .pfnDecideBufferSize = Gstreamer_transform_DecideBufferSize,
- .pfnStartStreaming = Gstreamer_transform_ProcessBegin,
- .pfnReceive = Gstreamer_transform_ProcessData,
- .pfnStopStreaming = Gstreamer_transform_ProcessEnd,
- .pfnCheckInputType = Gstreamer_AudioConvert_QueryConnect,
- .transform_connect_sink = audio_converter_connect_sink,
- .pfnBreakConnect = Gstreamer_transform_Cleanup,
- .pfnEndOfStream = Gstreamer_transform_EndOfStream,
- .pfnBeginFlush = Gstreamer_transform_BeginFlush,
- .pfnEndFlush = Gstreamer_transform_EndFlush,
- .pfnNewSegment = Gstreamer_transform_NewSegment,
- .pfnNotify = Gstreamer_transform_QOS,
-};
-
-IUnknown * CALLBACK Gstreamer_AudioConvert_create(IUnknown *punkouter, HRESULT *phr)
-{
- IUnknown *obj = NULL;
-
- TRACE("%p %p\n", punkouter, phr);
-
- if (!init_gstreamer())
- {
- *phr = E_FAIL;
- return NULL;
- }
-
- *phr = Gstreamer_transform_create(punkouter, &CLSID_Gstreamer_AudioConvert, "audioconvert", &Gstreamer_AudioConvert_vtbl, (LPVOID*)&obj);
-
- TRACE("returning %p\n", obj);
-
- return obj;
-}
diff --git a/dlls/winegstreamer/main.c b/dlls/winegstreamer/main.c
index cdc3ba0ddc..3e0ef28afb 100644
--- a/dlls/winegstreamer/main.c
+++ b/dlls/winegstreamer/main.c
@@ -40,8 +40,6 @@ static const WCHAR wGstreamer_Splitter[] =
{'G','S','t','r','e','a','m','e','r',' ','s','p','l','i','t','t','e','r',' ','f','i','l','t','e','r',0};
static const WCHAR wGstreamer_Mp3[] =
{'G','S','t','r','e','a','m','e','r',' ','M','p','3',' ','f','i','l','t','e','r',0};
-static const WCHAR wGstreamer_AudioConvert[] =
-{'G','S','t','r','e','a','m','e','r',' ','A','u','d','i','o','C','o','n','v','e','r','t',' ','f','i','l','t','e','r',0};
static const WCHAR wave_parserW[] =
{'W','a','v','e',' ','P','a','r','s','e','r',0};
static const WCHAR avi_splitterW[] =
@@ -122,32 +120,6 @@ AMOVIESETUP_FILTER const amfMp3 =
amfMp3Pin
};
-AMOVIESETUP_PIN amfAudioConvertPin[] =
-{ { wNull,
- FALSE, FALSE, FALSE, FALSE,
- &GUID_NULL,
- NULL,
- 1,
- amfMTaudio
- },
- {
- wNull,
- FALSE, TRUE, FALSE, FALSE,
- &GUID_NULL,
- NULL,
- 1,
- amfMTaudio
- },
-};
-
-AMOVIESETUP_FILTER const amfAudioConvert =
-{ &CLSID_Gstreamer_AudioConvert,
- wGstreamer_AudioConvert,
- MERIT_UNLIKELY,
- 2,
- amfAudioConvertPin
-};
-
static const AMOVIESETUP_MEDIATYPE wave_parser_sink_type_data[] =
{
{&MEDIATYPE_Stream, &MEDIASUBTYPE_WAVE},
@@ -295,13 +267,6 @@ FactoryTemplate const g_Templates[] = {
NULL,
&amfMp3,
},
- {
- wGstreamer_AudioConvert,
- &CLSID_Gstreamer_AudioConvert,
- Gstreamer_AudioConvert_create,
- NULL,
- &amfAudioConvert,
- },
{
wave_parserW,
&CLSID_WAVEParser,
More information about the wine-cvs
mailing list