Commit graph

89 commits

Author SHA1 Message Date
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
Wim Taymans
1f724549e4 gst-libs/gst/app/gstappsink.c: Fix the docs.
Original commit message from CVS:
* gst-libs/gst/app/gstappsink.c: (gst_app_sink_class_init):
Fix the docs.
2008-10-29 17:02:55 +00:00
Andy Wingo
7ba9110637 gst-libs/gst/app/gstappsrc.c (gst_app_src_set_max_bytes)
Original commit message from CVS:
2008-06-16  Andy Wingo  <wingo@pobox.com>

* gst-libs/gst/app/gstappsrc.c (gst_app_src_set_max_bytes)
(gst_app_src_get_max_bytes, gst_app_src_push_buffer): Use
G_GUINT64_FORMAT. Avoid overflow in get_max_bytes().
2008-06-16 14:11:36 +00:00
Stefan Kost
4ad8ad3db5 docs/plugins/: docs/plugins/inspect/plugin-mythtv.xml
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:
* docs/plugins/gst-plugins-bad-plugins.args:
* docs/plugins/gst-plugins-bad-plugins.hierarchy:
* docs/plugins/gst-plugins-bad-plugins.interfaces:
* docs/plugins/gst-plugins-bad-plugins.prerequisites:
* docs/plugins/gst-plugins-bad-plugins.signals:
* docs/plugins/inspect/plugin-alsaspdif.xml:
* docs/plugins/inspect/plugin-amrwb.xml:
* docs/plugins/inspect/plugin-app.xml:
* docs/plugins/inspect/plugin-bayer.xml:
* docs/plugins/inspect/plugin-bz2.xml:
* docs/plugins/inspect/plugin-cdaudio.xml:
* docs/plugins/inspect/plugin-cdxaparse.xml:
* docs/plugins/inspect/plugin-dtsdec.xml:
* docs/plugins/inspect/plugin-dvb.xml:
* docs/plugins/inspect/plugin-dvdspu.xml:
* docs/plugins/inspect/plugin-faac.xml:
* docs/plugins/inspect/plugin-faad.xml:
* docs/plugins/inspect/plugin-fbdevsink.xml:
* docs/plugins/inspect/plugin-festival.xml:
* docs/plugins/inspect/plugin-filter.xml:
* docs/plugins/inspect/plugin-flvdemux.xml:
* docs/plugins/inspect/plugin-freeze.xml:
* docs/plugins/inspect/plugin-gsm.xml:
* docs/plugins/inspect/plugin-gstinterlace.xml:
* docs/plugins/inspect/plugin-gstrtpmanager.xml:
* docs/plugins/inspect/plugin-h264parse.xml:
* docs/plugins/inspect/plugin-interleave.xml:
* docs/plugins/inspect/plugin-jack.xml:
* docs/plugins/inspect/plugin-ladspa.xml:
* docs/plugins/inspect/plugin-metadata.xml:
* docs/plugins/inspect/plugin-mms.xml:
* docs/plugins/inspect/plugin-modplug.xml:
* docs/plugins/inspect/plugin-mpeg2enc.xml:
* docs/plugins/inspect/plugin-mpeg4videoparse.xml:
* docs/plugins/inspect/plugin-mpegtsparse.xml:
* docs/plugins/inspect/plugin-mpegvideoparse.xml:
* docs/plugins/inspect/plugin-musepack.xml:
* docs/plugins/inspect/plugin-musicbrainz.xml:
* docs/plugins/inspect/plugin-mve.xml:
* docs/plugins/inspect/plugin-mythtv.xml
* docs/plugins/inspect/plugin-nas.xml:
* docs/plugins/inspect/plugin-neon.xml:
* docs/plugins/inspect/plugin-nsfdec.xml:
* docs/plugins/inspect/plugin-nuvdemux.xml:
* docs/plugins/inspect/plugin-oss4.xml
* docs/plugins/inspect/plugin-rawparse.xml:
* docs/plugins/inspect/plugin-real.xml:
* docs/plugins/inspect/plugin-replaygain.xml:
* docs/plugins/inspect/plugin-rfbsrc.xml:
* docs/plugins/inspect/plugin-sdl.xml:
* docs/plugins/inspect/plugin-sdp.xml:
* docs/plugins/inspect/plugin-selector.xml:
* docs/plugins/inspect/plugin-sndfile.xml:
* docs/plugins/inspect/plugin-soundtouch.xml:
* docs/plugins/inspect/plugin-spcdec.xml:
* docs/plugins/inspect/plugin-speed.xml:
* docs/plugins/inspect/plugin-speexresample.xml:
* docs/plugins/inspect/plugin-stereo.xml:
* docs/plugins/inspect/plugin-subenc.xml
* docs/plugins/inspect/plugin-timidity.xml:
* docs/plugins/inspect/plugin-tta.xml:
* docs/plugins/inspect/plugin-vcdsrc.xml:
* docs/plugins/inspect/plugin-videosignal.xml:
* docs/plugins/inspect/plugin-vmnc.xml:
* docs/plugins/inspect/plugin-wildmidi.xml:
* docs/plugins/inspect/plugin-x264.xml:
* docs/plugins/inspect/plugin-xvid.xml:
* docs/plugins/inspect/plugin-y4menc.xml:
* ext/amrwb/gstamrwbdec.c:
* ext/amrwb/gstamrwbenc.c:
* ext/amrwb/gstamrwbparse.c:
* ext/dc1394/gstdc1394.c:
* ext/directfb/dfbvideosink.c:
* ext/ivorbis/vorbisdec.c:
* ext/jack/gstjackaudiosink.c:
* ext/mpeg2enc/gstmpeg2enc.cc:
* ext/mplex/gstmplex.cc:
* ext/musicbrainz/gsttrm.c:
* ext/mythtv/gstmythtvsrc.c:
* ext/theora/theoradec.c:
* ext/timidity/gsttimidity.c:
* ext/timidity/gstwildmidi.c:
* gst-libs/gst/app/gstappsink.c:
* gst/deinterlace/gstdeinterlace.c:
* gst/dvdspu/gstdvdspu.c:
* gst/festival/gstfestival.c:
* gst/freeze/gstfreeze.c:
* gst/interleave/deinterleave.c:
* gst/interleave/interleave.c:
* gst/modplug/gstmodplug.cc:
* gst/nuvdemux/gstnuvdemux.c:
Add missing elements to docs. Fix doc-markup: use convinience syntax
for examples (produces valid docbook), add several refsec2 when we
have several titles. Fix some types.
2008-06-13 11:59:21 +00:00
Wim Taymans
c30d479783 examples/app/: Add beefed up example app from bug #413418. It now also uses appsink instead of fakesink for more ulti...
Original commit message from CVS:
* examples/app/.cvsignore:
* examples/app/Makefile.am:
* examples/app/appsink-src.c: (on_new_buffer_from_source),
(on_source_message), (on_sink_message), (main):
Add beefed up example app from bug #413418. It now also uses appsink
instead of fakesink for more ultimate coolness.
* 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_unlock),
(gst_app_src_unlock_stop), (gst_app_src_create),
(gst_app_src_set_max_bytes), (gst_app_src_push_buffer),
(gst_app_src_end_of_stream):
* gst-libs/gst/app/gstappsrc.h:
Add block property to allow push based implementation to block when we
fill up the appsrc queues.
Emit the enough-data signal while releasing our lock.
2008-06-12 15:47:03 +00:00
Stefan Kost
e54b324d7d Do not use short_description in section docs for elements. We extract them from element details and there will be war...
Original commit message from CVS:
* ext/dc1394/gstdc1394.c:
* ext/ivorbis/vorbisdec.c:
* ext/jack/gstjackaudiosink.c:
* ext/metadata/gstmetadatademux.c:
* ext/mythtv/gstmythtvsrc.c:
* ext/theora/theoradec.c:
* gst-libs/gst/app/gstappsink.c:
* gst/bayer/gstbayer2rgb.c:
* gst/deinterlace/gstdeinterlace.c:
* gst/rawparse/gstaudioparse.c:
* gst/rawparse/gstvideoparse.c:
* gst/rtpmanager/gstrtpbin.c:
* gst/rtpmanager/gstrtpclient.c:
* gst/rtpmanager/gstrtpjitterbuffer.c:
* gst/rtpmanager/gstrtpptdemux.c:
* gst/rtpmanager/gstrtpsession.c:
* gst/rtpmanager/gstrtpssrcdemux.c:
* gst/selector/gstinputselector.c:
* gst/selector/gstoutputselector.c:
* gst/videosignal/gstvideoanalyse.c:
* gst/videosignal/gstvideodetect.c:
* gst/videosignal/gstvideomark.c:
* sys/oss4/oss4-mixer.c:
* sys/oss4/oss4-sink.c:
* sys/oss4/oss4-source.c:
Do not use short_description in section docs for elements. We extract
them from element details and there will be warnings if they differ.
Also fixing up the ChangeLog order.
2008-06-12 14:49:15 +00:00
Wim Taymans
593d4b1af3 examples/app/: Added 3 more example application for using appsrc in random-access mode, pull-mode streaming and pull ...
Original commit message from CVS:
* examples/app/Makefile.am:
* examples/app/appsrc-ra.c: (feed_data), (seek_data),
(found_source), (bus_message), (main):
* examples/app/appsrc-seekable.c: (feed_data), (seek_data),
(found_source), (bus_message), (main):
* examples/app/appsrc-stream2.c: (feed_data), (found_source),
(bus_message), (main):
Added 3 more example application for using appsrc in random-access mode,
pull-mode streaming and pull mode seekable.
* gst-libs/gst/app/gstappsrc.c: (gst_app_src_class_init),
(gst_app_src_start), (gst_app_src_do_get_size),
(gst_app_src_create):
* gst-libs/gst/app/gstappsrc.h:
Make stream-type property writable.
Unset flushing when starting so that we reuse appsrc.
Inform basesrc about the configured size.
Emit seek-data signal when we are going to a different offset in
random-access mode.
2008-06-06 16:50:51 +00:00
Wim Taymans
20d64607d4 examples/app/: Added an example on how to use appsrc in playbin in streaming mode from an mmapped file.
Original commit message from CVS:
* examples/app/.cvsignore:
* examples/app/Makefile.am:
* examples/app/appsrc-stream.c: (read_data), (start_feed),
(stop_feed), (found_source), (bus_message), (main):
Added an example on how to use appsrc in playbin in streaming mode from
an mmapped file.
* examples/app/appsrc_ex.c: (main):
Set pipeline to NULL to free queued buffers.
* gst-libs/gst/app/gstapp-marshal.list:
* gst-libs/gst/app/gstappsrc.c: (stream_type_get_type), (_do_init),
(gst_app_src_class_init), (gst_app_src_init),
(gst_app_src_flush_queued), (gst_app_src_dispose),
(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_do_seek),
(gst_app_src_create), (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_push_buffer),
(gst_app_src_end_of_stream), (gst_app_src_uri_get_type),
(gst_app_src_uri_get_protocols), (gst_app_src_uri_get_uri),
(gst_app_src_uri_set_uri), (gst_app_src_uri_handler_init):
* gst-libs/gst/app/gstappsrc.h:
Measure max queue size in bytes instead.
Add support for 3 modes of operation, streaming, seekable and
random-access, making basesrc handle the scheduling modes for each.
Add appsrc:// uri handler so that automatic plugging can be done from
playbin2 or uridecodebin, for example.
Added support for custom segment formats.
Add support for push and pull based operations from the application.
Expand the methods so that errors can be detected.
Flush the queued buffers on seeks and when shutting down.
Add signals to inform the app that a seek must happen.
2008-06-05 16:38:50 +00:00
Wim Taymans
8c3b00be4d gst-libs/gst/app/: Add marshal.list, make it compile and add to cvsignore.
Original commit message from CVS:
* gst-libs/gst/app/.cvsignore:
* gst-libs/gst/app/Makefile.am:
* gst-libs/gst/app/gstapp-marshal.list:
Add marshal.list, make it compile and add to cvsignore.
* gst-libs/gst/app/gstappsink.c: (gst_app_sink_dispose),
(gst_app_sink_stop):
Small cleanups.
* 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_unlock),
(gst_app_src_unlock_stop), (gst_app_src_start), (gst_app_src_stop),
(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_seekable),
(gst_app_src_get_seekable), (gst_app_src_set_max_buffers),
(gst_app_src_get_max_buffers), (gst_app_src_push_buffer),
(gst_app_src_end_of_stream):
* gst-libs/gst/app/gstappsrc.h:
Beat appsrc in shape, add signals and actions.
Add some docs.
Add properties for caps, size, seekability and max-buffers.
Fix unlock/stop code.
2008-05-07 10:38:23 +00:00
Wim Taymans
1275eda108 gst-libs/gst/app/gstappsink.*: Start some docs.
Original commit message from CVS:
* gst-libs/gst/app/gstappsink.c: (gst_app_sink_class_init),
(gst_app_sink_init), (gst_app_sink_set_property),
(gst_app_sink_get_property), (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_set_caps), (gst_app_sink_set_drop),
(gst_app_sink_get_drop):
* gst-libs/gst/app/gstappsink.h:
Start some docs.
Add property to drop buffers when the queue is filled
Fix unlocking and flushing when the queues are filled.
2008-05-05 10:27:45 +00:00
Wim Taymans
0c5d01b59f gst-libs/gst/app/gstappsink.*: Add more docs.
Original commit message from CVS:
* gst-libs/gst/app/gstappsink.c: (gst_app_sink_class_init),
(gst_app_sink_init), (gst_app_sink_set_property),
(gst_app_sink_get_property), (gst_app_sink_event),
(gst_app_sink_preroll), (gst_app_sink_render),
(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_pull_buffer):
* gst-libs/gst/app/gstappsink.h:
Add more docs.
Add signals for when preroll and render buffers are available.
Add property to control signal emission.
Add property to control the max queue size.
2008-04-25 18:18:47 +00:00
Wim Taymans
88322ce012 gst-libs/gst/app/gstappsink.c: Really clean up the queue instead of just unreffing all buffers in it.
Original commit message from CVS:
* gst-libs/gst/app/gstappsink.c: (gst_app_sink_dispose):
Really clean up the queue instead of just unreffing all buffers
in it.
* gst-libs/gst/app/gstappsrc.c: (gst_app_src_base_init),
(gst_app_src_class_init), (gst_app_src_init),
(gst_app_src_dispose), (gst_app_src_finalize):
Fix dispose/finalize.
2008-01-31 17:18:46 +00:00
Wim Taymans
0bba976bd3 gst-libs/gst/app/gstappsink.*: Add properties, signals and actions to access the element even without linking to the ...
Original commit message from CVS:
* gst-libs/gst/app/gstappsink.c: (gst_app_marshal_OBJECT__VOID),
(gst_app_sink_class_init), (gst_app_sink_init),
(gst_app_sink_dispose), (gst_app_sink_finalize),
(gst_app_sink_set_property), (gst_app_sink_get_property),
(gst_app_sink_flush_unlocked), (gst_app_sink_start),
(gst_app_sink_event), (gst_app_sink_getcaps),
(gst_app_sink_set_caps), (gst_app_sink_get_caps),
(gst_app_sink_is_eos), (gst_app_sink_pull_preroll),
(gst_app_sink_pull_buffer):
* gst-libs/gst/app/gstappsink.h:
Add properties, signals and actions to access the element even without
linking to the library.
Fix some method names and signatures.
2007-09-20 13:59:50 +00:00
Peter Kjellerstedt
3b6df87810 gst/: Printf format fixes (#476128).
Original commit message from CVS:
Patch by: Peter Kjellerstedt  <pkj at axis com>
* gst-libs/gst/app/gstappsink.c:
* gst/flv/gstflvdemux.c:
* gst/flv/gstflvparse.c:
* gst/interleave/deinterleave.c:
* gst/switch/gstswitch.c:
Printf format fixes (#476128).
2007-09-12 08:38:21 +00:00
Wim Taymans
c17a721e0a gst-libs/gst/app/gstappsink.c: Override the preroll vmethod instead of overriding the render method twice.
Original commit message from CVS:
* gst-libs/gst/app/gstappsink.c: (gst_app_sink_class_init):
Override the preroll vmethod instead of overriding the render method
twice.
2007-08-16 17:11:48 +00:00
Wim Taymans
1ec11dbc8e gst-libs/gst/app/gstappsink.c: Don't use new API.
Original commit message from CVS:
* gst-libs/gst/app/gstappsink.c: (gst_app_sink_flush_unlocked):
Don't use new API.
2007-08-14 17:47:34 +00:00
Wim Taymans
dd72f88a8c gst-libs/gst/app/gstappsink.*: Make love to appsink.
Original commit message from CVS:
* gst-libs/gst/app/gstappsink.c: (gst_app_sink_base_init),
(gst_app_sink_class_init), (gst_app_sink_dispose),
(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_get_caps),
(gst_app_sink_set_caps), (gst_app_sink_end_of_stream),
(gst_app_sink_pull_preroll), (gst_app_sink_pull_buffer):
* gst-libs/gst/app/gstappsink.h:
Make love to appsink.
Make it support pulling of the preroll buffer.
Add docs and debug statements.
Fix some races wrt to EOS handling and stopping.
Implement getcaps.
Implement FLUSHING.
API: gst_app_sink_pull_preroll()
2007-08-14 17:38:05 +00:00
Thomas Vander Stichele
1e467ec211 gst-libs/gst/app/Makefile.am: Use GST_ALL_LDFLAGS, which actually exists, but maybe David can confirm that was what h...
Original commit message from CVS:
* gst-libs/gst/app/Makefile.am:
Use GST_ALL_LDFLAGS, which actually exists, but maybe David
can confirm that was what he wanted.
2007-03-22 14:37:08 +00:00
David Schleef
6cf863e33c Add appsrc/appsink example.
Original commit message from CVS:
* configure.ac:
* examples/Makefile.am:
* examples/app/Makefile.am:
* examples/app/appsrc_ex.c:
Add appsrc/appsink example.
* gst-libs/gst/app/Makefile.am:
* gst-libs/gst/app/gstapp.c:
* gst-libs/gst/app/gstappsink.c:
* gst-libs/gst/app/gstappsink.h:
* gst/app/gstapp.c:
Add appsink.
2007-03-11 00:48:26 +00:00
David Schleef
64d706f402 gst-libs/gst/app/Makefile.am: Install the headers.
Original commit message from CVS:
* gst-libs/gst/app/Makefile.am:
Install the headers.
2007-03-03 10:23:03 +00:00
David Schleef
b11893bb27 gst-libs/gst/app/: Add GstAppBuffer that includes a callback and closure for proper handling of data chunks.
Original commit message from CVS:
* gst-libs/gst/app/Makefile.am:
* gst-libs/gst/app/gstappbuffer.c:
* gst-libs/gst/app/gstappbuffer.h:
* gst-libs/gst/app/gstappsrc.c:
Add GstAppBuffer that includes a callback and closure for
proper handling of data chunks.
2007-03-03 10:10:30 +00:00
David Schleef
e8afc8b284 gst-libs/gst/app/gstappsrc.*: Hacking to address issues in 413418.
Original commit message from CVS:
* gst-libs/gst/app/gstappsrc.c:
* gst-libs/gst/app/gstappsrc.h:
Hacking to address issues in 413418.
2007-03-03 09:06:06 +00:00
David Schleef
2164be520c Move the app library to gst-libs/gst/app (duh!)
Original commit message from CVS:
* Makefile.am:
* configure.ac:
* ext/Makefile.am:
* gst-libs/gst/Makefile.am:
* gst-libs/gst/app/Makefile.am:
* gst-libs/gst/app/gstapp.c:
* gst-libs/gst/app/gstappsrc.c:
* gst-libs/gst/app/gstappsrc.h:
* gst/app/Makefile.am:
* gst/app/gstapp.c:
* gst/app/gstappsrc.c:
* gst/app/gstappsrc.h:
Move the app library to gst-libs/gst/app (duh!)
2007-03-03 08:16:57 +00:00