Commit graph

181 commits

Author SHA1 Message Date
Wim Taymans
5be917d5bd appsrc: handle NULL caps correctly 2012-01-19 15:18:58 +01:00
Sebastian Dröge
dc8984d76c Merge branch 'master' into 0.11
Conflicts:
	gst-libs/gst/app/gstappsrc.c
	gst-libs/gst/audio/multichannel.h
	gst-libs/gst/video/videooverlay.c
	gst/playback/gstplaysink.c
	gst/playback/gststreamsynchronizer.c
	tests/check/Makefile.am
	win32/common/libgstvideo.def
2012-01-10 13:15:12 +01:00
Havard Graff
b11d516c46 appsrc: implement get_caps vfunc
This allows downstream elements to query what caps are available.

https://bugzilla.gnome.org/show_bug.cgi?id=667312
2012-01-05 13:12:33 +00:00
Tim-Philipp Müller
fb6d09055a Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	ext/alsa/gstalsadeviceprobe.c
	ext/alsa/gstalsamixer.c
	ext/pango/gsttextoverlay.c
	ext/pango/gsttextoverlay.h
	gst-libs/gst/audio/gstaudiobasesink.c
	gst-libs/gst/audio/gstaudioringbuffer.c
	gst-libs/gst/audio/gstaudiosrc.c
	gst-libs/gst/video/Makefile.am
	gst-libs/gst/video/video.c
	gst/encoding/gststreamcombiner.c
	gst/encoding/gststreamsplitter.c
	gst/playback/gstplaybasebin.c
	gst/playback/gststreamsynchronizer.c
	gst/playback/gstsubtitleoverlay.c
	gst/playback/gsturidecodebin.c
	sys/xvimage/xvimagesink.c
	tests/examples/Makefile.am
	win32/common/libgstvideo.def

Video overlay composition disabled for now, needs
porting to buffer meta.
2011-12-08 01:19:03 +00:00
Matej Knopp
f89d7ee7eb Appsink fixes 2011-12-05 09:34:50 +01:00
Tim-Philipp Müller
0d98aa25b8 Work around deprecated thread API in glib master
Add private replacements for deprecated functions such as
g_mutex_new(), g_mutex_free(), g_cond_new() etc., mostly
to avoid the deprecation warnings. We'll change these
over to the new API once we depend on glib >= 2.32.

Replace g_thread_create() with g_thread_try_new().
2011-12-04 17:16:30 +00:00
Wim Taymans
1225aa9a78 update for basesink event handler changes 2011-12-02 22:24:43 +01:00
Tim-Philipp Müller
177525f89f Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	gst-libs/gst/netbuffer/gstnetbuffer.c
	gst/ffmpegcolorspace/avcodec.h
	gst/ffmpegcolorspace/gstffmpegcodecmap.c
	gst/ffmpegcolorspace/imgconvert.c
	gst/ffmpegcolorspace/imgconvert_template.h
	gst/ffmpegcolorspace/mem.c
	gst/playback/README
	gst/playback/gstplaybasebin.c
	gst/playback/gstplaybasebin.h
	gst/playback/gstplaybin.c
	sys/v4l/v4lmjpegsrc_calls.c
	sys/v4l/videodev_mjpeg.h
	tests/check/elements/gnomevfssink.c
