summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog15
-rw-r--r--gst-libs/gst/dshow/gstdshowfakesink.cpp3
-rw-r--r--gst-libs/gst/dshow/gstdshowfakesink.h1
-rw-r--r--sys/dshowsrcwrapper/gstdshowaudiosrc.c2
-rw-r--r--sys/dshowsrcwrapper/gstdshowvideosrc.c2
5 files changed, 20 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 889881b9..fcaab398 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2007-11-04 Tim-Philipp Müller <tim at centricular dot net>
+
+ Patch by: Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
+
+ * 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 <slomo@circular-chaos.org>
* gst/equalizer/demo.c: (main):
diff --git a/gst-libs/gst/dshow/gstdshowfakesink.cpp b/gst-libs/gst/dshow/gstdshowfakesink.cpp
index 58b23718..e3a5f0b9 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 b53a6898..7f419b27 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 4d960e64..c39aaa7f 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 72fbc58b..a1cef889 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);