Stefan Kost [Thu, 24 Mar 2011 16:27:09 +0000 (18:27 +0200)]
docs: fix some gtk-doc warnings
Document the queue leaky enums.
Stefan Kost [Thu, 24 Mar 2011 16:25:08 +0000 (18:25 +0200)]
queue2: set max value for to the matching one for the datatype
The property is guint64, so use G_MAXUINT64 instead of G_MAXUINT.
Stefan Kost [Thu, 24 Mar 2011 11:22:57 +0000 (13:22 +0200)]
docs: cleanup and xref fixes
Deal with the hints from gtk-doc and fix the xrefs. Apply a work-around for ()
precedence over @. Move "MT Safe" text to doc body in many places. Trim eol
whitespaces.
Stefan Kost [Wed, 23 Mar 2011 14:42:24 +0000 (16:42 +0200)]
basesink: print flow return as a name in debug log
Stefan Kost [Wed, 23 Mar 2011 15:13:58 +0000 (17:13 +0200)]
docs: do xrefs for non installed books too
Get the xrefs from the builddir for the books in the same packages. This fixes
the cross references if one does not have the docs already installed.
Edward Hervey [Mon, 19 Apr 2010 18:39:53 +0000 (20:39 +0200)]
basesrc: Keep downstream caps order when fixating
This allows use to use the first intersecting format prefered by downstream.
https://bugzilla.gnome.org/show_bug.cgi?id=617045
Edward Hervey [Mon, 19 Apr 2010 18:40:56 +0000 (20:40 +0200)]
basetransform: Retain caps order when getting caps
If the element gave us caps in a specific order, let's retain that
by intersecting against the template but retaining the order given
by the element.
https://bugzilla.gnome.org/show_bug.cgi?id=617045
Thiago Santos [Fri, 25 Feb 2011 13:25:26 +0000 (10:25 -0300)]
tests: caps: Tests for the new caps intersection mode
Adds test cases for the caps 'first' intersect mode
Adds another test for the 'zigzag' mode
Fixes #617045
Edward Hervey [Fri, 25 Feb 2011 11:50:12 +0000 (08:50 -0300)]
gstcaps: new API : gst_caps_intersect_full
Just like gst_caps_intersect, but adds a new parameter 'mode'
that allows selecting the intersection algorithm to use.
Currently we have GST_CAPS_INTERSECT_MODE_ZIG_ZAG (default) and
GST_CAPS_INTERSECT_MODE_FIRST.
API: gst_caps_intersect_full
API: GstCapsIntersectMode
API: GST_CAPS_INTERSECT_MODE_ZIG_ZAG
API: GST_CAPS_INTERSECT_MODE_FIRST
https://bugzilla.gnome.org/show_bug.cgi?id=617045
Tim-Philipp Müller [Sat, 12 Mar 2011 17:01:39 +0000 (17:01 +0000)]
tests: add libscpp unit test to make sure g++ likes our library headers
Tim-Philipp Müller [Sat, 12 Mar 2011 16:58:01 +0000 (16:58 +0000)]
bytereader, bytewriter: fix up inline functions to make g++ happy
gstbytereader.h: In function ‘guint8* gst_byte_reader_dup_data_unchecked(GstByteReader*, guint)’:
gstbytereader.h:249:75: error: invalid conversion from ‘void*’ to ‘guint8*’
gstbytewriter.h: In function ‘gboolean _gst_byte_writer_ensure_free_space_inline(GstByteWriter*, guint)’:
gstbytewriter.h:196:75: error: invalid conversion from ‘void*’ to ‘guint8*’
https://bugzilla.gnome.org/show_bug.cgi?id=645595
Thiago Santos [Tue, 22 Mar 2011 19:26:56 +0000 (16:26 -0300)]
gstelement: Fix typo in the docs
GST_ELEMENT_INFO will post a INFO message, not a WARNING
Thiago Santos [Fri, 18 Mar 2011 11:22:23 +0000 (08:22 -0300)]
tagsetter: Removing unused debug category
tagsetter's debug category had a typo and was unused. Removing it.
Luis de Bethencourt [Fri, 18 Mar 2011 18:34:57 +0000 (19:34 +0100)]
autogen: wingo signed comment
Sebastian Dröge [Tue, 22 Mar 2011 10:04:20 +0000 (11:04 +0100)]
multiqueue: Don't leak objects when flushing after dequeueing and before pushing the object
Sebastian Dröge [Mon, 21 Mar 2011 16:54:10 +0000 (17:54 +0100)]
multiqueue: Really remove unused variable
Sebastian Dröge [Mon, 21 Mar 2011 16:52:13 +0000 (17:52 +0100)]
multiqueue: Increment unique item counter with atomic operations
Before it was only protected by the stream lock but every pad
has its own stream lock, making the protection rather useless.
Sebastian Dröge [Mon, 21 Mar 2011 16:17:22 +0000 (17:17 +0100)]
multiqueue: Unblock all waiting pads when shutting down
Sebastian Dröge [Mon, 21 Mar 2011 11:39:34 +0000 (12:39 +0100)]
multiqueue: Remove unused variable
Sebastian Dröge [Mon, 21 Mar 2011 15:28:37 +0000 (16:28 +0100)]
multiqueue: Exit loop function if the pad is flushing
Fixes possible deadlocks when flushing an unlinked pad that waits
for other pads to advance.
Jason D. Clinton [Sat, 19 Mar 2011 22:06:12 +0000 (17:06 -0500)]
build: fix build with -Werror with GCC 4.6.0
This touches three areas of code, removes unused variables and discards
return values from two functions with (void).
https://bugzilla.gnome.org/show_bug.cgi?id=645267
Sebastian Dröge [Sat, 19 Mar 2011 09:39:28 +0000 (10:39 +0100)]
event: Add since marker to GST_EVENT_SINK_MESSAGE
Sebastian Dröge [Sat, 19 Mar 2011 07:55:57 +0000 (08:55 +0100)]
inputselector: Stop waiting for a pad switch when the pad is flushing
Sebastian Dröge [Sat, 19 Mar 2011 07:50:06 +0000 (08:50 +0100)]
inputselector: Move locking and signalling macros from the header to the source file
Tim-Philipp Müller [Thu, 17 Mar 2011 23:42:48 +0000 (23:42 +0000)]
task: fix GST_TASK_BROADCAST
Surprisingly enough, you can't "breadcast" on a GCond.
Spotted by Rune Sætre.
https://bugzilla.gnome.org/show_bug.cgi?id=645022
Sebastian Dröge [Thu, 17 Mar 2011 13:21:17 +0000 (14:21 +0100)]
inputselector: Hold the selector lock while reading properties of the active pad
Sebastian Dröge [Thu, 17 Mar 2011 13:10:49 +0000 (14:10 +0100)]
inputselector: Make sure that EOS is always sent downstream for the active pad
It can happen that the currently active pad got the EOS event
before it was activated and the previously active pad got the
EOS event after it was deactivated. In that case we have to
send the EOS event from an inactive pad downstream.
Sebastian Dröge [Wed, 16 Mar 2011 17:19:11 +0000 (18:19 +0100)]
inputselector: Return GST_FLOW_OK until the selected pad pushed something downstream
This makes sure that during switches at no point in time all pads
have returned not-linked, which can happen when playing an audio-only
file with playbin2 and switching between the streams for example.
Fixes bug #644935.
Sebastian Dröge [Wed, 16 Mar 2011 11:01:21 +0000 (12:01 +0100)]
pad: Document that pad blocks only make sense for sink pads in pull mode and src pads in push mode
See bug #644907.
Sebastian Dröge [Wed, 16 Mar 2011 10:53:53 +0000 (11:53 +0100)]
ghostpad: The internally linked pad of the proxypad is the ghostpad
Previously we were returning the peerpad, which is the target
of the ghostpad.
Jonas Holmberg [Fri, 25 Feb 2011 15:20:49 +0000 (16:20 +0100)]
bufferlist: Use a GQueue instead of a GList
Adding a buffer to the end of a GstBufferList is supposed to be a fast
operation, but it was not since the iterator does not advance its
nextpointer when adding buffers and GList does not have a tail pointer.
Using a GQueue to store the buffers makes it easier to add buffers to
the end of the list and this operation will now be much more efficient.
Adding an entire GList of buffers using
gst_buffer_list_iterator_add_list() will however have to iterate over
the list being added to be able to update the tail pointer in the
GQueue.
Tim-Philipp Müller [Thu, 10 Mar 2011 17:48:26 +0000 (17:48 +0000)]
utils: fix ABI break when compiling gstreamer with -DGST_DISABLE_DEPRECATED
GST_DISABLE_DEPRECATED should only affect visibility of declarations in headers,
not actually remove symbols. See GitDeveloperGuidelines and DeprecatingAPI
pages in wiki.
https://bugzilla.gnome.org/show_bug.cgi?id=402141
Edward Hervey [Thu, 10 Mar 2011 15:46:04 +0000 (16:46 +0100)]
win32: Update .def file for API addition
Stefan Kost [Wed, 9 Mar 2011 14:15:33 +0000 (16:15 +0200)]
pwg: fix element name "videodrop" to "videorate"
Stefan Kost [Tue, 8 Mar 2011 10:11:08 +0000 (12:11 +0200)]
test: add tests for new element_factory api.
Thijs Vermeir [Wed, 23 Jun 2010 20:00:04 +0000 (22:00 +0200)]
gstutils: replace gst_element_factory_can_{sink,src}_caps
Add new functions to clarify how the caps are compared to the template caps of
the element factory. Improve the docs to point out the difference.
Deprecate: gst_element_factory_can_{src|sink}_caps
API: add gst_element_factory_can_{src|sink}_{any|all}_capps
https://bugzilla.gnome.org/show_bug.cgi?id=402141
Stefan Kost [Mon, 7 Mar 2011 21:13:56 +0000 (23:13 +0200)]
tests: add a unit test for gst_caps_new_simple
Add a test for the crash in bug #642271.
Stefan Kost [Tue, 8 Mar 2011 09:55:29 +0000 (11:55 +0200)]
tests: add test to create a factory
Stefan Kost [Tue, 8 Mar 2011 08:36:30 +0000 (10:36 +0200)]
tests: start a new test suite for element factories
Move one test from gstelement suite.
Stefan Kost [Tue, 8 Mar 2011 09:34:19 +0000 (11:34 +0200)]
padtemplate: add missing ; in example (and trim whitespace)
Stefan Kost [Tue, 8 Mar 2011 07:58:55 +0000 (09:58 +0200)]
structure: gst_structure_empty_new() does better error checking
No need to check for media_type!=NULL as the function we call that actual create
the structure does a full check anyway.
Stefan Kost [Tue, 8 Mar 2011 08:06:23 +0000 (10:06 +0200)]
caps,structure: trim trailing whitespace
Jonathan Matthew [Thu, 3 Mar 2011 22:28:25 +0000 (08:28 +1000)]
caps: don't create broken caps for invalid media types
Check if structure has been created before appending it to the caps. Free the
caps in the case of an error to not conceal it be returning empty caps.
Fixes #642271
Stefan Kost [Mon, 7 Mar 2011 14:21:47 +0000 (16:21 +0200)]
examples: update hello world example
Our helloworld example thatw e reference from the manual has been a bit
complicated to serve a first contact with gstreamer. Since we have and
promote playbin2 as a playback api use it here.
Based on work from Mathias Hasselmann <mathias.hasselmann@gmx.de>
Fixes #424143
Arun Raghavan [Wed, 2 Mar 2011 08:25:36 +0000 (13:55 +0530)]
faq: Minor update to ssh key generation commands
fd.o requires RSA keys, and in general, users would probably want to
make a per-server key file rather than overwrite id_rsa, id_rsa.pub.
Mark Nauwelaerts [Mon, 28 Feb 2011 17:43:41 +0000 (18:43 +0100)]
configure.ac: export plugin description more platform independent
Fixes #642504.
Mark Nauwelaerts [Mon, 28 Feb 2011 17:32:07 +0000 (18:32 +0100)]
Automatic update of common submodule
From 1de7f6a to 6aec6b9
Tim-Philipp Müller [Mon, 28 Feb 2011 15:01:54 +0000 (15:01 +0000)]
docs: typo fixes
convinience -> convenience
Tim-Philipp Müller [Mon, 28 Feb 2011 14:56:23 +0000 (14:56 +0000)]
tools: print "pad-added", "pad-removed" and "no-more-pads" signals for elements with sometimes pads
It's often not obvious to people that elements like e.g. uridecodebin
(or demuxers) automatically support the standard signals of the
GstElement class, so let's print the useful pad-related ones for
elements with sometimes pads.
Stefan Kost [Mon, 28 Feb 2011 14:27:01 +0000 (16:27 +0200)]
docs: small updates as suggested on a blog
Link from convinience api to the underlying api.
Tim-Philipp Müller [Thu, 24 Feb 2011 17:11:49 +0000 (17:11 +0000)]
uri: make win32 buildbot happy
gsturi.c:854:16: error: unused variable 'abs_clean'
gsturi.c:788:1: error: 'gst_file_utils_canonicalise_path' defined but not used
Tim-Philipp Müller [Thu, 24 Feb 2011 15:32:00 +0000 (15:32 +0000)]
filesrc, filesink: fix URI creation regression for non-absolute locations
Passing e.g. location=foo would lead to warnings because g_filename_to_uri()
wants an absolute file path and returns NULL otherwise. Use brand-new
gst_filename_to_uri() instead, which will try harder to create a proper
URI for us.
Also add unit test.
Tim-Philipp Müller [Thu, 24 Feb 2011 15:18:43 +0000 (15:18 +0000)]
uri: add gst_filename_to_uri() that takes relative filenames
Add function that (unlike the GLib equivalent) also accepts paths that
aren't absolute and will clean up relative markers such as ./ and ../
before forming a URI.
Fixes warnings with e.g. filesrc location=foo ! typefind caused by the
recent switch to g_filename_to_uri(), but also actually creates valid
URIs for the first time.
Windows code paths could need some more work, e.g. we don't clean up
the relative markers there for now (because path could have \ and /
as separators).
API: gst_filename_to_uri()
Stefan Kost [Thu, 24 Feb 2011 14:20:01 +0000 (16:20 +0200)]
tests: refix the tests (missing #endif)
Stefan Kost [Thu, 24 Feb 2011 14:11:17 +0000 (16:11 +0200)]
Makefile.am: add new abi headers to nodist_HEADERS
Stefan Kost [Mon, 21 Feb 2011 09:24:45 +0000 (11:24 +0200)]
gst-launch: add index support
When option "-i" is given, set an index object on the pipeline and compute
statistics for all index writers. Print a sumary when shutting down the
pipeline.
Stefan Kost [Thu, 24 Feb 2011 13:12:14 +0000 (15:12 +0200)]
tests: add abi check data for ARM (libs)
Stefan Kost [Thu, 24 Feb 2011 13:02:37 +0000 (15:02 +0200)]
tests: add abi check data for ARM
Stefan Kost [Wed, 23 Feb 2011 10:33:58 +0000 (12:33 +0200)]
docs: tell that ORC_CODE can contain a list of flags
Thiago Santos [Mon, 14 Feb 2011 21:05:09 +0000 (18:05 -0300)]
basetransform: Be smarter with pad allocs
Avoid doing unnecessary pad-allocs when on passthrough mode.
If multiple basetransform elements are on a pipeline, they
would do a pad-alloc for each received buffer, each element
would do this, so we would have lots of pad allocs on the
pipeline for a single buffer being pushed through it.
This patch attempts to reduce this amount by avoiding
doing pad-allocs if the element has already done it
after the last pushed buffer. So it will only be allowed
to do a new pad-alloc after it has pushed a buffer, so we get
1x1 pad-alloc and buffer ratio
https://bugzilla.gnome.org/show_bug.cgi?id=642373
Philip Jägenstedt [Mon, 21 Feb 2011 12:39:38 +0000 (13:39 +0100)]
docs: fix typo in gst_index_new() docs
https://bugzilla.gnome.org/show_bug.cgi?id=642869
Tim-Philipp Müller [Mon, 21 Feb 2011 12:44:05 +0000 (12:44 +0000)]
fakesink: print new MEDIA4 flag as well
Robert Swain [Mon, 3 Jan 2011 10:37:05 +0000 (11:37 +0100)]
miniobject, buffer: steal miniobject flag for use as MEDIA4 buffer flag
This was required to add a new MEDIA4 buffer flag for indicating
progressive/mixed telecine video buffers. There is no space for
additional flags in GstBuffer, so steal one from GstMiniObject.
https://bugzilla.gnome.org/show_bug.cgi?id=642671
Tim-Philipp Müller [Sun, 20 Feb 2011 16:11:27 +0000 (16:11 +0000)]
docs: add some more Since: markers to atomic queue docs
Edward Hervey [Mon, 21 Feb 2011 10:55:50 +0000 (11:55 +0100)]
Revert "element: Call ->release_pad() to clean up pad"
This commit changes the request pad behaviour for plugins and applications.
Reopens Bug #402562
The proper fix for that bug is to keep track of created request pads.
This reverts commit
a5e44ffffaa6d7a8d7af8dcb77e37990996253a5.
Stefan Kost [Mon, 21 Feb 2011 08:03:16 +0000 (10:03 +0200)]
index: add FIXME-0.11: comments
Stefan Kost [Tue, 15 Feb 2011 08:57:08 +0000 (10:57 +0200)]
docs: improve index docs
Stefan Kost [Fri, 18 Feb 2011 15:09:14 +0000 (17:09 +0200)]
docs: spell-check
David Schleef [Wed, 16 Feb 2011 03:15:16 +0000 (19:15 -0800)]
fakesink: print buffer flags
David Schleef [Sun, 5 Dec 2010 02:53:55 +0000 (18:53 -0800)]
element: Call ->release_pad() to clean up pad
Fixes #636011 and #402562.
Stefan Kost [Thu, 17 Feb 2011 12:50:40 +0000 (14:50 +0200)]
index: fix creation of writer id for unparented pads
Also do some cleanup in the impl.
Tim-Philipp Müller [Thu, 17 Feb 2011 10:34:37 +0000 (10:34 +0000)]
value: add (de)serialisation function for uchar
.. since we sadly have a plugin in -good that has a uchar property
(cmmlenc)
https://bugzilla.gnome.org/show_bug.cgi?id=642522
Wim Taymans [Wed, 16 Feb 2011 18:54:57 +0000 (19:54 +0100)]
atomicqueue: fix include order
atomicqueue: fix include order# Please enter the commit message for your changes. Lines starting
Wim Taymans [Thu, 28 Oct 2010 12:27:43 +0000 (13:27 +0100)]
bus: make the bus almost lockfree
Use new GstPoll functionality to wakeup the mainloop.
Use an atomic queue on the writer side to post the messages.
The reader side it protected with the lock still because we don't want multiple
concurrent readers.
Wim Taymans [Wed, 16 Feb 2011 16:21:52 +0000 (17:21 +0100)]
defs: fix defs file for new symbols
Wim Taymans [Wed, 16 Feb 2011 16:14:11 +0000 (17:14 +0100)]
atomicqueue: use correct array sizes
Wim Taymans [Wed, 16 Feb 2011 15:21:58 +0000 (16:21 +0100)]
atomicqueue: fix docs some more
Wim Taymans [Wed, 16 Feb 2011 15:19:46 +0000 (16:19 +0100)]
atomicqueue: add refcounting and docs
Wim Taymans [Wed, 16 Feb 2011 11:48:59 +0000 (12:48 +0100)]
atomicqueue: make sure a min initial_size is used
Wim Taymans [Thu, 28 Oct 2010 15:02:39 +0000 (16:02 +0100)]
atomicqueue: add an atomic queue
Add an atomic queue. The queue can be used from multiple threads simultaneously
and without taking any locks or doing any blocking operations. This makes it
highly scalable for things like the bus, bufferpools and object recycling.
Wim Taymans [Wed, 16 Feb 2011 16:14:46 +0000 (17:14 +0100)]
check: fix a leak in the bus unit test
Wim Taymans [Wed, 16 Feb 2011 16:28:15 +0000 (17:28 +0100)]
deinit: add progress type class unref
Stefan Kost [Wed, 16 Feb 2011 13:13:05 +0000 (15:13 +0200)]
utils: tell also what pad a pad is already linked against
Sebastian Dröge [Tue, 15 Feb 2011 21:56:35 +0000 (22:56 +0100)]
file{sink,src}: Check if non-URI characters are escaped, but only for the URI not the location property
Sebastian Dröge [Tue, 15 Feb 2011 21:49:26 +0000 (22:49 +0100)]
file{src,sink}: Fix unit tests
filesink and filesrc should return exactly the same URI as passed
and must not escape path separators.
Sebastian Dröge [Tue, 15 Feb 2011 21:48:44 +0000 (22:48 +0100)]
filesink: Fix escaping of URIs
Especially don't escape / as path separators
Andoni Morales Alastruey [Tue, 15 Feb 2011 21:05:31 +0000 (22:05 +0100)]
filesrc: Fix escaping of file uris
Fixes bug #642393.
Wim Taymans [Tue, 15 Feb 2011 17:26:00 +0000 (18:26 +0100)]
message: add timeout to progress message
Add a timeout member to the progress messages to let the application know about
the timeout so that it can do some gui things with it.
Wim Taymans [Tue, 15 Feb 2011 17:14:16 +0000 (18:14 +0100)]
design: mention timeout in the progress message
Wim Taymans [Tue, 15 Feb 2011 16:20:08 +0000 (17:20 +0100)]
design: make progress draft official
Wim Taymans [Thu, 6 Jan 2011 17:55:43 +0000 (18:55 +0100)]
message: rename category to code
Wim Taymans [Thu, 6 Jan 2011 14:58:47 +0000 (15:58 +0100)]
message: add new message quark
Wim Taymans [Thu, 6 Jan 2011 14:58:23 +0000 (15:58 +0100)]
docs: add more standard categories
Wim Taymans [Wed, 5 Jan 2011 12:53:00 +0000 (13:53 +0100)]
gst: register new type
Wim Taymans [Wed, 5 Jan 2011 12:48:51 +0000 (13:48 +0100)]
check: add progress message unit test
Wim Taymans [Wed, 5 Jan 2011 12:41:08 +0000 (13:41 +0100)]
message: add progress message functions
Wim Taymans [Wed, 5 Jan 2011 12:39:19 +0000 (13:39 +0100)]
docs: update progress field
Avoid naming the progress free text field 'message' as it conflicts with the
message itself.
Mark Nauwelaerts [Tue, 15 Feb 2011 13:42:58 +0000 (14:42 +0100)]
queue2: don't read beyond the end of file upstream in pull mode
... which could lead to a premature eos being reported downstream,
rather than a successful partial read which would result when
performed directly on e.g. basesrc.
Chen Rui [Wed, 26 Jan 2011 08:46:25 +0000 (16:46 +0800)]
utils: return real error in compatible link check
We need to ensure we call gst_pad_check_link() with the two pads in the correct
order. The order depends on wheter we iterate src or sink pads.
Signed-off-by: Chen Rui <rui.chen@tieto.com>
Wim Taymans [Mon, 14 Feb 2011 16:31:25 +0000 (17:31 +0100)]
pad: Check sinkpad for flushing
Check the sinkpad for the flushing state before calling the chainfunction on the
pad. We do this by checking the cache (which is also cleared on the srcpad when
the sink is set to flushing).
Fixes #641928