2011-12-02 11:10:17 +00:00
Piotr Fusik
14644457b0 various: typo fixes
Fix typos in code and docs. Fixes. #658984
2011-12-02 12:03:27 +01:00
Wim Taymans
59113af604 Use the new GstSample for snapshots
Make appsink return a GstSample. Remove the pull_buffer_list method because it
is not very useful anymore.
Pass GstSample to the conversion function.
Update playbin2 and examples
2011-12-01 16:53:11 +01:00
Wim Taymans
66d7151787 update marshal list 2011-12-01 15:54:49 +01:00
Wim Taymans
e064f9dbf6 appsrc: fix negotiation
Remove old useless caps code.
Make a negotiate function and use the configured caps as the caps on the appsrc
pad. If nothing was configured, fall back to the parent implementation.
2011-12-01 15:38:10 +01:00
Vincent Penquerc'h
96374054ac various: fix pad template leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:09:02 +00:00
Edward Hervey
d94535832b gst-libs: Add --warn-all to introspection scanner
And let's get fixing those docs :)
2011-11-25 10:31:38 +01:00
Wim Taymans
d0bd5f04c0 update for new scheduling query 2011-11-18 17:58:58 +01:00
Tim-Philipp Müller
c76e5804b3 Update for GstURIHandler get_protocols() changes 2011-11-13 23:44:23 +00:00
Tim-Philipp Müller
455f337e3d gio, appsrc, appsink, cdaudiosrc: update for GstURIHandler API changes 2011-11-13 18:22:06 +00:00
Wim Taymans
b12aabc9da app: fix headers 2011-11-11 17:52:36 +01:00
Wim Taymans
f80d73468e appsink: fix header 2011-11-10 13:51:23 +01:00
Wim Taymans
df4999aeb1 bufferlist: update for new API 2011-11-02 09:04:27 +01:00
Wim Taymans
f1088ed647 update for UNEXPECTED -> EOS flowreturn 2011-10-10 11:39:52 +02:00
Tim-Philipp Müller
4bf26ba5d2 Add -DGST_USE_UNSTABLE_API to the compiler flags to avoid warnings 2011-07-05 10:07:08 +01:00
Wim Taymans
646ffd0dad fix for uri changes 2011-06-22 16:38:48 +02:00
Wim Taymans
010add200a scheduling: port to new scheduling query 2011-05-24 17:37:45 +02:00
Wim Taymans
a87c021237 Merge branch 'master' into 0.11
Conflicts:
	gst-libs/gst/video/convertframe.c
2011-05-24 09:47:15 +02:00
Stefan Kost
762bb236fa docs: fixup appsrc/sink api docs 2011-05-23 15:02:27 +03:00
Sebastian Dröge
318ed07598 Revert "-base_port to new query API"
This reverts commit c9f4e0676b.
2011-05-17 11:25:31 +02:00
Sebastian Dröge
8598775951 appsink: Update for the negotiation related API changes 2011-05-16 15:35:40 +02:00
Wim Taymans
94dfe80f71 -base: port to new SEGMENT API 2011-05-16 13:48:11 +02:00
Wim Taymans
c9f4e0676b -base_port to new query API 2011-05-10 18:39:07 +02:00
Wim Taymans
ec57868488 -base: don't use buffer caps
Port to newest 0.11 core API, remove GST_PAD_CAPS and GST_BUFFER_CAPS.
2011-05-09 13:05:12 +02:00
Sebastian Dröge
0f1741da23 app: Use G_DEFINE_TYPE instead of GST_BOILERPLATE 2011-04-19 10:47:15 +02:00
Sebastian Dröge
c8792778f8 Merge branch 'master' into 0.11 2011-04-16 16:06:26 +02:00
Tim-Philipp Müller
1d05e81435 libs: gobject-introspection scanner doesn't need to scan or update plugin info
Make sure the scanner doesn't load or introspect or check any plugins,
(especially not outside the build directory).
2011-04-16 11:01:53 +01:00
Wim Taymans
6e160bed3d Merge branch 'master' into 0.11
Conflicts:
	android/alsa.mk
	android/app.mk
	android/app_plugin.mk
	android/audio.mk
	android/audioconvert.mk
	android/decodebin.mk
	android/decodebin2.mk
	android/gdp.mk
	android/interfaces.mk
	android/netbuffer.mk
	android/pbutils.mk
	android/playbin.mk
	android/queue2.mk
	android/riff.mk
	android/rtp.mk
	android/rtsp.mk
	android/sdp.mk
	android/tag.mk
	android/tcp.mk
	android/typefindfunctions.mk
	android/video.mk
2011-04-11 11:37:51 +02:00
Alessandro Decina
030f639a8e android: make it ready for androgenizer
Remove the android/ top dir
Fixe the Makefile.am to be androgenized

