Commit graph

72 commits

Author SHA1 Message Date
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
Tim-Philipp Müller
d2b82026c8 gst-libs/gst/app/: Move private data into a private instance struct. Add padding to instance and class structures exp...
Original commit message from CVS:
* gst-libs/gst/app/gstappsink.c: (_GstAppSinkPrivate),
(gst_app_sink_class_init), (gst_app_sink_init),
(gst_app_sink_dispose), (gst_app_sink_finalize),
(gst_app_sink_unlock_start), (gst_app_sink_unlock_stop),
(gst_app_sink_flush_unlocked), (gst_app_sink_start),
(gst_app_sink_stop), (gst_app_sink_event), (gst_app_sink_preroll),
(gst_app_sink_render), (gst_app_sink_getcaps),
(gst_app_sink_set_caps), (gst_app_sink_get_caps),
(gst_app_sink_is_eos), (gst_app_sink_set_emit_signals),
(gst_app_sink_get_emit_signals), (gst_app_sink_set_max_buffers),
(gst_app_sink_get_max_buffers), (gst_app_sink_set_drop),
(gst_app_sink_get_drop), (gst_app_sink_pull_preroll),
(gst_app_sink_pull_buffer)::
* gst-libs/gst/app/gstappsink.h: (GstAppSinkPrivate), (_GstAppSink)::
* gst-libs/gst/app/gstappsrc.c: (_GstAppSrcPrivate),
(gst_app_src_class_init), (gst_app_src_init),
(gst_app_src_flush_queued), (gst_app_src_dispose),
(gst_app_src_finalize), (gst_app_src_set_property),
(gst_app_src_get_property), (gst_app_src_unlock),
(gst_app_src_unlock_stop), (gst_app_src_start), (gst_app_src_stop),
(gst_app_src_is_seekable), (gst_app_src_check_get_range),
(gst_app_src_query), (gst_app_src_do_seek), (gst_app_src_create),
(gst_app_src_set_caps), (gst_app_src_get_caps),
(gst_app_src_set_size), (gst_app_src_get_size),
(gst_app_src_set_stream_type), (gst_app_src_get_stream_type),
(gst_app_src_set_max_bytes), (gst_app_src_get_max_bytes),
(gst_app_src_set_latencies), (gst_app_src_set_latency),
(gst_app_src_get_latency), (gst_app_src_push_buffer_full),
(gst_app_src_push_buffer_action), (gst_app_src_end_of_stream)::
* gst-libs/gst/app/gstappsrc.h: (GstAppSrcPrivate)::
Move private data into a private instance struct. Add padding to
instance and class structures exposed in public headers. Add
Since markers to the gtk-doc blurbs (#566750).
2009-01-06 10:56:45 +00:00
Jan Schmidt
08393941a8 Move AppSrc/AppSink from gst-plugins-bad. Fixes #564421
Original commit message from CVS:
* configure.ac:
* docs/libs/Makefile.am:
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
* docs/plugins/gst-plugins-base-plugins.args:
* docs/plugins/gst-plugins-base-plugins.hierarchy:
* docs/plugins/gst-plugins-base-plugins.interfaces:
* docs/plugins/gst-plugins-base-plugins.prerequisites:
* docs/plugins/gst-plugins-base-plugins.signals:
* docs/plugins/inspect/plugin-app.xml:
* gst-libs/gst/Makefile.am:
* gst-libs/gst/app/gstappsink.c:
* gst-libs/gst/app/gstappsrc.c:
* tests/examples/Makefile.am:
* tests/examples/app/Makefile.am:
Move AppSrc/AppSink from gst-plugins-bad. Fixes #564421
2009-01-05 23:04:57 +00:00
Wim Taymans
0ab6c0fbc0 gst-libs/gst/app/gstappsrc.*: Add properties and methods to configure and retrieve the min and max latencies.
Original commit message from CVS:
* gst-libs/gst/app/gstappsrc.c: (gst_app_src_class_init),
(gst_app_src_init), (gst_app_src_set_property),
(gst_app_src_get_property), (gst_app_src_query),
(gst_app_src_set_latencies), (gst_app_src_set_latency),
(gst_app_src_get_latency), (gst_app_src_push_buffer_full):
* gst-libs/gst/app/gstappsrc.h:
Add properties and methods to configure and retrieve the min and max
latencies.
2008-12-29 16:45:20 +00:00
Wim Taymans
8567ee2149 Add appsrc and appsink documentation.
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
* gst-libs/gst/app/gstappsink.c:
* gst-libs/gst/app/gstappsrc.c: (gst_app_src_class_init):
Add appsrc and appsink documentation.
2008-12-17 13:51:46 +00:00
Wim Taymans
24685b5df0 examples/app/: Fix example to unref after emiting the push-buffer action.
Original commit message from CVS:
* examples/app/appsrc-ra.c: (feed_data):
* examples/app/appsrc-seekable.c: (feed_data):
* examples/app/appsrc-stream.c: (read_data):
* examples/app/appsrc-stream2.c: (feed_data):
Fix example to unref after emiting the push-buffer action.
* gst-libs/gst/app/gstappsrc.c: (gst_app_src_class_init),
(gst_app_src_push_buffer_full), (gst_app_src_push_buffer),
(gst_app_src_push_buffer_action):
Don't take the ref on the buffer in push-buffer action because it's too
awkward for bindings. Fixes #564482.
2008-12-15 12:02:26 +00:00
이문형
933186aaa1 gst-libs/gst/app/gstappsrc.c: Don't forget to release the lock again if we bail out because some pad is flushing or w...
Original commit message from CVS:
Patch by: 이문형 <iwings at gmail dot com>
* gst-libs/gst/app/gstappsrc.c: (gst_app_src_push_buffer):
Don't forget to release the lock again if we bail out because some
pad is flushing or we've reached EOS, otherwise things will lock up
next time _push_buffer() is called (#562802).
2008-12-01 19:36:35 +00:00
Edward Hervey
dfa2705aa0 gst/: Wim, you're a bad boy. You don't want people to contact you or what?
Original commit message from CVS:
* gst-libs/gst/app/gstappsink.c:
* gst-libs/gst/app/gstappsrc.c:
* gst/h264parse/gsth264parse.c:
Wim, you're a bad boy. You don't want people to contact you or what?
2008-11-10 14:53:45 +00:00
Wim Taymans
67b54151fe gst-libs/gst/app/gstappsrc.*: Add is-live property.
Original commit message from CVS:
* gst-libs/gst/app/gstappsrc.c: (gst_app_src_class_init),
(gst_app_src_init), (gst_app_src_set_property),
(gst_app_src_get_property), (gst_app_src_push_buffer):
* gst-libs/gst/app/gstappsrc.h:
Add is-live property.
Add some more docs.
2008-11-07 17:35:46 +00:00
Stefan Kost
b9d45d9434 Don't install static libs for plugins. Fixes #550851 for -bad.
Original commit message from CVS:
* ext/alsaspdif/Makefile.am:
* ext/amrwb/Makefile.am:
* ext/apexsink/Makefile.am:
* ext/arts/Makefile.am:
* ext/artsd/Makefile.am:
* ext/audiofile/Makefile.am:
* ext/audioresample/Makefile.am:
* ext/bz2/Makefile.am:
* ext/cdaudio/Makefile.am:
* ext/celt/Makefile.am:
* ext/dc1394/Makefile.am:
* ext/dirac/Makefile.am:
* ext/directfb/Makefile.am:
* ext/divx/Makefile.am:
* ext/dts/Makefile.am:
* ext/faac/Makefile.am:
* ext/faad/Makefile.am:
* ext/gsm/Makefile.am:
* ext/hermes/Makefile.am:
* ext/ivorbis/Makefile.am:
* ext/jack/Makefile.am:
* ext/jp2k/Makefile.am:
* ext/ladspa/Makefile.am:
* ext/lcs/Makefile.am:
* ext/libfame/Makefile.am:
* ext/libmms/Makefile.am:
* ext/metadata/Makefile.am:
* ext/mpeg2enc/Makefile.am:
* ext/mplex/Makefile.am:
* ext/musepack/Makefile.am:
* ext/musicbrainz/Makefile.am:
* ext/mythtv/Makefile.am:
* ext/nas/Makefile.am:
* ext/neon/Makefile.am:
* ext/ofa/Makefile.am:
* ext/polyp/Makefile.am:
* ext/resindvd/Makefile.am:
* ext/sdl/Makefile.am:
* ext/shout/Makefile.am:
* ext/snapshot/Makefile.am:
* ext/sndfile/Makefile.am:
* ext/soundtouch/Makefile.am:
* ext/spc/Makefile.am:
* ext/swfdec/Makefile.am:
* ext/tarkin/Makefile.am:
* ext/theora/Makefile.am:
* ext/timidity/Makefile.am:
* ext/twolame/Makefile.am:
* ext/x264/Makefile.am:
* ext/xine/Makefile.am:
* ext/xvid/Makefile.am:
* gst-libs/gst/app/Makefile.am:
* gst-libs/gst/dshow/Makefile.am:
* gst/aiffparse/Makefile.am:
* gst/app/Makefile.am:
* gst/audiobuffer/Makefile.am:
* gst/bayer/Makefile.am:
* gst/cdxaparse/Makefile.am:
* gst/chart/Makefile.am:
* gst/colorspace/Makefile.am:
* gst/dccp/Makefile.am:
* gst/deinterlace/Makefile.am:
* gst/deinterlace2/Makefile.am:
* gst/dvdspu/Makefile.am:
* gst/festival/Makefile.am:
* gst/filter/Makefile.am:
* gst/flacparse/Makefile.am:
* gst/flv/Makefile.am:
* gst/games/Makefile.am:
* gst/h264parse/Makefile.am:
* gst/librfb/Makefile.am:
* gst/mixmatrix/Makefile.am:
* gst/modplug/Makefile.am:
* gst/mpeg1sys/Makefile.am:
* gst/mpeg4videoparse/Makefile.am:
* gst/mpegdemux/Makefile.am:
* gst/mpegtsmux/Makefile.am:
* gst/mpegvideoparse/Makefile.am:
* gst/mve/Makefile.am:
* gst/nsf/Makefile.am:
* gst/nuvdemux/Makefile.am:
* gst/overlay/Makefile.am:
* gst/passthrough/Makefile.am:
* gst/pcapparse/Makefile.am:
* gst/playondemand/Makefile.am:
* gst/rawparse/Makefile.am:
* gst/real/Makefile.am:
* gst/rtjpeg/Makefile.am:
* gst/rtpmanager/Makefile.am:
* gst/scaletempo/Makefile.am:
* gst/sdp/Makefile.am:
* gst/selector/Makefile.am:
* gst/smooth/Makefile.am:
* gst/smoothwave/Makefile.am:
* gst/speed/Makefile.am:
* gst/speexresample/Makefile.am:
* gst/stereo/Makefile.am:
* gst/subenc/Makefile.am:
* gst/tta/Makefile.am:
* gst/vbidec/Makefile.am:
* gst/videodrop/Makefile.am:
* gst/videosignal/Makefile.am:
* gst/virtualdub/Makefile.am:
* gst/vmnc/Makefile.am:
* gst/y4m/Makefile.am:
* sys/acmenc/Makefile.am:
* sys/cdrom/Makefile.am:
* sys/dshowdecwrapper/Makefile.am:
* sys/dshowsrcwrapper/Makefile.am:
* sys/dvb/Makefile.am:
* sys/dxr3/Makefile.am:
* sys/fbdev/Makefile.am:
* sys/oss4/Makefile.am:
* sys/qcam/Makefile.am:
* sys/qtwrapper/Makefile.am:
* sys/vcd/Makefile.am:
* sys/wininet/Makefile.am:
* win32/common/config.h:
Don't install static libs for plugins. Fixes #550851 for -bad.
2008-11-04 12:42:18 +00:00