Commit graph

101 commits

Author SHA1 Message Date
Arun Raghavan
91084f49c0 appsrc: Minor documentation cleanup 2016-01-19 12:56:20 +05:30
Kazunori Kobayashi
d43f1b2a5a appsrc: Clear is_eos flag when receiving the flush-stop event
The EOS event can be propagated to the downstream elements when
is_eos flag remains set even after leaving the flushing state.
This fix allows this element to normally restart the streaming
after receiving the flush event by clearing the is_eos flag.

https://bugzilla.gnome.org/show_bug.cgi?id=759110
2015-12-19 11:35:39 +01:00
Philippe Normand
872f40d7d9 appsrc: duration query support based on the size property
https://bugzilla.gnome.org/show_bug.cgi?id=759126
2015-12-08 12:42:46 +02:00
Sebastian Dröge
8613525301 appsrc: Always take the mutex before flushing the queue
Otherwise the application might push new buffers into the queue while we're
flushing, potentially causing the GQueue data structure to become inconsistent
and causing crashes soon after.

https://bugzilla.gnome.org/show_bug.cgi?id=754597
2015-09-09 12:33:02 +03:00
Vikram Fugro
bbe967a278 appsrc: retain the latest caps in queue when flushing
- Retain the latest caps in the internal queue, when
  flushing.
- Add a unit test case for the same.

https://bugzilla.gnome.org/show_bug.cgi?id=754597
2015-09-09 12:27:40 +03:00
Philippe Normand
9361f7c576 appsrc: remove duplicate get_size vfunc assignment 2015-08-31 12:11:10 +03:00
Tim-Philipp Müller
8304893d06 appsrc: optimise caps changing when previously-set caps have not taken effect yet
Only negotiate/change caps once when setting caps twice and
the first-set caps have not been used yet.

Based on patch by Eunhae Choi.

https://bugzilla.gnome.org/show_bug.cgi?id=747517
2015-05-18 13:37:54 +01:00
Ilya Konstantinov
d668b511d1 appsrc: docs grammar fixes
https://bugzilla.gnome.org/show_bug.cgi?id=747516
2015-04-09 20:39:42 +01:00
Nicola Murino
f23736d52f appsrc: handle a sample not having caps or a buffer more gracefully
https://bugzilla.gnome.org/show_bug.cgi?id=746908
2015-03-28 12:00:38 +00:00
Sebastian Dröge
8547594727 Improve and fix LATENCY query handling
This now follows the design docs everywhere, especially the maximum latency
handling.

https://bugzilla.gnome.org/show_bug.cgi?id=744106
2015-02-11 17:53:49 +02:00
Nicola Murino
617f72b526 appsrc: Add push_sample() convenience function for easy appsink -> appsrc use
https://bugzilla.gnome.org/show_bug.cgi?id=728379
2014-09-12 14:07:49 +03:00
Sebastian Dröge
8fc307fae0 appsrc: Some minor fixes and cleanup 2014-08-06 10:07:42 +02:00
Wang Xin-yu (王昕宇)
251c63c4ab appsrc: Make caps set action queued together with buffer
https://bugzilla.gnome.org/show_bug.cgi?id=729760
2014-08-06 10:04:49 +02:00
Youness Alaoui
6b0063aab5 appsrc: Fix memory leak with callback notify not being called in dispose
https://bugzilla.gnome.org/show_bug.cgi?id=733386
2014-07-19 14:38:36 +02:00
Thiago Santos
bbf226d9d6 appsrc: add send_event handler for flushing
Adds a send_event handling for allowing appsrc to flush its internal
data, allowing users to flush the pipeline without setting it to null.