To build gstreamer for android we are now using androgenizer which generates the
needed Android.mk files.
Androgenizer can be found here:
http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-11 07:23:21 +02:00
Wim Taymans
730b87271c bufferlist: fixes for new API 2011-03-31 17:47:43 +02:00
Tim-Philipp Müller
45b6bda76c libs: make sure gobject-introspection scanner calls gst_init()
Cherry-picked from 0.11, since it's the right thing to do (we
now silently rely on various _get_type() working without
gst_init() having been called).
2011-03-30 21:08:29 +01:00
Tim-Philipp Müller
a818fe7381 libs: replace 0.10 with @GST_MAJORMINOR@ in Makefile.am
For easier cherry-picking/merging later.
2011-03-30 20:57:32 +01:00
Wim Taymans
3d25a4b470 libs: port to new data API 2011-03-27 13:55:15 +02:00
Tim-Philipp Müller
842911d241 libs: make sure gobject-introspection scanner calls gst_init()
Fixes introspection failures caused by type assertions/warnings.
Since we now moved from _get_type() functions to external GType
variables in a couple of places, we actually have to call gst_init()
to make sure these are set when we use GST_TYPE_FOO.
2011-03-09 12:17:14 +00:00
Tim-Philipp Müller
dfd056f54a libgstapp: fix backticks in gobject-introspection section of Makefile.am 2011-03-09 12:17:07 +00:00
Wim Taymans
4e4a0377d7 app: remove appbuffer
There are no more buffer subclasses and the application can use the regular API
to make buffers.
2011-02-28 11:50:03 +01:00
Wim Taymans
c6dd11981d Merge branch 'master' into 0.11
Conflicts:
	configure.ac
	gst-libs/gst/pbutils/Makefile.am
2011-02-28 11:47:44 +01:00
Tim-Philipp Müller
33a5e3e06f appsink: add buffer fallback in case the application doesn't handle buffer lists
We shouldn't assume the application handles buffer lists, for
ease-of-use reasons and for backwards compatibility reasons.
2011-01-31 18:06:18 +00:00
Cai Yuanqing
71dec68cba appsink: send new-buffer-list signal
Send new-buffer-list signal when emit-signals is TRUE

https://bugzilla.gnome.org/show_bug.cgi?id=640607
2011-01-31 15:32:40 +01:00
Tim-Philipp Müller
cd758cdbd9 app: export gst_app_stream_type_get_type()
API: gst_app_stream_type_get_type()
API: GST_TYPE_APP_STREAM_TYPE

https://bugzilla.gnome.org/show_bug.cgi?id=639747
2011-01-18 00:10:29 +00:00
Tim-Philipp Müller
b311b833c1 app: make GstAppBuffer get_type() function thread-safe 2011-01-17 23:59:48 +00:00
Tim-Philipp Müller
0ed757db33 gobject-introspection: use same PKG_CONFIG_PATH for g-ir-compiler as for g-ir-scanner
Make sure to use the PKG_CONFIG_PATH set at configure time instead of
just relying on an env-var set one. This makes sure both g-ir-compiler
and g-ir-scanner use the same PKG_CONFIG_PATH for determining include
paths etc.
2011-01-08 02:10:03 +00:00
Wim Taymans
5f36105915 appsink: unset flushing flag when starting
When we start again after being stopped, clear the flushing flag or else
it will always be TRUE.

Fixes #636769
2010-12-10 19:00:48 +01:00
Wim Taymans
eee6bc7dc9 more 0.10 -> 0.11 changes 2010-12-06 17:09:10 +01:00
Evan Nemerson
8fb2c27ed0 introspection: Add information on exported packages to GIRs
https://bugzilla.gnome.org/show_bug.cgi?id=635392
2010-11-21 00:44:37 +00:00
Thiago Santos
24b523e129 appsrc: Do not override buffer caps if appsrc caps is null
Make appsrc not set caps on buffers when its own caps is NULL.

