Sebastian Dröge
4881ea95b0
imagefreeze: Only set the DISCONT flag on the first buffer after segment start
2019-04-25 08:20:14 +00:00
Antonio Ospite
8c26e33f20
imagefreeze: add a num-buffers property
...
The imagefreeze element can be handy for benchmarking downstream
elements because it re-uses the same buffer memory and introduces less
overhead compared to always creating new frames with videotestsrc.
However it's not possible to make imagefreeze send EOS when using
gst-launch-1.0.
Add a num-buffers property to make it look more like a source in the
above scenario.
2019-03-14 09:12:28 +01:00
Sebastian Dröge
d51139ad16
imagefreeze: Allow ANY capsfeatures
2018-09-26 13:30:04 +03:00
Tim-Philipp Müller
d712a2f4b7
imagefreeze: fix use-after-free on seek event
...
Get seqnum before unreffing the seek event.
https://bugzilla.gnome.org/show_bug.cgi?id=784486
2017-07-03 20:43:12 +01:00
Sebastian Dröge
5c0303708d
imagefreeze: Remove now unused done label
2017-02-09 14:18:30 +02:00
Nick Kallen
f9e4fae0b3
imagefreeze: do not cache caps
...
Upstream elements like videoflip can transform caps, such as changing width and height.
When an imagefreeze downstream receives an ACCEPT_CAPS query it will NOW return
all caps that it can accept.
https://bugzilla.gnome.org/show_bug.cgi?id=778389
2017-02-09 14:04:44 +02:00
Nirbheek Chauhan
6fe40c92bf
imagefreeze: Forward latency queries to upstream
...
Without this, latency queries to imagefreeze will fail.
2016-10-03 15:37:29 +05:30
Thibault Saunier
150edef830
Use the new API to post flow ERROR messages on the bus
...
https://bugzilla.gnome.org/show_bug.cgi?id=770158
2016-08-26 19:23:26 -03:00
Vineeth TM
1071309870
good: use new gst_element_class_add_static_pad_template()
...
https://bugzilla.gnome.org/show_bug.cgi?id=763076
2016-03-24 14:32:20 +02:00
Dave Craig
211c8492b3
gst: Don't assume that get_current_caps() returns non-NULL caps after has_current_caps()
...
Remove calls to gst_pad_has_current_caps() which then go on to call
gst_pad_get_current_caps() as the caps can go to NULL in between. Instead just
use gst_pad_get_current_caps() and check for NULL.
https://bugzilla.gnome.org/show_bug.cgi?id=759539
2016-02-23 18:11:42 +02:00
Thiago Santos
4ac0a49308
imagefreeze: simplify caps selection
...
The downstream caps query with a filter alraedy gives us the possible
intersection so there is no need to check it again with downstream
if it is supported. Just try to set it directly.
2016-01-08 16:29:29 -03:00
Luis de Bethencourt
55175561f6
Revert "imagefreeze: Remove impossible error condition"
...
This reverts commit d46631c5c7
.
pad only handle EOS events but not EOS flow, and will push the buffer again
resulting in an assertion error. So we should not handle the buffer
and return EOS flow.
2015-07-07 15:57:19 +01:00
Luis de Bethencourt
063f553275
docs: decodebin2 -> decodebin
2015-06-25 10:57:29 +01:00
Thibault Saunier
99bbc2bbe4
imagefreeze: Handle seqnums
...
https://bugzilla.gnome.org/show_bug.cgi?id=739366
2014-11-06 12:20:25 +01:00
Vineeth T M
6ff397eccc
imagefreeze: replace with gst_buffer_copy
...
gst_buffer_ref and gst_buffer_writable is being used to create a writable copy of source buffer.
replacing the same with gst_buffer_copy as the functionality is same.
https://bugzilla.gnome.org/show_bug.cgi?id=735880
2014-09-03 21:33:09 -03:00
Vineeth T M
3a1e010221
imagefreeze: Don't call gst_caps_unref() on template caps when already unreferenced
...
Adding an extra condition while calling gst_caps_unref (templ)
and replacing gst_caps_make_writable (gst_caps_ref (caps)) with
gst_caps_copy (caps) in line 177, since the functionality is same.
https://bugzilla.gnome.org/show_bug.cgi?id=735795
2014-09-01 14:34:43 +03:00
Vineeth T M
d46631c5c7
imagefreeze: Remove impossible error condition
...
We return EOS after the first buffer, and GstPad will make sure now that we
won't get any other buffer afterwards until a flush happens. No need to check
for it ourselves.
https://bugzilla.gnome.org/show_bug.cgi?id=735581
2014-08-28 14:55:00 +03:00
Sebastian Rasmussen
c85ae43a6e
imagefreeze: Unref pad template caps after usage
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734475
2014-08-08 15:54:39 -03:00
Sebastian Dröge
859c751a5d
imagefreeze: Set segment position to the stop position of the buffer
2014-05-02 17:14:29 +02:00
Sebastian Dröge
4282d75597
imagefreeze: Properly report errors before stopping the srcpad task
2014-05-02 17:14:29 +02:00
Sebastian Dröge
4933394d35
imagefreeze: Error out if we have no caps yet
2014-05-02 17:14:29 +02:00
Tim-Philipp Müller
230cf41cc9
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:07:18 +00:00
Thiago Santos
02d91dcd24
imagefreeze: the new get_caps already does the filter intersection
...
It should be faster to pass the caps to intersect as the filter caps,
rather than using NULL and intersecting 'manually' later.
https://bugzilla.gnome.org/show_bug.cgi?id=686837
2012-10-25 10:32:17 -03:00
Thiago Santos
115581eb2e
imagefreeze: avoid assertion when using accept caps query
...
This query must receive a fixed caps, so imagefreeze should
fixate its framerate before sending the query downstream.
https://bugzilla.gnome.org/show_bug.cgi?id=686837
2012-10-25 09:39:36 -03:00
Tim-Philipp Müller
4bb52bbadf
docs: gst-launch -> gst-launch-1.0 and ffmpegcolorspace -> videoconvert
2012-08-27 21:20:30 +01:00
Sebastian Dröge
aeafc3a093
gst: Implement segment-done event
2012-07-05 13:13:09 +02:00
Tim-Philipp Müller
8098a2f0b2
imagefreeze: clear 0 DTS on buffers output, as sinks will prefer DTS over PTS for syncing
...
Since the initial decoded still image buffer will have dts=pts=0, and
we only set PTS on buffers we push out, all buffers pushed out would
have a DTS of 0. Sinks, however, will prefer DTS over PTS if both are
set, and will therefore always see a timestamp of 0 no matter what
the PTS is set to.
Fixes unit test too.
2012-07-04 19:03:12 +01:00
Wim Taymans
30d3dfee36
update for task api change
2012-06-20 10:33:42 +02:00
Tim-Philipp Müller
e09ae5736d
Use new gst_element_class_set_static_metadata()
2012-04-10 00:51:41 +01:00
Sebastian Dröge
aa2cd462da
gst: Update for GST_PLUGIN_DEFINE() API changes
2012-04-05 17:36:38 +02:00
Wim Taymans
e310ee8218
caps: improve caps handling
...
Avoid caps copy and leaks
2012-03-27 16:42:41 +02:00
Mark Nauwelaerts
02114c1cf0
imagefreeze: plug caps leak
2012-03-24 09:51:06 +01:00
Mark Nauwelaerts
d7caf1dbb4
imagefreeze: immediately return GST_FLOW_EOS
...
... rather than _OK since we will not be caring about subsequent buffer
anyway.
2012-03-23 18:49:01 +01:00
Mark Nauwelaerts
ff616b1173
imagefreeze: fix query and _getcaps handling
2012-03-23 18:49:01 +01:00
Mark Nauwelaerts
98c681fe5b
imagefreeze: port to 0.11
2012-03-14 17:08:36 +01:00
Wim Taymans
9365f12d6e
GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING
2012-02-08 16:43:30 +01:00
Sebastian Dröge
10554b271f
Merge branch 'master' into 0.11
...
Conflicts:
ext/flac/gstflacdec.c
ext/jpeg/gstjpegenc.c
ext/pulse/pulsesink.c
sys/v4l2/gstv4l2src.c
2012-01-25 12:49:11 +01:00
Mark Nauwelaerts
a973c0b381
imagefreeze: add various missing break
2012-01-20 17:10:30 +01:00
Wim Taymans
1584806634
port to new gthread API
2012-01-19 11:33:53 +01:00
Sebastian Dröge
93e3ed5a86
Merge branch 'master' into 0.11
...
Conflicts:
ext/cairo/gsttextoverlay.c
ext/pulse/pulseaudiosink.c
gst/audioparsers/gstaacparse.c
gst/avi/gstavimux.c
gst/flv/gstflvmux.c
gst/interleave/interleave.c
gst/isomp4/gstqtmux.c
gst/matroska/matroska-demux.c
gst/matroska/matroska-mux.c
gst/matroska/matroska-mux.h
gst/matroska/matroska-read-common.c
gst/multifile/gstmultifilesink.c
gst/multipart/multipartmux.c
gst/shapewipe/gstshapewipe.c
gst/smpte/gstsmpte.c
gst/udp/gstmultiudpsink.c
gst/videobox/gstvideobox.c
gst/videocrop/gstaspectratiocrop.c
gst/videomixer/videomixer.c
gst/videomixer/videomixer2.c
gst/wavparse/gstwavparse.c
po/ja.po
po/lv.po
po/sr.po
tests/check/Makefile.am
tests/check/elements/qtmux.c
tests/check/elements/rgvolume.c
2012-01-10 14:32:32 +01:00
Wim Taymans
47a1da9076
GST_FLOW_UNEXPECTED -> GST_FLOW_EOS
2012-01-04 10:01:48 +01:00
Tim-Philipp Müller
b8b8454bcb
Suppress deprecation warnings in selected files, for g_static_rec_mutex_* mostly
...
GStaticRecMutex is part of our API/ABI, not much we can do here
in 0.10 for most of these.
2011-12-12 09:46:27 +00:00
Tim-Philipp Müller
66f6e12888
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.
2011-12-12 09:46:27 +00:00
Vincent Penquerc'h
c0e101e93f
various: fix pad template leaks
...
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:30:27 +00:00
Wim Taymans
7555d0949f
Merge branch 'master' into 0.11
...
Conflicts:
android/apetag.mk
android/avi.mk
android/flv.mk
android/icydemux.mk
android/id3demux.mk
android/qtdemux.mk
android/rtp.mk
android/rtpmanager.mk
android/rtsp.mk
android/soup.mk
android/udp.mk
android/wavenc.mk
android/wavparse.mk
configure.ac
2011-04-18 10:23:45 +02:00
Robert Swain
101087a23a
imagefreeze: Remove unused but set duration variable
...
GCC 4.6.x spits warnings about such variable usage.
2011-04-16 12:40:40 +01:00
David Hoyt
6e7474459a
imagefreeze: pass along eos if received before buffer arrives
...
Fixes #636172 .
2010-12-06 15:23:00 +01:00
Sebastian Dröge
86403e85c5
imagefreeze: Fix another subtle race condition related to starting the srcpad task
...
Due to a seek the srcpad task could be started in rare circumstances although
it shouldn't be started anymore because no upstream buffer is available.
2010-09-04 14:52:08 +02:00
Sebastian Dröge
e51fe6c181
imagefreeze: Protect the flushing-seek variable by the srcpad's stream lock
...
This fixes a subtle race condition, that caused bufferalloc to fail
with wrong-state due to a seek but caused it to be not retried as
it should.
2010-09-04 14:52:08 +02:00
Sebastian Dröge
d8ef9bb691
imagefreeze: Always generate a perfectly timestamped stream
...
Before there could be rounding errors when calculating the duration,
resulting in timestamp + duration being smaller than the next buffer's
timestamp.
2010-09-04 14:52:07 +02:00