summaryrefslogtreecommitdiffstats
path: root/sys/dshowsrcwrapper
diff options
context:
space:
mode:
authorSébastien Moutte <sebastien@moutte.net>2008-02-07 21:02:19 +0000
committerSébastien Moutte <sebastien@moutte.net>2008-02-07 21:02:19 +0000
commit37915fa611ede3dbe8e6e2e70baafb49f5c216ea (patch)
treeebdb74dc34b4e4826b73e9062f3002807583e881 /sys/dshowsrcwrapper
parentee15d7657dd5cfc133c794a44ab89535ab8d720e (diff)
downloadgst-plugins-bad-37915fa611ede3dbe8e6e2e70baafb49f5c216ea.tar.gz
gst-plugins-bad-37915fa611ede3dbe8e6e2e70baafb49f5c216ea.tar.bz2
gst-plugins-bad-37915fa611ede3dbe8e6e2e70baafb49f5c216ea.zip
ext\neon\gstneonhttpsrc.c: Include unistd.h only if _HAVE_UNISTD_H is defined
Original commit message from CVS: * ext\neon\gstneonhttpsrc.c: Include unistd.h only if _HAVE_UNISTD_H is defined * gst\mpegvideoparse\mpegvideoparse.c: Use G_GUINT64_CONSTANT GLIB macro for constant * sys\dshowsrcwrapper\gstdshowaudiosrc.c: * sys\dshowsrcwrapper\gstdshowvideosrc.c: * sys\dshowdecwrapper\gstdshowaudiodec.c: * sys\dshowdecwrapper\gstdshowaudiodec.h: * sys\dshowdecwrapper\gstdshowdecwrapper.c: * sys\dshowdecwrapper\gstdshowdecwrapper.h: * sys\dshowdecwrapper\gstdshowvideodec.c * sys\dshowdecwrapper\gstdshowvideodec.h: Add a DirectShow decoder wrapper. * win32\MANIFEST: Add new win32 files to MANIFEST * win32\vs6\gst_plugins_bad.dsw: * win32\vs6\libgstdshow.dsp: * win32\vs6\libgstdshowdecwrapper.dsp: * win32\vs6\libgstflv.dsp: Add new projects to bad workspace
Diffstat (limited to 'sys/dshowsrcwrapper')
-rw-r--r--sys/dshowsrcwrapper/gstdshowaudiosrc.c2
-rw-r--r--sys/dshowsrcwrapper/gstdshowvideosrc.c18
2 files changed, 13 insertions, 7 deletions
diff --git a/sys/dshowsrcwrapper/gstdshowaudiosrc.c b/sys/dshowsrcwrapper/gstdshowaudiosrc.c
index c39aaa7f..bee6f47c 100644
--- a/sys/dshowsrcwrapper/gstdshowaudiosrc.c
+++ b/sys/dshowsrcwrapper/gstdshowaudiosrc.c
@@ -240,7 +240,7 @@ gst_dshowaudiosrc_dispose (GObject * gobject)
CoUninitialize ();
- G_OBJECT_CLASS (parent_class)->dispose (object);
+ G_OBJECT_CLASS (parent_class)->dispose (gobject);
}
diff --git a/sys/dshowsrcwrapper/gstdshowvideosrc.c b/sys/dshowsrcwrapper/gstdshowvideosrc.c
index a1cef889..79ed5963 100644
--- a/sys/dshowsrcwrapper/gstdshowvideosrc.c
+++ b/sys/dshowsrcwrapper/gstdshowvideosrc.c
@@ -246,7 +246,7 @@ gst_dshowvideosrc_dispose (GObject * gobject)
CoUninitialize ();
- G_OBJECT_CLASS (parent_class)->dispose (object);
+ G_OBJECT_CLASS (parent_class)->dispose (gobject);
}
static gboolean
@@ -473,7 +473,11 @@ gst_dshowvideosrc_get_caps (GstBaseSrc * basesrc)
}
}
- if (src->video_cap_filter && !src->caps) {
+ if (!src->caps) {
+ src->caps = gst_caps_new_empty ();
+ }
+
+ if (src->video_cap_filter && gst_caps_is_empty (src->caps)) {
/* get the capture pins supported types */
IPin *capture_pin = NULL;
IEnumPins *enumpins = NULL;
@@ -504,13 +508,13 @@ gst_dshowvideosrc_get_caps (GstBaseSrc * basesrc)
if (SUCCEEDED (IPin_QueryInterface (capture_pin,
&IID_IAMStreamConfig, (void **) &streamcaps))) {
- src->caps =
+ GstCaps *caps =
gst_dshowvideosrc_getcaps_from_streamcaps (src, capture_pin,
streamcaps);
+ if (caps) {
+ gst_caps_append (src->caps, caps);
+ }
IAMStreamConfig_Release (streamcaps);
-
- GST_CAT_LOG (dshowvideosrc_debug,
- "get_cap returned %" GST_PTR_FORMAT, src->caps);
}
}
@@ -528,6 +532,8 @@ gst_dshowvideosrc_get_caps (GstBaseSrc * basesrc)
}
if (src->caps) {
+ GST_CAT_LOG (dshowvideosrc_debug, "getcaps returned %s",
+ gst_caps_to_string (src->caps));
return gst_caps_ref (src->caps);
}