This avoids calling make_metadata_writable on all buffers and
prevents losing buffer caps in case we are not replacing it
with something meaningful.

https://bugzilla.gnome.org/show_bug.cgi?id=630353
2010-09-23 08:23:47 -03:00
Tim-Philipp Müller
c3a519494b docs: fix typo in appsink docs so function gets cross-referenced properly 2010-08-14 19:12:37 +01:00
Tim-Philipp Müller
e776699036 build: use new AG_GST_PKG_CONFIG_PATH m4 macro from common
Sets up a GST_PKG_CONFIG_PATH variable for use in Makefile.am
(avoids trailing ':' in PKG_CONFIG_PATH used).
2010-08-14 19:12:37 +01:00
Tim-Philipp Müller
b61b83376a introspection: set PKG_CONFIG_PATH so that our in-tree libs come first when calling scanner
When calling gobject-introspection scanner, make sure our own
freshly-built libs within the source tree (well, build dir) come
first in the PKG_CONFIG_PATH. May or may not help to make sure
that it doesn't pick up older external plugins-base libs (or
.gir files) from outside the source tree / build directory as
dependencies of the introspected lib instead of using the
stuff we just built in a sibling directory.

https://bugzilla.gnome.org/show_bug.cgi?id=623698
2010-08-14 19:11:48 +01:00
Stefan Kost
5ba7ca1642 appsrc: fix the classification.
Change "Src" into "Source" (we use that elsewhere). I did not keept "Src" as it
is quite unlikely that someone plugs appsrc by searching the registry by classification.
2010-08-12 18:16:20 +03:00
Sebastian Dröge
611d87ce7a appsrc: Return FALSE from the seek handler if no seek callback was set 2010-06-14 11:03:50 +02:00
Wim Taymans
f562c8b290 appsrc: fix documentation string 2010-06-05 11:28:17 +02:00
Sebastian Dröge
f43216b9d7 appsrc: Always take the object lock when accessing the caps
Fixes bug #618625.
2010-05-14 17:24:14 +02:00
Thiago Santos
818e869d70 appsrc: Be sure that metadata is writable before setting caps
Call gst_buffer_make_metadata_writable before attempting
to set caps on the buffer.
2010-04-08 07:40:29 -03:00
Vincent Untz
764c899215 libs: point gobject-introspection scanner to .la files
Point g-ir-scanner to the .la file of our library, which hopefully
makes it find the right dependencies in all cases (ie. our locally
built libgstreamer and not the system-installed one). This is also
how it's done in Gtk+ and how it's documented in the wiki, see
http://live.gnome.org/GObjectIntrospection/AutotoolsIntegration

Fixes #603710.
2010-04-03 14:03:45 +01:00
Tim-Philipp Müller
b37c993e4e gst-libs: more gobject-introspection fixes
Use right .pc file variable for compiler includes this time:
g-ir-compiler wants the girdirs not the typelibdirs as includes.
2010-03-30 23:46:10 +01:00
Tim-Philipp Müller
64cfa6bf73 gst-libs: fix up gobject-introspection some more
Use new girdir and typlibdir from core .pc files, so we can figure
out the right includes to pass to the gobject-introspection tools,
whether core is installed in the same prefix as gobject-introspection
or in a different prefix or uninstalled. This also keeps us from adding
bogus paths to the includes that only work if core is uninstalled.

Also add some missing includes/pkgs where needed.
2010-03-30 19:56:56 +01:00
Tim-Philipp Müller
58a92964c6 build: Makefile.am fixes
Mostly just add missing $(GST_BASE_CFLAGS), but also fix up order
of flags (see docs/random/moving-plugins).
2010-03-19 01:00:36 +00:00
Benjamin Otte
3bd4aa26ff Add -Wwrite-strings to configure
Fixes for the code included
2010-03-16 17:41:51 +01:00
Sebastian Dröge
d5a4ca9962 build: Make some more rules silent if requested 2010-03-09 21:01:38 +00:00
Wim Taymans
76f715cb8b appsrc: fix Since tag 2010-02-12 18:00:40 +01:00
Sebastian Dröge
8d7304b12c appsrc: Update basesrc segment duration and post duration messages from the streaming thread 2010-02-12 14:37:03 +01:00
Wim Taymans
c94356ad9b appsrc: add min-percent property
Emit need-data when the amount of data in the internal queue drops below
min-percent.