https://bugzilla.gnome.org/show_bug.cgi?id=724231
2014-06-10 12:59:53 -03:00
Tim-Philipp Müller
bcb8068e27 docs: remove outdated and pointless 'Last reviewed' lines from docs
They are very confusing for people, and more often than not
also just not very accurate. Seeing 'last reviewed: 2005' in
your docs is not very confidence-inspiring. Let's just remove
those comments.
2014-04-26 23:28:57 +01:00
Tom Greenwood
360ac34425 appsrc: Fix deadlock that may occur when multiple threads access appsrc at once
https://bugzilla.gnome.org/show_bug.cgi?id=711550
2013-11-07 18:28:09 +01:00
Sebastian Dröge
e2597e1e42 appsrc: Also provide function API for current-level-bytes and integrate into the docs 2013-07-26 11:03:08 +02:00
Changbok Chea
bdbfa45296 appsrc: Add "current-level-bytes" property
https://bugzilla.gnome.org/show_bug.cgi?id=704774
2013-07-26 11:03:08 +02:00
Nicola Murino
2a1dc7ca56 appsrc: fix deadlock setting pipeline in NULL state with block=true 2013-03-12 11:16:57 +01:00
Wim Taymans
ed6e7776f3 appsrc: negotiate before popping buffer
First negotiate and then try to pop a buffer from the queue. This is just
to improve the debug log.
2013-02-06 10:07:47 +01:00
Wim Taymans
d4ed3ddf6f appsrc: always take mutex before object lock
The locking order is to first take the appsrc mutex and then the
object lock.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=693224
2013-02-06 10:00:27 +01:00
Tim-Philipp Müller
020eb24dcf app: fix g-i annotation for gst_app_src_push_buffer()
It takes ownership of the buffer.
2012-11-21 21:53:13 +00:00
Tim-Philipp Müller
5f59b4f7ee Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 23:05:09 +00:00
Tim-Philipp Müller
224fb90469 theora, app: use gst_element_class_set_static_metadata()
Avoids string copies.
2012-10-17 16:54:14 +01:00
Tim-Philipp Müller
80e45be3d0 appsrc: fix max-latency property getter
Was returning the min-latency value.
2012-09-29 21:42:46 +01:00
Mark Nauwelaerts
f7c247b6a3 replace gst_element_class_set_details_simple with gst_element_class_set_metadata 2012-09-14 17:02:59 +02:00
Tim-Philipp Müller
879e6ab35c appsrc: don't clear/free GCond twice 2012-09-10 01:16:41 +01:00
Thibault Saunier
acde0579f8 app: port to the new GLib thread API 2012-09-09 20:41:06 -03:00
Tim-Philipp Müller
2079a8c12b Remove glib-compat-private.h stuff we don't need any more
It's all been ported to the latest GLib API now.
2012-09-09 18:36:49 +01:00
Tim-Philipp Müller
a99a1042b9 gst_message_new_duration() -> gst_message_new_duration_changed() 2012-09-02 01:27:17 +01:00
Evan Nemerson
a6fc7732c1 appsink, appsrc: skip set_callbacks APIs for introspection
https://bugzilla.gnome.org/show_bug.cgi?id=678301
2012-08-10 16:07:04 +01:00
Thiago Santos
6d4f94f45e appsrc: send caps event when the user updates appsrc caps
As buffer don't have caps anymore, the caps event needs to be pushed
before buffers are pushed.
2012-08-02 19:00:35 -03:00
Edward Hervey
2817bdadc9 libs: Remove "Since" markers and minor doc fixups 2012-07-13 12:11:06 +02:00
Sebastian Dröge
df63268e5a appsrc: Actually store any URI that is set and return this when asked for the URI 2012-06-21 11:16:36 +01:00
Tim-Philipp Müller
892cefe651 appsrc: simplify get_property for "caps" property 2012-05-17 22:11:27 +01:00
Tim-Philipp Müller
e110d8b6f4 appsrc: remove filter argument from gst_app_src_get_caps()
Was presumably added by mistaken in the grand _get_caps()
conversion. Doesn't really make sense for a property accessor.
2012-05-17 22:04:24 +01:00
Alessandro Decina
131bf5fb47 appsrc: reset is_eos flag after a succesful seek from _create 2012-04-19 06:18:41 +02:00
Wim Taymans
a75e9102c5 GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING 2012-02-08 15:17:49 +01:00
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
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
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
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
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