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
Thiago Santos [Fri, 11 Feb 2011 20:47:17 +0000 (17:47 -0300)]
basetransform: Check for pad alloc caps when suggestion is not fixed
If after computing the suggestion with downstream caps we still have
a non-fixed suggestion caps try to intersect with the input caps
of the pad alloc to avoid useless renegotiations.
https://bugzilla.gnome.org/show_bug.cgi?id=642130
Wim Taymans [Mon, 14 Feb 2011 13:00:38 +0000 (14:00 +0100)]
basesink: improve duration calculation
Keep track of the average distance between incomming timestamps and
use that to estimate the frame duration when buffers have no duration set on
them.
Wim Taymans [Mon, 14 Feb 2011 12:49:10 +0000 (13:49 +0100)]
basesink: improve rate calculation
When there is no duration on input buffers, assume the rate is 1.0
instead of (the undefined) 0.0.
Wim Taymans [Mon, 14 Feb 2011 12:47:02 +0000 (13:47 +0100)]
basesink: improve average duration calculation
Improve the calculation of the duration. When we have no input duration set on
the input buffers stop is set to start and then we end up using a 0 duration in
the average calculation.
Wim Taymans [Mon, 14 Feb 2011 11:21:39 +0000 (12:21 +0100)]
basesink: rename variable
Rename an internal variable to better reflact what its value means.
Stefan Kost [Mon, 14 Feb 2011 13:39:21 +0000 (15:39 +0200)]
parse-launch: trim whitespaces
Stefan Kost [Mon, 14 Feb 2011 13:37:23 +0000 (15:37 +0200)]
parse-launch: fix typo in pad-list length comparision
It was comparing the length with itself.
Fixes #642071.
Stefan Kost [Mon, 14 Feb 2011 10:52:30 +0000 (12:52 +0200)]
Automatic update of common submodule
From f94d739 to 1de7f6a
Tim-Philipp Müller [Sun, 13 Feb 2011 22:56:15 +0000 (22:56 +0000)]
gst-launch: pretty-print datetime tags
Tim-Philipp Müller [Thu, 10 Feb 2011 23:30:21 +0000 (23:30 +0000)]
gstreamer.doap: update mailing list host
Wim Taymans [Thu, 10 Feb 2011 13:53:34 +0000 (14:53 +0100)]
basesink: fix some comments
Wim Taymans [Thu, 10 Feb 2011 13:50:04 +0000 (14:50 +0100)]
basesink: keep track of earliest QoS timestamp
Keep track of the earliest allowed timestamp according to the latest
QoS report and drop buffers before that time. Activate this filter
when throttling is enabled. We could later also activate this in the
other QoS cases.
See #638891
Wim Taymans [Thu, 10 Feb 2011 13:17:12 +0000 (14:17 +0100)]
basesink: use new QoS type
Use the new QoS type and send throttling QoS messages.
Wim Taymans [Thu, 10 Feb 2011 12:42:05 +0000 (13:42 +0100)]
basesink: add property to configure a throttle-time
Add a property to configure the throttle time on a sink. The
property is not yet used.
See #638891
Wim Taymans [Thu, 10 Feb 2011 11:02:03 +0000 (12:02 +0100)]
event: add QoS event type
Add a parameter to the QoS event to specify the QoS event type.
Update docs and add unit test.
See #638891
Wim Taymans [Thu, 10 Feb 2011 11:00:47 +0000 (12:00 +0100)]
clock: fix parameter docs
Wim Taymans [Thu, 10 Feb 2011 09:49:22 +0000 (10:49 +0100)]
design: tweak docs a little
Wim Taymans [Thu, 10 Feb 2011 09:34:57 +0000 (10:34 +0100)]
design: update QoS document
Add new QoS types and talk about the new throttle QoS message.
Tim-Philipp Müller [Thu, 10 Feb 2011 13:46:08 +0000 (13:46 +0000)]
docs: fix some typos in the bufferpool draft
Tim-Philipp Müller [Thu, 10 Feb 2011 10:19:38 +0000 (10:19 +0000)]
events: fix g-i annotation for gst_event_new_tag() which takes ownership of the tag list
Tim-Philipp Müller [Thu, 10 Feb 2011 00:02:23 +0000 (00:02 +0000)]
docs: mention that it's necessary to set the state of elements added to an already-running pipeline
https://bugzilla.gnome.org/show_bug.cgi?id=641631
Wim Taymans [Wed, 9 Feb 2011 15:22:04 +0000 (16:22 +0100)]
design: add draft for first ideas for a bufferpool feature
Add a first draft with some ideas and use cases for the implementation
for bufferpools. The purpose is to be able to make elements negotiate
their buffer requirements as well as provide an infrastructure to
preallocate and reuse buffers in an easy way.
Stefan Kost [Wed, 9 Feb 2011 13:23:13 +0000 (15:23 +0200)]
docs: clarify the NOMINAL_BITRATE docs
Tell that its a target bitrate and actual values might be different.
Mark Nauwelaerts [Thu, 3 Feb 2011 14:17:13 +0000 (15:17 +0100)]
poll: trigger rebuild setup in _new
Failing to do so in the Windows case (implicitly triggered otherwise)
would have a subsequent _wait return immediately leading to high CPU
usage timeout loops.
Fixes #640675.
Tim-Philipp Müller [Thu, 3 Feb 2011 10:53:27 +0000 (10:53 +0000)]
info: make adding/removing of gst_debug_log_default() work properly
Make adding/removing gst_debug_log_default() work reliably in all
circumstances. The problem was that depending on platform and linker
flags the function argument might resolve to different addresses,
which made it impossible to remove the default log function added
in gst_init() from application code (because the pointer values
didn't match). The new approach should keep things simple by passing
NULL for the default function, which the code in libgstreamer can
then handle.
https://bugzilla.gnome.org/show_bug.cgi?id=625396
https://bugzilla.gnome.org/show_bug.cgi?id=640771
Tim-Philipp Müller [Thu, 3 Feb 2011 10:28:01 +0000 (10:28 +0000)]
Revert "info: use the publicly visible address to fix the tests"
This reverts commit
eb56687a6dfd207507a4ca000eae53f93b5e33ea.
While this commit may have fixed a problem on one of the build bots,
it didn't actually fix the original bug reported for win32.
Also, it causes other problems, such as the lookup failing when
called from C++ code (gst-phonon, amarok).
This needs to be fixed differently.
https://bugzilla.gnome.org/show_bug.cgi?id=640771
https://bugzilla.gnome.org/show_bug.cgi?id=625396
Mark Nauwelaerts [Wed, 2 Feb 2011 14:35:45 +0000 (15:35 +0100)]
queue2: properly identity dequeued event as such
... which avoids terminating with ERROR rather than UNEXPECTED.
Peter Collingbourne [Wed, 2 Feb 2011 02:07:58 +0000 (02:07 +0000)]
gst-uninstalled: use $GST_PREFIX variable
This makes it easier to change the prefix by editing the script.
https://bugzilla.gnome.org/show_bug.cgi?id=641212
Sreerenj Balachandran [Thu, 19 Aug 2010 19:43:07 +0000 (22:43 +0300)]
taglist: add a new "encoded-by" tag
Usecase: ID3v2 TENC ("Encoded by") frame.
API: GST_TAG_ENCODED_BY
https://bugzilla.gnome.org/show_bug.cgi?id=627268
Mark Nauwelaerts [Sat, 29 Jan 2011 17:02:11 +0000 (18:02 +0100)]
net: use socklen_t where appropriate rather than specific type
In particular, fixes Cygwin build where socklen_t is defined as int
in line with native win32 api definition.
Tim-Philipp Müller [Mon, 31 Jan 2011 15:58:18 +0000 (15:58 +0000)]
bus: honour any per-thread default main context set via g_main_thread_push_thread_default()
Makes gst_bus_add_watch(), gst_bus_add_watch_full(), gst_bus_add_signal_watch(),
and gst_bus_add_signal_watch_full() convenience functions automatically pick up
any non-default main contexts set for the current thread via
g_main_thread_push_thread_default().
Olivier Crête [Fri, 28 Jan 2011 20:36:33 +0000 (15:36 -0500)]
valve: Only set discont on the first buffer after drops
Reset the discont member after setting discont on the first buffer after
dropping.
Bastien Nocera [Fri, 28 Jan 2011 19:08:08 +0000 (19:08 +0000)]
GstElement: Fix warning with GCC 4.6
gstelement.c: In function ‘gst_element_get_request_pad’:
gstelement.c:1052:18: error: variable ‘tmp’ set but not used [-Werror=unused-but-set-variable]
https://bugzilla.gnome.org/show_bug.cgi?id=640850
Tim-Philipp Müller [Thu, 27 Jan 2011 09:28:07 +0000 (09:28 +0000)]
identity: print unset buffer timestamps or durations as 'none'
Like fakesink and fakesrc do.
Stefan Kost [Wed, 12 Jan 2011 14:03:30 +0000 (16:03 +0200)]
typefind: don't take object lock for reading the found caps
Once we switch to normal mode, we're not typefinding anymore and thus the caps
will not change. Therefore can avoid the object lock in the data-flow path.
The locking was added in order to fix bug #608877.
Zhang Wanming [Tue, 25 Jan 2011 01:39:45 +0000 (09:39 +0800)]
docs: fix a few more typos
https://bugzilla.gnome.org/show_bug.cgi?id=640502
Tim-Philipp Müller [Tue, 25 Jan 2011 18:48:40 +0000 (18:48 +0000)]
docs: flesh out typefindelement docs some more
Mention that have-type signal may be emitted from streaming
thread or application thread, and fix a typo.
Stefan Kost [Wed, 12 Jan 2011 14:03:57 +0000 (16:03 +0200)]
typefind: code and comment cleanups
Make code two places of the code the pushes the buffer store more similar. More
comments and debug logging.
Stefan Kost [Wed, 12 Jan 2011 11:05:06 +0000 (13:05 +0200)]
trace: ensure messages are \0 terminated
Stefan Kost [Wed, 12 Jan 2011 10:58:44 +0000 (12:58 +0200)]
nettimeprovider: handle invalid network addresses earlier
Handle inet_aton() return code.