Fixes #608309
2010-02-12 12:34:07 +01:00
Wim Taymans
fac9346405 appsrc: cleanups
Avoid some typechecks.
Avoid dereferencing appsrc->priv all the time.
2010-02-12 12:34:07 +01:00
Wim Taymans
7cce982ee2 appsink: cleanups
Avoid some typecasting.
Avoid dereferencing appsink->priv all the time.
2010-02-12 12:31:49 +01:00
Sebastian Dröge
b5fd5953d1 appsrc: Update segment duration and post a duration message if the duration changes
Fixes bug #609423.
2010-02-12 11:00:08 +01:00
Tim-Philipp Müller
f71c4167e0 docs: add short descriptions for API reference contents page 2009-12-12 18:17:32 +00:00
Jan Schmidt
8c76ae5fa9 appsrc: Clear the EOS state on a seek.
Allow seeking back into the stream after it hits EOS.
2009-11-10 13:56:01 +00:00
Stefan Kost
f1c32d0fbb build: fix previous commit to fully accomodate the glib-gen.mak changes
I also renamed glib_enum_prefix to glib_gen_prefix as we also use that for the
marshallers. Also rename the rtsp-marshal.list to work with the unified prefix.
2009-10-16 10:56:56 +03:00
Stefan Kost
a89c1de0ea build: use gst-glib-gen.mak to fix the glib build rules. Fixes #598114
The build rules in glib-gen.mak were using pattern rules in a non save way.
2009-10-16 10:23:09 +03:00
Sebastian Dröge
df9b8b57b3 introspection: Build pkgconfig before all libraries and set PKG_CONFIG_PATH
This way g-ir-scanner can find the gstreamer-*-0.10 pkg-config files.
2009-09-13 11:19:50 +02:00
Sebastian Dröge
40aba9e0dc introduction: Fix out-of-tree build 2009-09-05 13:46:58 +02:00
Sebastian Dröge
7e90e0846c introspection: Strip Gst prefix from all types/functions 2009-09-05 12:31:47 +02:00
Sebastian Dröge
7794caf9f8 introspection: Fix build if gir-repository is not installed 2009-09-05 11:49:41 +02:00
Sebastian Dröge
d91f5000e1 libs: Add nodist headers and sources to the introspection files 2009-09-05 11:31:48 +02:00
Sebastian Dröge
61ae0059a4 app: Add gobject-introspection support 2009-09-05 11:09:28 +02:00
Wim Taymans
2c08c76383 appsink: don't block in paused
When we are asked to unlock we should either leave the render function or call
the wait_preroll method to release the stream lock.

Fixes #592657
2009-08-24 13:16:39 +02:00
Philip Jägenstedt
1b4220bd03 appsrc: Clarify documentation about caps and linkage
Fixes bug #589095.
2009-08-06 06:43:34 +02:00
Wim Taymans
3928dbbb45 appsink: add docs and signals
Add docs for the new callback.
Add signals for the new buffer-list support.
2009-06-29 12:14:43 +02:00
Branko Subasic
6518d283d5 Added buffer list support. 2009-06-29 11:59:47 +02:00
Branko Subasic
fb0fd53212 Added buffer list support. 2009-06-29 11:59:46 +02:00
Wim Taymans
f83f57b648 app: add trivial cast macros
Add trivial cast macros for appsrc and appsink. Mark them as being since 0.10.23
and add the macros to the standard macros in the docs.

