Anton Baskanov : amstream: Store parent as struct audio_stream in audio stream sample.
Alexandre Julliard
julliard at winehq.org
Wed Apr 22 15:29:26 CDT 2020
Module: wine
Branch: master
Commit: e7f0917665531d016d9b17cec89d8b59d6723def
URL: https://source.winehq.org/git/wine.git/?a=commit;h=e7f0917665531d016d9b17cec89d8b59d6723def
Author: Anton Baskanov <baskanov at gmail.com>
Date: Wed Apr 22 02:30:06 2020 +0700
amstream: Store parent as struct audio_stream in audio stream sample.
Signed-off-by: Anton Baskanov <baskanov at gmail.com>
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/amstream/audiostream.c | 50 ++++++++++++++++++++++-----------------------
1 file changed, 25 insertions(+), 25 deletions(-)
diff --git a/dlls/amstream/audiostream.c b/dlls/amstream/audiostream.c
index 4e34b2549e..90c177d177 100644
--- a/dlls/amstream/audiostream.c
+++ b/dlls/amstream/audiostream.c
@@ -27,10 +27,31 @@ WINE_DEFAULT_DEBUG_CHANNEL(amstream);
static const WCHAR sink_id[] = L"I{A35FF56B-9FDA-11D0-8FDF-00C04FD9189D}";
+struct audio_stream
+{
+ IAMMediaStream IAMMediaStream_iface;
+ IAudioMediaStream IAudioMediaStream_iface;
+ IMemInputPin IMemInputPin_iface;
+ IPin IPin_iface;
+ LONG ref;
+
+ IMultiMediaStream* parent;
+ MSPID purpose_id;
+ STREAM_TYPE stream_type;
+ CRITICAL_SECTION cs;
+ IMediaStreamFilter *filter;
+
+ IPin *peer;
+ IMemAllocator *allocator;
+ AM_MEDIA_TYPE mt;
+ WAVEFORMATEX format;
+ FILTER_STATE state;
+};
+
typedef struct {
IAudioStreamSample IAudioStreamSample_iface;
LONG ref;
- IMediaStream *parent;
+ struct audio_stream *parent;
IAudioData *audio_data;
} IAudioStreamSampleImpl;
@@ -146,7 +167,7 @@ static const struct IAudioStreamSampleVtbl AudioStreamSample_Vtbl =
IAudioStreamSampleImpl_GetAudioData
};
-static HRESULT audiostreamsample_create(IAudioMediaStream *parent, IAudioData *audio_data, IAudioStreamSample **audio_stream_sample)
+static HRESULT audiostreamsample_create(struct audio_stream *parent, IAudioData *audio_data, IAudioStreamSample **audio_stream_sample)
{
IAudioStreamSampleImpl *object;
@@ -158,7 +179,7 @@ static HRESULT audiostreamsample_create(IAudioMediaStream *parent, IAudioData *a
object->IAudioStreamSample_iface.lpVtbl = &AudioStreamSample_Vtbl;
object->ref = 1;
- object->parent = (IMediaStream*)parent;
+ object->parent = parent;
object->audio_data = audio_data;
*audio_stream_sample = &object->IAudioStreamSample_iface;
@@ -166,27 +187,6 @@ static HRESULT audiostreamsample_create(IAudioMediaStream *parent, IAudioData *a
return S_OK;
}
-struct audio_stream
-{
- IAMMediaStream IAMMediaStream_iface;
- IAudioMediaStream IAudioMediaStream_iface;
- IMemInputPin IMemInputPin_iface;
- IPin IPin_iface;
- LONG ref;
-
- IMultiMediaStream* parent;
- MSPID purpose_id;
- STREAM_TYPE stream_type;
- CRITICAL_SECTION cs;
- IMediaStreamFilter *filter;
-
- IPin *peer;
- IMemAllocator *allocator;
- AM_MEDIA_TYPE mt;
- WAVEFORMATEX format;
- FILTER_STATE state;
-};
-
static inline struct audio_stream *impl_from_IAMMediaStream(IAMMediaStream *iface)
{
return CONTAINING_RECORD(iface, struct audio_stream, IAMMediaStream_iface);
@@ -565,7 +565,7 @@ static HRESULT WINAPI audio_IAudioMediaStream_CreateSample(IAudioMediaStream *if
if (!audio_data)
return E_POINTER;
- return audiostreamsample_create(iface, audio_data, sample);
+ return audiostreamsample_create(This, audio_data, sample);
}
static const struct IAudioMediaStreamVtbl audio_IAudioMediaStream_vtbl =
More information about the wine-cvs
mailing list