gst-libs/gst/dshow/gstdshowfakesink.*: Fix crasher in constructor due to the base...
authorOle André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
Sun, 4 Nov 2007 11:04:28 +0000 (11:04 +0000)
committerTim-Philipp Müller <tim@centricular.net>
Sun, 4 Nov 2007 11:04:28 +0000 (11:04 +0000)
Original commit message from CVS:
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).

ChangeLog
gst-libs/gst/dshow/gstdshowfakesink.cpp
gst-libs/gst/dshow/gstdshowfakesink.h
sys/dshowsrcwrapper/gstdshowaudiosrc.c
sys/dshowsrcwrapper/gstdshowvideosrc.c

index 889881b..fcaab39 100644 (file)
--- 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):
index 58b2371..e3a5f0b 100644 (file)
@@ -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;
 }
index b53a689..7f419b2 100644 (file)
@@ -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;
index 4d960e6..c39aaa7 100644 (file)
@@ -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);
index 72fbc58..a1cef88 100644 (file)
@@ -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);