Fixes #579130
2009-04-16 12:14:43 +02:00
Martin Samuelsson
ee03bf5379 appsink: make callbacks return GstFlowReturn
Make the new_buffer and new_preroll callbacks return a GstFlowReturn so that
errors can be reported properly.
Fixes #577827.
2009-04-09 23:46:17 +02:00
Wim Taymans
91b2d71da0 appsrc: release lock in _eos flushing case
Release the mutex when we are flushing in gst_app_src_end_of_stream()
Fixes #574964.
2009-03-13 15:16:44 +01:00
Tim-Philipp Müller
0a835bc9a3 app: force automatic rebuild of gstapp-marshal.[ch] after previous change
The previous change to appsrc/appsink requires people to 'make clean'
to get the marshallers rebuilt (causing a build failure otherwise).
Change some lines in the .list file around to force a rebuild of
these files automatically.
2009-03-01 18:31:17 +00:00
Wim Taymans
c4036dd701 app: add callbacks to appsrc, cleanups
Add a uri handler to appsink.
don't emit signals when we have installed callbacks on appsink.

Add callbacks to appsrc to replace the signals.
Add property to disable callbacks in appsrc, default to TRUE for backwards
compatibility but disable when callbacks are installed.

API: GstAppSrc::emit-signals
API: GstAppSrc::gst_app_src_set_emit_signals()
API: GstAppSrc::gst_app_src_get_emit_signals()
API: GstAppSrc::gst_app_src_set_callbacks()
2009-02-26 16:44:53 +01:00
Wim Taymans
661f2da6e0 Appsink: add padding for callbacks + docs
Add some padding to the callbacks structure just to be safe.

Remove the now invisible marshaller methods from the docs.

Fix a comment in the unit test.
2009-02-26 11:42:44 +01:00
Stefan Kost
251e4d160a docs: don't put random stuff in tags.
Tags like Since: or Returns: can only be followed by more tags. gtk-doc has no
tag to append text again to the documentation body.
2009-02-26 10:09:59 +02:00
Tim-Philipp Müller
07d2dbfdfe app: add win32 .def file and only export functions we want exported
Add a .def file for win32 builds (and make check-exports).
Fix LDFLAGS in Makefile.am, so the usual export regexps are used (fixes #573165).
Make sure private marshaller functions aren't exported by prefixing them with __gst;
also rename gst_app_marshal_OBJECT__VOID to _BUFFER__VOID, make it static and add
a comment why we're not using glib-genmarshal for this one.
2009-02-25 19:50:00 +00:00
Wim Taymans
e5d8551552 Add method to install callbacks on appsink
Based on pacth by Martin Samuelsson <martin dot samuelsson at axis dot com>
Fixes #571299.

Add gst_app_sink_set_callbacks() to install a set of callbacks. This is a more
performant alternative to connecting to the signals.

Add a unit test for appsink.

Clean up some of the appsink docs.

API: GstAppSink::gst_app_sink_set_callbacks()
2009-02-19 10:44:31 +01:00
Wim Taymans
26256b95c8 Reset queued_bytes counter when flushing
Set the amount of queued bytes in the internal queue back to 0 when we clear the
queue.
Fixes #567982
2009-01-23 11:11:31 +01:00
Jan Schmidt
80ac3b565e gst-libs/gst/app/gstappsink.c: Store the returned signal id in the right slot when registering the pull-buffer signal.
Original commit message from CVS:
* gst-libs/gst/app/gstappsink.c:
Store the returned signal id in the right slot when
registering the pull-buffer signal.
Fixes #567168
Spotted by: Thomas Vander Stichele  <thomas at apestaart dot org>
2009-01-09 23:13:17 +00:00
Tim-Philipp Müller
ada70bb159 gst-libs/gst/app/: Make debug categories static. Use _element_class_set_details_simple().
Original commit message from CVS:
* gst-libs/gst/app/gstappsink.c:
* gst-libs/gst/app/gstappsink.h:
* gst-libs/gst/app/gstappsrc.c:
* gst-libs/gst/app/gstappsrc.h:
Make debug categories static. Use _element_class_set_details_simple().
2009-01-06 11:10:29 +00:00