From 209d6105d73bcdb01f20432035fc58436caa26b7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ole=20Andr=C3=A9=20Vadla=20Ravn=C3=A5s?= Date: Sun, 4 Nov 2007 11:04:28 +0000 Subject: [PATCH] gst-libs/gst/dshow/gstdshowfakesink.*: Fix crasher in constructor due to the base class's constructor not necessarily... MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Original commit message from CVS: Patch by: Ole André Vadla Ravnås * gst-libs/gst/dshow/gstdshowfakesink.cpp: (CDshowFakeSink.CDshowFakeSink): * gst-libs/gst/dshow/gstdshowfakesink.h: (CDshowFakeSink.m_hres): Fix crasher in constructor due to the base class's constructor not necessarily being NULL-safe (depends on the SDK version used apparently; #492406). * sys/dshowsrcwrapper/gstdshowaudiosrc.c: (gst_dshowaudiosrc_prepare): * sys/dshowsrcwrapper/gstdshowvideosrc.c: (gst_dshowvideosrc_set_caps): Fix a couple of MSVC compiler warnings (#492406). --- ChangeLog | 15 +++++++++++++++ gst-libs/gst/dshow/gstdshowfakesink.cpp | 3 ++- gst-libs/gst/dshow/gstdshowfakesink.h | 1 + sys/dshowsrcwrapper/gstdshowaudiosrc.c | 2 +- sys/dshowsrcwrapper/gstdshowvideosrc.c | 2 +- 5 files changed, 20 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 889881b..fcaab39 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,18 @@ +2007-11-04 Tim-Philipp Müller + + Patch by: Ole André Vadla Ravnås + + * gst-libs/gst/dshow/gstdshowfakesink.cpp: + (CDshowFakeSink.CDshowFakeSink): + * gst-libs/gst/dshow/gstdshowfakesink.h: (CDshowFakeSink.m_hres): + Fix crasher in constructor due to the base class's constructor + not necessarily being NULL-safe (depends on the SDK version used + apparently; #492406). + + * sys/dshowsrcwrapper/gstdshowaudiosrc.c: (gst_dshowaudiosrc_prepare): + * sys/dshowsrcwrapper/gstdshowvideosrc.c: (gst_dshowvideosrc_set_caps): + Fix a couple of MSVC compiler warnings (#492406). + 2007-11-03 Sebastian Dröge * gst/equalizer/demo.c: (main): diff --git a/gst-libs/gst/dshow/gstdshowfakesink.cpp b/gst-libs/gst/dshow/gstdshowfakesink.cpp index 58b2371..e3a5f0b 100644 --- a/gst-libs/gst/dshow/gstdshowfakesink.cpp +++ b/gst-libs/gst/dshow/gstdshowfakesink.cpp @@ -22,7 +22,8 @@ #include "gstdshowfakesink.h" -CDshowFakeSink::CDshowFakeSink():CBaseRenderer(CLSID_DshowFakeSink, "DshowFakeSink", NULL, NULL) +CDshowFakeSink::CDshowFakeSink() + : m_hres(S_OK), CBaseRenderer(CLSID_DshowFakeSink, "DshowFakeSink", NULL, &m_hres) { m_callback = NULL; } diff --git a/gst-libs/gst/dshow/gstdshowfakesink.h b/gst-libs/gst/dshow/gstdshowfakesink.h index b53a689..7f419b2 100644 --- a/gst-libs/gst/dshow/gstdshowfakesink.h +++ b/gst-libs/gst/dshow/gstdshowfakesink.h @@ -43,6 +43,7 @@ public: STDMETHOD (gst_set_sample_size) (unsigned int size); protected: + HRESULT m_hres; CMediaType m_MediaType; push_buffer_func m_callback; byte *m_data; diff --git a/sys/dshowsrcwrapper/gstdshowaudiosrc.c b/sys/dshowsrcwrapper/gstdshowaudiosrc.c index 4d960e6..c39aaa7 100644 --- a/sys/dshowsrcwrapper/gstdshowaudiosrc.c +++ b/sys/dshowsrcwrapper/gstdshowaudiosrc.c @@ -641,7 +641,7 @@ gst_dshowaudiosrc_prepare (GstAudioSrc * asrc, GstRingBufferSpec * spec) IGstDshowInterface_gst_set_media_type (srcinterface, pin_mediatype->mediatype); IGstDshowInterface_gst_set_buffer_callback (srcinterface, - gst_dshowaudiosrc_push_buffer, (byte *) src); + (byte *) gst_dshowaudiosrc_push_buffer, (byte *) src); if (srcinterface) { IGstDshowInterface_Release (srcinterface); diff --git a/sys/dshowsrcwrapper/gstdshowvideosrc.c b/sys/dshowsrcwrapper/gstdshowvideosrc.c index 72fbc58..a1cef88 100644 --- a/sys/dshowsrcwrapper/gstdshowvideosrc.c +++ b/sys/dshowsrcwrapper/gstdshowvideosrc.c @@ -688,7 +688,7 @@ gst_dshowvideosrc_set_caps (GstBaseSrc * bsrc, GstCaps * caps) IGstDshowInterface_gst_set_media_type (srcinterface, pin_mediatype->mediatype); IGstDshowInterface_gst_set_buffer_callback (srcinterface, - gst_dshowvideosrc_push_buffer, (byte *) src); + (byte *) gst_dshowvideosrc_push_buffer, (byte *) src); if (srcinterface) { IGstDshowInterface_Release (srcinterface); -- 2.7.4