platform/upstream/gstreamer.git
14 years agoutils: API: Add multiplication and addition functions for fractions
Sebastian Dröge [Mon, 16 Nov 2009 08:49:46 +0000 (09:49 +0100)]
utils: API: Add multiplication and addition functions for fractions

gst_util_fraction_add()
gst_util_fraction_multiply()

These work on plain integers instead of GValues to
keep the overhead as low as possible.

14 years agogstutils: API: Add fraction helper functions
Sebastian Dröge [Mon, 16 Nov 2009 08:29:10 +0000 (09:29 +0100)]
gstutils: API: Add fraction helper functions

gst_util_greatest_common_divisor()
gst_util_double_to_fraction()
gst_util_fraction_to_double()

Using these instead of going over GValue has much lower overhead.

Also add float<->fraction transform functions for GValue.

14 years agodebug: add more debug logging to help tracking parsing errors
Stefan Kost [Fri, 13 Nov 2009 13:45:52 +0000 (15:45 +0200)]
debug: add more debug logging to help tracking parsing errors

14 years agominiobject: avoid race when recycling buffers
Ole André Vadla Ravnås [Fri, 13 Nov 2009 10:42:02 +0000 (11:42 +0100)]
miniobject: avoid race when recycling buffers

Avoid a race where a miniobject is recycled and quickly freed, which causes the
g_type_free_instance() to be called on the same object twice.

Ref the object before calling the finalize method and check if we still need to
free it afterward.

Also add a unit test for this case.

Fixes #601587

14 years agowhitespace: remove blanks in doc-comment
Stefan Kost [Thu, 12 Nov 2009 15:02:40 +0000 (17:02 +0200)]
whitespace: remove blanks in doc-comment

14 years agoregistry: Import _priv_gst_dll_handle into gstregistry.c
Руслан Ижбулатов [Fri, 6 Nov 2009 12:42:57 +0000 (15:42 +0300)]
registry: Import _priv_gst_dll_handle into gstregistry.c

Fixes bug #601668.

14 years agotests: Do not list libgstcheck as a requirement for tests/examples/manual
Руслан Ижбулатов [Thu, 12 Nov 2009 11:10:06 +0000 (14:10 +0300)]
tests: Do not list libgstcheck as a requirement for tests/examples/manual

Fixes bug #601669.

14 years agobasesink: Fix treating base_time as unsigned in position calculation
Jan Schmidt [Wed, 11 Nov 2009 17:12:19 +0000 (17:12 +0000)]
basesink: Fix treating base_time as unsigned in position calculation

Element base_time is a signed quantity, which leads to basesink returning
a position of 0 when dealing with a negative base time - which are quite
legal when clocks (such as the audio clock) are close to 0.

This doesn't manifest in normal pipelines, of course - but can happen
(at least) when manually setting the base time on a pipeline.

14 years agoregistry: API: Add gst_{default,}_registry_get_feature_list_cookie()
Sebastian Dröge [Tue, 10 Nov 2009 17:03:43 +0000 (18:03 +0100)]
registry: API: Add gst_{default,}_registry_get_feature_list_cookie()

This returns the internal feature list cookie, which changes every
time a feature is added or removed. This can be used by elements
to check if they should update their cached feature lists.

14 years agoqueue2: fix printf format
Thiago Santos [Tue, 10 Nov 2009 14:55:34 +0000 (11:55 -0300)]
queue2: fix printf format

Cast the variable to gint to conform to the printf format used.
It is casted rather than changing the format because the
message is created with a cast to gint too.

14 years agoqueue2: avoid crashing due to negative percent
Thiago Santos [Tue, 10 Nov 2009 13:10:56 +0000 (10:10 -0300)]
queue2: avoid crashing due to negative percent

queue2 would crash when using small buffer sizes because
it would overflow when calculating the percentage, resulting
in the buffering GstMessage not being created and trying to be
used. This patch uses a gint64 instead of a gint to do the
percentage math, making it harder to overflow.

14 years agoqueue2: Fix small doc typo
Thiago Santos [Tue, 10 Nov 2009 12:52:30 +0000 (09:52 -0300)]
queue2: Fix small doc typo

14 years agoregistrychunks: fix compilation with debugging disabled
Tim-Philipp Müller [Tue, 10 Nov 2009 00:57:00 +0000 (00:57 +0000)]
registrychunks: fix compilation with debugging disabled

Add ugly ifdef to fix unused variable warning when compiling with
debug logging disabled.

14 years agoplanning: add thoughts about foreign registry cache updates
Stefan Kost [Mon, 9 Nov 2009 14:20:52 +0000 (16:20 +0200)]
planning: add thoughts about foreign registry cache updates

14 years agoinspect: allow to get plugin-install-info for all installed plugins
Stefan Kost [Mon, 9 Nov 2009 12:55:54 +0000 (14:55 +0200)]
inspect: allow to get plugin-install-info for all installed plugins

If no plugin is given, print the info for all plugins. This can be used as a
starting point to generate a profile about what the gstreamer installation can
potentialy handle (e.g. for MTP or DLNA).

14 years agodocs: don't forget to unref the pad
Wim Taymans [Mon, 9 Nov 2009 11:42:35 +0000 (12:42 +0100)]
docs: don't forget to unref the pad

14 years agogst-launch: wake up less often to check if we've been interrupted
Tim-Philipp Müller [Sat, 7 Nov 2009 20:22:49 +0000 (20:22 +0000)]
gst-launch: wake up less often to check if we've been interrupted

Check if we've been interrupted only four times per second instead
of twenty times per second, to wake up the cpu less often and
save power (see bug #600922).

14 years agogstconfig.h: add define to force printf format checking for debug messages
Tim-Philipp Müller [Thu, 5 Nov 2009 21:18:26 +0000 (21:18 +0000)]
gstconfig.h: add define to force printf format checking for debug messages

Force printf format checking for debug messages if GST_DISABLE_PRINTF_EXTENSION
is defined. This is useful to quickly check code for printf format mismatches
in debugging messages that would usually not be caught (with glibc+gcc and
printf extensions being used).

To use: make clean; make CFLAGS='-g -O2 -DGST_DISABLE_PRINTF_EXTENSION'

14 years agotests: Make sure we use the local libgstbase and not a stray outside one.
Edward Hervey [Thu, 5 Nov 2009 20:09:28 +0000 (21:09 +0100)]
tests: Make sure we use the local libgstbase and not a stray outside one.

Theoretically we should also do this for all local libraries to make sure
we don't test with a 'stray' outside library.

14 years agodocs: fix typo
Tim-Philipp Müller [Thu, 5 Nov 2009 18:36:38 +0000 (18:36 +0000)]
docs: fix typo

14 years agotaglist: avoid looking up GstTagInfo twice in a row
Tim-Philipp Müller [Thu, 5 Nov 2009 15:59:31 +0000 (15:59 +0000)]
taglist: avoid looking up GstTagInfo twice in a row

Pass the info structure to our internal function if already available.
Also clean up warnings for unknown tags.

14 years agogstregistrychunks: We're certain plugin_name is an intern string.
Edward Hervey [Thu, 5 Nov 2009 17:55:30 +0000 (18:55 +0100)]
gstregistrychunks: We're certain plugin_name is an intern string.

The only place this method is called from creates the plugin_name argument
with g_intern_string().
Shaves off 1% from registry loading.

14 years agoimplement buffering-left argument to buffer messages
Bastien Nocera [Wed, 4 Nov 2009 19:33:58 +0000 (19:33 +0000)]
implement buffering-left argument to buffer messages

Using the current fill level of the queue, and the average input
rate, we can determine how long it will take to finish downloading
the whole stream to the temporary file.

Fixes #600726

14 years agoquery: whitespace fixes
Wim Taymans [Thu, 5 Nov 2009 14:13:04 +0000 (15:13 +0100)]
query: whitespace fixes

14 years agoghostpad: fix locking
Wim Taymans [Thu, 5 Nov 2009 13:02:28 +0000 (14:02 +0100)]
ghostpad: fix locking

14 years agoghostpad: don't release mutex twice
Stefan Kost [Thu, 5 Nov 2009 12:29:50 +0000 (14:29 +0200)]
ghostpad: don't release mutex twice

14 years agoghostpad: skip type check in internal api
Stefan Kost [Thu, 5 Nov 2009 12:29:12 +0000 (14:29 +0200)]
ghostpad: skip type check in internal api

14 years agopad: indentation fix
Wim Taymans [Thu, 5 Nov 2009 11:36:10 +0000 (12:36 +0100)]
pad: indentation fix

14 years agopad: rename new api from _refed to _reffed.
Stefan Kost [Thu, 5 Nov 2009 10:54:32 +0000 (12:54 +0200)]
pad: rename new api from _refed to _reffed.

Due to popular demand rename the new api as we still can.
API: gst_pad_get_caps_reffed(), gst_pad_peer_get_caps_reffed()

14 years agoelement: access padtemplate list directly to avoid call and type check.
Stefan Kost [Wed, 4 Nov 2009 20:42:52 +0000 (22:42 +0200)]
element: access padtemplate list directly to avoid call and type check.

14 years agoevent: Add a FIXME 0.11 for having flush events that don't reset running time
Sebastian Dröge [Wed, 4 Nov 2009 17:58:26 +0000 (18:58 +0100)]
event: Add a FIXME 0.11 for having flush events that don't reset running time

14 years agoregistrychunks: Fix a printf compile warning on 64-bit platforms
Jan Schmidt [Wed, 4 Nov 2009 17:52:21 +0000 (17:52 +0000)]
registrychunks: Fix a printf compile warning on 64-bit platforms

14 years agoghostpad: Make sure that nobody sets the proxypad or ghostpad itself as target
Sebastian Dröge [Wed, 4 Nov 2009 16:15:59 +0000 (17:15 +0100)]
ghostpad: Make sure that nobody sets the proxypad or ghostpad itself as target

Doing this will lead to very interesting crashes, like stack overflows.

14 years agoplugin loader: Don't fail after a short read/write
Jan Schmidt [Wed, 4 Nov 2009 11:35:46 +0000 (11:35 +0000)]
plugin loader: Don't fail after a short read/write

The logic to handle short reads/writes was incorrect, causing the
packet handler to attempt to handle incomplete packets.

Grow the packet transmit buffer in proportion to observed usage,
causing fewer reallocs.

Add some more debug in the registry chunks code.

14 years agoplugin loader: Don't crash on bogus plugin details
Jan Schmidt [Wed, 4 Nov 2009 01:51:38 +0000 (01:51 +0000)]
plugin loader: Don't crash on bogus plugin details

When invalid registry chunks are received from the child, and parsing
fails, don't access an invalid plugin pointer. Instead attempt to
figure out which plugin caused the problem and blacklist it.

14 years agogst-indent: Use the same logic to find gnuindent as the git hook
Jan Schmidt [Wed, 4 Nov 2009 01:54:36 +0000 (01:54 +0000)]
gst-indent: Use the same logic to find gnuindent as the git hook

14 years agobuild: include stdio.h for FILE
Stefan Kost [Tue, 3 Nov 2009 15:30:14 +0000 (17:30 +0200)]
build: include stdio.h for FILE

14 years agodocs: add another example to the gst-launch man page
Tim-Philipp Müller [Tue, 3 Nov 2009 01:18:42 +0000 (01:18 +0000)]
docs: add another example to the gst-launch man page

Add an example that shows how to refer to specific pads by name
when constructing a pipeline string. Fixes #600382.

14 years agogsttypefind: avoid one more run-time type check
Tim-Philipp Müller [Mon, 2 Nov 2009 08:48:51 +0000 (08:48 +0000)]
gsttypefind: avoid one more run-time type check

14 years agostructure: API: Add gst_structure_id_has_field{,_typed}
Sebastian Dröge [Mon, 2 Nov 2009 08:22:37 +0000 (09:22 +0100)]
structure: API: Add gst_structure_id_has_field{,_typed}

14 years agogsttypefind: Use _CAST variants when the type has alredy been checked.
Edward Hervey [Mon, 2 Nov 2009 07:28:20 +0000 (08:28 +0100)]
gsttypefind: Use _CAST variants when the type has alredy been checked.

This avoids checking the type n_typefinders * 4 times when loading the
registry.

14 years agoghostpad: Implement iterate internal links
Sebastian Dröge [Sun, 1 Nov 2009 10:24:40 +0000 (11:24 +0100)]
ghostpad: Implement iterate internal links

The internally linked pad of the ghost pad is its
proxy pad, which is the pad that is linked to the ghost
pads target.

14 years agoparser: Make sure that signal user data is freed by setting a GClosureNotify
Sebastian Dröge [Sat, 31 Oct 2009 15:56:17 +0000 (16:56 +0100)]
parser: Make sure that signal user data is freed by setting a GClosureNotify

...instead of using a second mechanism and storing the user data
inside the GObjects qdata.

14 years agoparser: Use GSlice for allocating the structs
Sebastian Dröge [Sat, 31 Oct 2009 15:49:03 +0000 (16:49 +0100)]
parser: Use GSlice for allocating the structs

14 years agoparser: Always get DelayedLink information from the objects qdata
Sebastian Dröge [Sat, 31 Oct 2009 15:43:26 +0000 (16:43 +0100)]
parser: Always get DelayedLink information from the objects qdata

This makes sure that it is always valid.

14 years agopo: queue2 has moved to core
Edward Hervey [Sat, 31 Oct 2009 08:48:19 +0000 (09:48 +0100)]
po: queue2 has moved to core

14 years agoqueue2: Add to the docs
Sebastian Dröge [Thu, 29 Oct 2009 10:41:33 +0000 (11:41 +0100)]
queue2: Add to the docs

14 years agoqueue2: Use "Queue 2" as long name
Sebastian Dröge [Thu, 29 Oct 2009 10:38:21 +0000 (11:38 +0100)]
queue2: Use "Queue 2" as long name

14 years agoqueue2: Use GST_BOILERPLATE_FULL() and add pad templates/set details in base_init
Sebastian Dröge [Thu, 29 Oct 2009 10:35:08 +0000 (11:35 +0100)]
queue2: Use GST_BOILERPLATE_FULL() and add pad templates/set details in base_init

14 years agoqueue2: Use gst_element_class_set_details_simple()
Sebastian Dröge [Thu, 29 Oct 2009 10:30:57 +0000 (11:30 +0100)]
queue2: Use gst_element_class_set_details_simple()

14 years agoqueue2: Integrate into coreplugins
Sebastian Dröge [Thu, 29 Oct 2009 10:30:11 +0000 (11:30 +0100)]
queue2: Integrate into coreplugins

14 years agoqueue2: Move struct declarations to a separate header
Sebastian Dröge [Thu, 29 Oct 2009 10:21:36 +0000 (11:21 +0100)]
queue2: Move struct declarations to a separate header

14 years agoqueue2: Move queue2 to gstreamer coreplugins
Sebastian Dröge [Thu, 29 Oct 2009 10:18:20 +0000 (11:18 +0100)]
queue2: Move queue2 to gstreamer coreplugins

Fixes bug #599996.

14 years agoRemove GST_DEBUG_FUNCPTR where they're pointless
Tim-Philipp Müller [Wed, 28 Oct 2009 00:59:35 +0000 (00:59 +0000)]
Remove GST_DEBUG_FUNCPTR where they're pointless

There's not much point in using GST_DEBUG_FUNCPTR with GObject
virtual functions such as get_property, set_propery, finalize and
dispose, since they'll never be used by anyone anyway. Saves a
few bytes and possibly a sixteenth of a polar bear.

14 years agoqueue2: add custom acceptcaps function
Wim Taymans [Tue, 27 Oct 2009 14:23:00 +0000 (15:23 +0100)]
queue2: add custom acceptcaps function

14 years agoqueue2: post error message when pausing task if so appropriate
Mark Nauwelaerts [Thu, 6 Aug 2009 10:18:36 +0000 (12:18 +0200)]
queue2: post error message when pausing task if so appropriate

If a downstream element returns an error while upstream has already
put all data into queue2 (including EOS), upstream will no longer
chain into queue2, so it is up to queue2 to perform some
EOS handling / message posting in such cases.  See #589991.

14 years agoqueue2: fix leak and improve buffering
Wim Taymans [Tue, 14 Jul 2009 15:03:35 +0000 (17:03 +0200)]
queue2: fix leak and improve buffering

Keep track of the max requested position and compare this to the write position
in the temp file to get the current amount of buffered data.
Fix memleak of all incomming buffers.

Fixes #588551

14 years agoqueue2: flush differently, avoiding deadlocks
Wim Taymans [Fri, 10 Jul 2009 20:01:39 +0000 (21:01 +0100)]
queue2: flush differently, avoiding deadlocks

Don't flush the file by closing and opening it but instead use g_freopen. This
avoids a deadlock in shutdown because we emit the temp-location property change
with the wrong lock held.

14 years agoqueue2: add temp-template property
Wim Taymans [Fri, 10 Jul 2009 18:49:46 +0000 (19:49 +0100)]
queue2: add temp-template property

Add a new temp-template property so that queue2 can securely allocate a
temporary filename. Deprecate the temp-location property for setting the
location but still use it to notify the allocated temp file.

14 years agowin32: fix seeking in large files
LRN [Fri, 20 Mar 2009 13:17:19 +0000 (14:17 +0100)]
win32: fix seeking in large files

Fix Seeking in large files by using the 64-bit seek functions.
Fixes #576019

14 years agoMake sure gettext returns translations in UTF-8 encoding rather than in the current...
Frederic Crozat [Thu, 7 Aug 2008 15:58:58 +0000 (15:58 +0000)]
Make sure gettext returns translations in UTF-8 encoding rather than in the current locale encoding (#546822).

Original commit message from CVS:
Patch by: Frederic Crozat <fcrozat@mandriva.org>
* ext/alsa/gstalsaplugin.c: (plugin_init):
* ext/cdparanoia/gstcdparanoiasrc.c: (plugin_init):
* ext/gnomevfs/gstgnomevfs.c: (plugin_init):
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_plugin_init):
* gst-libs/gst/audio/gstbaseaudiosrc.c: (_do_init):
* gst-libs/gst/pbutils/pbutils.c: (gst_pb_utils_init):
* gst-libs/gst/tag/tags.c: (gst_tag_register_tags_internal):
* gst/playback/gstdecodebin.c: (plugin_init):
* gst/playback/gstdecodebin2.c: (gst_decode_bin_plugin_init):
* gst/playback/gstplayback.c: (plugin_init):
* gst/playback/gstqueue2.c: (plugin_init):
* gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_plugin_init):
* sys/v4l/gstv4l.c: (plugin_init):
Make sure gettext returns translations in UTF-8 encoding rather
than in the current locale encoding (#546822).

14 years agoCleanup Plugin docs. Link to signals and properties. Fix sub-section titles. Drop...
Stefan Kost [Thu, 10 Jul 2008 21:06:06 +0000 (21:06 +0000)]
Cleanup Plugin docs. Link to signals and properties. Fix sub-section titles. Drop mentining that all our example pipe...

Original commit message from CVS:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-overrides.txt:
* 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-adder.xml:
* docs/plugins/inspect/plugin-alsa.xml:
* docs/plugins/inspect/plugin-audioconvert.xml:
* docs/plugins/inspect/plugin-audiorate.xml:
* docs/plugins/inspect/plugin-audioresample.xml:
* docs/plugins/inspect/plugin-audiotestsrc.xml:
* docs/plugins/inspect/plugin-cdparanoia.xml:
* docs/plugins/inspect/plugin-decodebin.xml:
* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
* docs/plugins/inspect/plugin-gdp.xml:
* docs/plugins/inspect/plugin-gnomevfs.xml:
* docs/plugins/inspect/plugin-libvisual.xml:
* docs/plugins/inspect/plugin-ogg.xml:
* docs/plugins/inspect/plugin-pango.xml:
* docs/plugins/inspect/plugin-playback.xml:
* docs/plugins/inspect/plugin-queue2.xml:
* docs/plugins/inspect/plugin-subparse.xml:
* docs/plugins/inspect/plugin-tcp.xml:
* docs/plugins/inspect/plugin-theora.xml:
* docs/plugins/inspect/plugin-typefindfunctions.xml:
* docs/plugins/inspect/plugin-uridecodebin.xml:
* docs/plugins/inspect/plugin-video4linux.xml:
* docs/plugins/inspect/plugin-videorate.xml:
* docs/plugins/inspect/plugin-videoscale.xml:
* docs/plugins/inspect/plugin-videotestsrc.xml:
* docs/plugins/inspect/plugin-volume.xml:
* docs/plugins/inspect/plugin-vorbis.xml:
* docs/plugins/inspect/plugin-ximagesink.xml:
* docs/plugins/inspect/plugin-xvimagesink.xml:
* ext/alsa/gstalsamixer.c:
* ext/alsa/gstalsasink.c:
* ext/alsa/gstalsasrc.c:
* ext/gio/gstgiosink.c:
* ext/gio/gstgiosrc.c:
* ext/gio/gstgiostreamsink.c:
* ext/gio/gstgiostreamsrc.c:
* ext/gnomevfs/gstgnomevfssink.c:
* ext/gnomevfs/gstgnomevfssrc.c:
* ext/ogg/gstoggdemux.c:
* ext/ogg/gstoggmux.c:
* ext/pango/gstclockoverlay.c:
* ext/pango/gsttextoverlay.c:
* ext/pango/gsttextrender.c:
* ext/pango/gsttimeoverlay.c:
* ext/theora/theoradec.c:
* ext/theora/theoraenc.c:
* ext/theora/theoraparse.c:
* ext/vorbis/vorbisdec.c:
* ext/vorbis/vorbisenc.c:
* ext/vorbis/vorbisparse.c:
* ext/vorbis/vorbistag.c:
* gst/adder/gstadder.c:
* gst/audioconvert/gstaudioconvert.c:
* gst/audioresample/gstaudioresample.c:
* gst/audiotestsrc/gstaudiotestsrc.c:
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
* gst/gdp/gstgdpdepay.c:
* gst/gdp/gstgdppay.c:
* gst/playback/gstdecodebin2.c:
* gst/playback/gstplaybin.c:
* gst/playback/gstplaybin2.c:
* gst/playback/gstqueue2.c:
* gst/playback/gsturidecodebin.c:
* gst/tcp/gstmultifdsink.c:
* gst/tcp/gsttcpserversink.c:
* gst/videorate/gstvideorate.c:
* gst/videoscale/gstvideoscale.c:
* gst/videotestsrc/gstvideotestsrc.c:
* gst/volume/gstvolume.c:
* sys/ximage/ximagesink.c:
* sys/xvimage/xvimagesink.c:
Cleanup Plugin docs. Link to signals and properties. Fix sub-section
titles. Drop mentining that all our example pipelines are "simple"
pipelines.

14 years agogst/playback/gstqueue2.c: Do not double notify. Remove the unsued return value.
Stefan Kost [Tue, 24 Jun 2008 16:22:45 +0000 (16:22 +0000)]
gst/playback/gstqueue2.c: Do not double notify. Remove the unsued return value.

Original commit message from CVS:
* gst/playback/gstqueue2.c:
Do not double notify. Remove the unsued return value.

14 years agodocs/design/draft-keyframe-force.txt: Fix typo.
Wim Taymans [Fri, 11 Apr 2008 01:25:01 +0000 (01:25 +0000)]
docs/design/draft-keyframe-force.txt: Fix typo.

Original commit message from CVS:
* docs/design/draft-keyframe-force.txt:
Fix typo.
* gst/playback/gstqueue2.c: (update_buffering),
(gst_queue_handle_src_query):
Set buffering mode in the messages.
Set buffering percent in the query.
* tests/examples/seek/seek.c: (update_fill), (msg_state_changed),
(do_stream_buffering), (do_download_buffering), (msg_buffering):
Do some more fancy things based on the buffering method in use.

14 years agogst/playback/gstqueue2.c: Include extra buffering stats in the buffering message.
Wim Taymans [Wed, 9 Apr 2008 21:40:17 +0000 (21:40 +0000)]
gst/playback/gstqueue2.c: Include extra buffering stats in the buffering message.

Original commit message from CVS:
* gst/playback/gstqueue2.c: (update_buffering),
(gst_queue_close_temp_location_file), (gst_queue_handle_src_query),
(gst_queue_src_checkgetrange_function):
Include extra buffering stats in the buffering message.
Implement BUFFERING query.
* gst/playback/gsturidecodebin.c: (do_async_start),
(do_async_done), (type_found), (setup_streaming), (setup_source),
(gst_uri_decode_bin_change_state):
Only add decodebin2 when the type is found in streaming mode.
Make uridecodebin async to PAUSED even when we don't have decodebin2
added yet.

14 years agogst/playback/gstqueue2.c: Update the estimated input data when we push out a buffer.
Wim Taymans [Wed, 2 Apr 2008 11:08:05 +0000 (11:08 +0000)]
gst/playback/gstqueue2.c: Update the estimated input data when we push out a buffer.

Original commit message from CVS:
* gst/playback/gstqueue2.c: (update_out_rates),
(gst_queue_open_temp_location_file),
(gst_queue_close_temp_location_file), (gst_queue_handle_src_event),
(gst_queue_handle_src_query), (gst_queue_set_property):
Update the estimated input data when we push out a buffer.
Add some debug info about the temp file.
Only forward src events when we are not using a temp file.
Don't block the duration query, we need to find something better.
Don't leak the temp filename.

14 years agogst/playback/gstqueue2.c: The queue is never filled when there are no buffers in...
Wim Taymans [Mon, 24 Mar 2008 14:08:22 +0000 (14:08 +0000)]
gst/playback/gstqueue2.c: The queue is never filled when there are no buffers in the queue at all.

Original commit message from CVS:
* gst/playback/gstqueue2.c: (gst_queue_is_filled):
The queue is never filled when there are no buffers in the queue at all.
Fixes #523993.

14 years agoUse G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use static strings (i...
Sebastian Dröge [Sat, 22 Mar 2008 15:00:53 +0000 (15:00 +0000)]
Use G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use static strings (i.e. all). This gives us less memory u...

Original commit message from CVS:
* configure.ac:
* ext/alsa/gstalsamixerelement.c:
(gst_alsa_mixer_element_class_init):
* ext/alsa/gstalsasink.c: (gst_alsasink_class_init):
* ext/alsa/gstalsasrc.c: (gst_alsasrc_class_init):
* ext/cdparanoia/gstcdparanoiasrc.c:
(gst_cd_paranoia_src_class_init):
* ext/gio/gstgiosink.c: (gst_gio_sink_class_init):
* ext/gio/gstgiosrc.c: (gst_gio_src_class_init):
* ext/gio/gstgiostreamsink.c: (gst_gio_stream_sink_class_init):
* ext/gio/gstgiostreamsrc.c: (gst_gio_stream_src_class_init):
* ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_class_init):
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_class_init):
* ext/ogg/gstoggmux.c: (gst_ogg_mux_class_init):
* ext/pango/gsttextoverlay.c: (gst_text_overlay_class_init):
* ext/pango/gsttextrender.c: (gst_text_render_class_init):
* ext/theora/theoradec.c: (gst_theora_dec_class_init):
* ext/theora/theoraenc.c: (gst_theora_enc_class_init):
* ext/theora/theoraparse.c: (gst_theora_parse_class_init):
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_class_init):
* gst-libs/gst/audio/gstaudiofiltertemplate.c:
(gst_audio_filter_template_class_init):
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_class_init):
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_class_init):
* gst-libs/gst/cdda/gstcddabasesrc.c:
(gst_cdda_base_src_class_init):
* gst-libs/gst/interfaces/mixertrack.c:
(gst_mixer_track_class_init):
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_class_init):
* gst-libs/gst/rtp/gstbasertppayload.c:
(gst_basertppayload_class_init):
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_class_init):
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_class_init):
* gst/audioresample/gstaudioresample.c:
(gst_audioresample_class_init):
* gst/audiotestsrc/gstaudiotestsrc.c:
(gst_audio_test_src_class_init):
* gst/gdp/gstgdppay.c: (gst_gdp_pay_class_init):
* gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init):
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
(preroll_unlinked):
* gst/playback/gstplaybin.c: (gst_play_bin_class_init):
* gst/playback/gstplaybin2.c: (gst_play_bin_class_init):
* gst/playback/gstplaysink.c: (gst_play_sink_class_init):
* gst/playback/gstqueue2.c: (gst_queue_class_init):
* gst/playback/gststreaminfo.c: (gst_stream_info_class_init):
* gst/playback/gststreamselector.c: (gst_selector_pad_class_init),
(gst_stream_selector_class_init):
* gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_class_init):
* gst/subparse/gstsubparse.c: (gst_sub_parse_class_init):
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init):
* gst/tcp/gsttcpclientsink.c: (gst_tcp_client_sink_class_init):
* gst/tcp/gsttcpclientsrc.c: (gst_tcp_client_src_class_init):
* gst/tcp/gsttcpserversink.c: (gst_tcp_server_sink_class_init):
* gst/tcp/gsttcpserversrc.c: (gst_tcp_server_src_class_init):
* gst/videorate/gstvideorate.c: (gst_video_rate_class_init):
* gst/videoscale/gstvideoscale.c: (gst_video_scale_class_init):
* gst/videotestsrc/gstvideotestsrc.c:
(gst_video_test_src_class_init):
* gst/volume/gstvolume.c: (gst_volume_class_init):
* sys/v4l/gstv4lelement.c: (gst_v4lelement_class_init):
* sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_class_init):
* sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_class_init):
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_class_init):
* sys/ximage/ximagesink.c: (gst_ximagesink_class_init):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_class_init):
Use G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use
static strings (i.e. all). This gives us less memory usage,
fewer allocations and thus less memory defragmentation. Depend
on core CVS for this. Fixes bug #523806.

14 years agogst/playback/gstqueue2.c: Use separate timers for input and output rates.
Wim Taymans [Fri, 14 Dec 2007 18:46:12 +0000 (18:46 +0000)]
gst/playback/gstqueue2.c: Use separate timers for input and output rates.

Original commit message from CVS:
* gst/playback/gstqueue2.c: (gst_queue_init), (gst_queue_finalize),
(reset_rate_timer), (update_in_rates), (update_out_rates),
(gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
(gst_queue_chain), (gst_queue_loop):
Use separate timers for input and output rates.
Pause measuring the output rate when we block for more data.
See #503262.

14 years agogst/playback/gstqueue2.c: Pause the timer to measure the input rate when we block...
Wim Taymans [Fri, 14 Dec 2007 09:24:55 +0000 (09:24 +0000)]
gst/playback/gstqueue2.c: Pause the timer to measure the input rate when we block because the queue is filled. See #5...

Original commit message from CVS:
* gst/playback/gstqueue2.c: (gst_queue_chain):
Pause the timer to measure the input rate when we block because the
queue is filled. See #503262.

14 years agogst/playback/: Refactor some common code to filter factories and check caps compat.
Wim Taymans [Fri, 30 Nov 2007 17:47:15 +0000 (17:47 +0000)]
gst/playback/: Refactor some common code to filter factories and check caps compat.

Original commit message from CVS:
* gst/playback/Makefile.am:
* gst/playback/gstfactorylists.c: (compare_ranks), (print_feature),
(get_feature_array), (decoders_filter), (sinks_filter),
(gst_factory_list_get_decoders), (gst_factory_list_get_sinks),
(gst_factory_list_filter):
* gst/playback/gstfactorylists.h:
Refactor some common code to filter factories and check caps compat.
* gst/playback/gstdecodebin.c:
* gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init),
(gst_decode_bin_init), (gst_decode_bin_dispose),
(gst_decode_bin_autoplug_continue),
(gst_decode_bin_autoplug_factories),
(gst_decode_bin_autoplug_select), (analyze_new_pad),
(find_compatibles):
* gst/playback/gstplaybin.c:
* gst/playback/gstplaybin2.c: (gst_play_bin_class_init),
(gst_play_bin_init), (gst_play_bin_finalize),
(autoplug_factories_cb), (activate_group):
* gst/playback/gstqueue2.c:
* gst/playback/gsturidecodebin.c: (proxy_unknown_type_signal),
(proxy_autoplug_continue_signal),
(proxy_autoplug_factories_signal), (proxy_autoplug_select_signal),
(proxy_drained_signal):
Add some more debug info and use factor filtering code.

14 years agogst/playback/: Add playbin2.
Wim Taymans [Fri, 16 Nov 2007 15:44:48 +0000 (15:44 +0000)]
gst/playback/: Add playbin2.

Original commit message from CVS:
* gst/playback/Makefile.am:
* gst/playback/gstplayback.c: (plugin_init):
* gst/playback/test7.c: (update_scale), (warning_cb), (error_cb),
(eos_cb), (about_to_finish_cb), (main):
Add playbin2.
Added gapless playback example.
* gst/playback/gstplaybasebin.c:
* gst/playback/gstplaybasebin.h:
* gst/playback/gstplaybin.c: (gst_play_bin_plugin_init):
* gst/playback/gstqueue2.c:
* gst/playback/test.c:
* gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_class_init),
(pad_removed_cb):
* gst/playback/gststreaminfo.h:
Change email.
* gst/playback/gstplaybin2.c: (gst_play_bin_get_type),
(gst_play_bin_class_init), (init_group), (gst_play_bin_init),
(gst_play_bin_dispose), (gst_play_bin_set_uri),
(gst_play_bin_set_suburi), (gst_play_bin_set_property),
(gst_play_bin_get_property), (gst_play_bin_handle_message),
(pad_added_cb), (pad_removed_cb), (no_more_pads_cb), (perform_eos),
(drained_cb), (unlink_group), (activate_group),
(setup_next_source), (gst_play_bin_change_state),
(gst_play_bin2_plugin_init):
Added raw first version of playbin2. Does chained oggs and gapless
playback fine. No support for raw sinks yet. No visualisations or
subtitles yet.
* gst/playback/gstplaysink.c: (gst_play_sink_get_type),
(gst_play_sink_class_init), (gst_play_sink_init),
(gst_play_sink_dispose), (gst_play_sink_vis_unblocked),
(gst_play_sink_vis_blocked), (gst_play_sink_set_video_sink),
(gst_play_sink_set_audio_sink), (gst_play_sink_set_vis_plugin),
(gst_play_sink_set_property), (gst_play_sink_get_property),
(post_missing_element_message), (free_chain), (add_chain),
(activate_chain), (gen_video_chain), (gen_text_element),
(gen_audio_chain), (gen_vis_element), (gst_play_sink_get_mode),
(gst_play_sink_set_mode), (gst_play_sink_request_pad),
(gst_play_sink_release_pad), (gst_play_sink_send_event_to_sink),
(gst_play_sink_send_event), (gst_play_sink_change_state):
* gst/playback/gstplaysink.h:
Added Element that abstracts the sinks and their pipelines for playbin2.

14 years agogst/playback/gstqueue2.c: Fix queue negotiation. See #486758.
Wim Taymans [Mon, 15 Oct 2007 11:38:39 +0000 (11:38 +0000)]
gst/playback/gstqueue2.c: Fix queue negotiation. See #486758.

Original commit message from CVS:
* gst/playback/gstqueue2.c: (gst_queue_init), (gst_queue_push_one):
Fix queue negotiation. See #486758.

14 years agogst/playback/gstqueue2.c: Fix compilation wrt printf arguments.
Wim Taymans [Fri, 21 Sep 2007 14:37:26 +0000 (14:37 +0000)]
gst/playback/gstqueue2.c: Fix compilation wrt printf arguments.

Original commit message from CVS:
* gst/playback/gstqueue2.c: (gst_queue_push_one):
Fix compilation wrt printf arguments.

14 years agoFix a bunch of compile warnings shown with Forte.
Jan Schmidt [Mon, 17 Sep 2007 17:24:55 +0000 (17:24 +0000)]
Fix a bunch of compile warnings shown with Forte.

Original commit message from CVS:
* ext/pango/gsttextoverlay.c: (gst_text_overlay_init),
(gst_text_overlay_set_property):
* ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet):
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
* gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_ntp_to_unix),
(gst_rtcp_unix_to_ntp):
* gst-libs/gst/rtsp/gstrtspmessage.c: (gst_rtsp_message_get_type):
* gst/playback/gstqueue2.c:
* tests/examples/seek/seek.c: (set_scale):
Fix a bunch of compile warnings shown with Forte.
* gst/audiorate/gstaudiorate.c:
Always pull in config.h before including any system headers.

14 years agogst/playback/gstqueue2.c: Also fix #476514 for queue2.
Wim Taymans [Mon, 17 Sep 2007 16:22:17 +0000 (16:22 +0000)]
gst/playback/gstqueue2.c: Also fix #476514 for queue2.

Original commit message from CVS:
* gst/playback/gstqueue2.c: (update_buffering),
(gst_queue_locked_flush), (gst_queue_locked_enqueue),
(gst_queue_handle_sink_event), (gst_queue_chain),
(gst_queue_push_one), (gst_queue_sink_activate_push),
(gst_queue_src_activate_push), (gst_queue_src_activate_pull):
Also fix #476514 for queue2.

14 years agogst/: Printf format fixes (#465028).
Tim-Philipp Müller [Fri, 10 Aug 2007 10:08:05 +0000 (10:08 +0000)]
gst/: Printf format fixes (#465028).

Original commit message from CVS:
* gst/playback/gstqueue2.c:
* gst/videorate/gstvideorate.c:
Printf format fixes (#465028).

14 years agogst/playback/gstqueue2.c: Use other metrics as well when estimating the buffer level.
Wim Taymans [Thu, 28 Jun 2007 11:06:56 +0000 (11:06 +0000)]
gst/playback/gstqueue2.c: Use other metrics as well when estimating the buffer level.

Original commit message from CVS:
* gst/playback/gstqueue2.c: (apply_segment), (update_buffering):
Use other metrics as well when estimating the buffer level.

14 years agogst/playback/gstplaybasebin.c: Small debug improvement.
Wim Taymans [Thu, 28 Jun 2007 10:21:19 +0000 (10:21 +0000)]
gst/playback/gstplaybasebin.c: Small debug improvement.

Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (make_decoder), (setup_source):
Small debug improvement.
* gst/playback/gstqueue2.c: (apply_segment), (update_buffering),
(plugin_init):
Tweak the rate estimation period.
When calculating the buffer filledness in rate estimation mode, don't
mix it with other metrics.

14 years agogst/playback/gstqueue2.c: Fix compile error from ignored return value.
David Schleef [Sat, 16 Jun 2007 03:42:14 +0000 (03:42 +0000)]
gst/playback/gstqueue2.c: Fix compile error from ignored return value.

Original commit message from CVS:
* gst/playback/gstqueue2.c:
Fix compile error from ignored return value.

14 years agogst/playback/gstqueue2.c: Fix build on MacOSX.
Edward Hervey [Wed, 13 Jun 2007 18:20:57 +0000 (18:20 +0000)]
gst/playback/gstqueue2.c: Fix build on MacOSX.

Original commit message from CVS:
* gst/playback/gstqueue2.c: (gst_queue_create_read):
Fix build on MacOSX.

14 years agogst/playback/gstqueue2.c: Fix a division by zero when the max percent is <= 0. Fixes...
Wim Taymans [Tue, 12 Jun 2007 08:38:06 +0000 (08:38 +0000)]
gst/playback/gstqueue2.c: Fix a division by zero when the max percent is <= 0. Fixes #446572. also update the bufferi...

Original commit message from CVS:
Patches by: Thiago Sousa Santos <thiagossantos at gmail dot com>
* gst/playback/gstqueue2.c: (update_buffering),
(gst_queue_locked_enqueue):
Fix a division by zero when the max percent is <= 0. Fixes #446572.
also update the buffering status when receiving events. Fixes #446551.

14 years agogst/playback/gstqueue2.c: Wait for preroll before attempting to forward a duration...
Thiago Sousa Santos [Mon, 11 Jun 2007 11:32:26 +0000 (11:32 +0000)]
gst/playback/gstqueue2.c: Wait for preroll before attempting to forward a duration query upstream.

Original commit message from CVS:
Based on patch by: Thiago Sousa Santos <thiagossantos at gmail dot com>
* gst/playback/gstqueue2.c: (gst_queue_peer_query),
(gst_queue_handle_src_query):
Wait for preroll before attempting to forward a duration query upstream.
Fixes #445505.

14 years agogst/playback/gstqueue2.c: Fix compilation.
Wim Taymans [Thu, 7 Jun 2007 09:11:27 +0000 (09:11 +0000)]
gst/playback/gstqueue2.c: Fix compilation.

Original commit message from CVS:
* gst/playback/gstqueue2.c: (gst_queue_get_range):
Fix compilation.

14 years agogst/playback/gstqueue2.c: Add pull based scheduling and fix some deadlocks. Fixes...
Thiago Sousa Santos [Wed, 6 Jun 2007 13:36:26 +0000 (13:36 +0000)]
gst/playback/gstqueue2.c: Add pull based scheduling and fix some deadlocks. Fixes #444523.

Original commit message from CVS:
Patch by: Thiago Sousa Santos <thiagossantos at gmail dot com>
* gst/playback/gstqueue2.c: (gst_queue_init),
(gst_queue_handle_sink_event), (gst_queue_chain),
(gst_queue_get_range), (gst_queue_src_checkgetrange_function),
(gst_queue_sink_activate_push), (gst_queue_src_activate_push),
(gst_queue_src_activate_pull):
Add pull based scheduling and fix some deadlocks. Fixes #444523.
Does not yet completely work because duration queries upstream won't
block yet.

14 years agoSome more fseeko checks.
Wim Taymans [Wed, 6 Jun 2007 09:08:50 +0000 (09:08 +0000)]
Some more fseeko checks.

Original commit message from CVS:
* configure.ac:
* gst/playback/gstqueue2.c: (gst_queue_create_read):
Some more fseeko checks.

14 years agogst/playback/gstqueue2.c: Include stdio to define fseeko.
Wim Taymans [Tue, 5 Jun 2007 17:02:13 +0000 (17:02 +0000)]
gst/playback/gstqueue2.c: Include stdio to define fseeko.

Original commit message from CVS:
* gst/playback/gstqueue2.c: (gst_queue_have_data),
(gst_queue_create_read), (gst_queue_read_item_from_file),
(gst_queue_open_temp_location_file), (gst_queue_locked_enqueue):
Include stdio to define fseeko.

14 years agogst/playback/gstqueue2.c: Add support for filebased buffering. Fixes #441264.
Thiago Sousa Santos [Tue, 5 Jun 2007 16:14:23 +0000 (16:14 +0000)]
gst/playback/gstqueue2.c: Add support for filebased buffering. Fixes #441264.

Original commit message from CVS:
Based on patch by: Thiago Sousa Santos <thiagossantos at gmail dot com>
* gst/playback/gstqueue2.c: (gst_queue_class_init),
(gst_queue_init), (gst_queue_finalize),
(gst_queue_write_buffer_to_file), (gst_queue_have_data),
(gst_queue_create_read), (gst_queue_read_item_from_file),
(gst_queue_open_temp_location_file),
(gst_queue_close_temp_location_file), (gst_queue_locked_flush),
(gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
(gst_queue_is_empty), (gst_queue_is_filled),
(gst_queue_change_state), (gst_queue_set_temp_location),
(gst_queue_set_property):
Add support for filebased buffering. Fixes #441264.

14 years agogst/playback/gstqueue2.c: Tweak the buffering thresholds a little.
Wim Taymans [Thu, 17 May 2007 15:22:44 +0000 (15:22 +0000)]
gst/playback/gstqueue2.c: Tweak the buffering thresholds a little.

Original commit message from CVS:
* gst/playback/gstqueue2.c: (update_rates):
Tweak the buffering thresholds a little.
Update the buffer size with the previously calculate rate instead of
only when we calculate a new rate so that we get smoother buffering
updates.
* gst/playback/Makefile.am:
* gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_base_init),
(gst_uri_decode_bin_class_init), (gst_uri_decode_bin_init),
(gst_uri_decode_bin_finalize), (gst_uri_decode_bin_set_property),
(gst_uri_decode_bin_get_property), (unknown_type),
(add_element_stream), (no_more_pads_full), (no_more_pads),
(source_no_more_pads), (new_decoded_pad), (array_has_value),
(gen_source_element), (has_all_raw_caps), (analyse_source),
(remove_decoders), (make_decoder), (remove_source),
(source_new_pad), (setup_source), (decoder_query_init),
(decoder_query_duration_fold), (decoder_query_duration_done),
(decoder_query_position_fold), (decoder_query_position_done),
(decoder_query_latency_fold), (decoder_query_latency_done),
(decoder_query_seeking_fold), (decoder_query_seeking_done),
(decoder_query_generic_fold), (gst_uri_decode_bin_query),
(gst_uri_decode_bin_change_state), (plugin_init):
New element that intergrates a source, optional buffering element and
decodebin.

14 years agogst/playback/gstqueue2.c: fix build.
Wim Taymans [Thu, 17 May 2007 13:36:11 +0000 (13:36 +0000)]
gst/playback/gstqueue2.c: fix build.

Original commit message from CVS:
* gst/playback/gstqueue2.c: (gst_queue_get_type),
(gst_queue_class_init), (gst_queue_finalize), (update_time_level),
(apply_segment), (apply_buffer), (update_buffering),
(reset_rate_timer), (update_rates), (gst_queue_locked_flush),
(gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
(gst_queue_handle_sink_event), (gst_queue_is_filled),
(gst_queue_chain), (gst_queue_push_one), (gst_queue_loop),
(plugin_init):
fix build.

14 years agogst/playback/: On our way to playbin2 this is the new network queue that does bufferi...
Wim Taymans [Thu, 17 May 2007 11:57:44 +0000 (11:57 +0000)]
gst/playback/: On our way to playbin2 this is the new network queue that does buffering all by itself using high and ...

Original commit message from CVS:
* gst/playback/Makefile.am:
* gst/playback/gstqueue2.c: (gst_queue_get_type),
(gst_queue_class_init), (gst_queue_init), (gst_queue_finalize),
(gst_queue_getcaps), (gst_queue_bufferalloc),
(gst_queue_acceptcaps), (update_time_level), (apply_segment),
(apply_buffer), (update_buffering), (reset_rate_timer),
(update_rates), (gst_queue_locked_flush),
(gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
(gst_queue_handle_sink_event), (gst_queue_is_empty),
(gst_queue_is_filled), (gst_queue_chain), (gst_queue_push_one),
(gst_queue_loop), (gst_queue_handle_src_event),
(gst_queue_handle_src_query), (gst_queue_sink_activate_push),
(gst_queue_src_activate_push), (gst_queue_change_state),
(gst_queue_set_property), (gst_queue_get_property), (plugin_init):
On our way to playbin2 this is the new network queue that does buffering
all by itself using high and low watermarks. It can also measure up and
downstream bandwidth to optimally size the queue.

14 years agoparse: Fix memleak of unused delayed links
David Schleef [Thu, 29 Oct 2009 05:03:44 +0000 (22:03 -0700)]
parse: Fix memleak of unused delayed links

Attach the DelayedLink structure to the element, so that when
the element is disposed, the DelayedLink is freed.

14 years agopad: make _fixate_caps() also truncate when needed
Rob Clark [Wed, 9 Sep 2009 20:37:11 +0000 (15:37 -0500)]
pad: make _fixate_caps() also truncate when needed

The default gst_pad_fixate_caps() previously would only fixate each individual
struct. In case there are multiple structs, the resulting caps would still not
be fixed. In the spirit of how individual structs are fixated, this patch
changes gst_pad_fixate_caps() to remove all but the first struct.

Fixes #595886

14 years agoinfo: fix docs
Wim Taymans [Mon, 21 Sep 2009 09:44:13 +0000 (11:44 +0200)]
info: fix docs

14 years agooptimisation : Use g_object_newv where possible.
Edward Hervey [Wed, 28 Oct 2009 08:26:32 +0000 (09:26 +0100)]
optimisation : Use g_object_newv where possible.

This avoids:
* triple-checking for the GType when type-checking is enabled (see #597260)
* Avoids going through an expensive no-argument checking which landed in
  glib-2.22
* Avoids going through 2 extrac functions (g_object_new -> g_object_new_valist)

14 years agodocs: include annotation glossary to have working links.
Stefan Kost [Wed, 28 Oct 2009 08:15:12 +0000 (10:15 +0200)]
docs: include annotation glossary to have working links.

14 years agoannotations: add annotations to gst_init_check too
Stefan Kost [Wed, 28 Oct 2009 08:14:36 +0000 (10:14 +0200)]
annotations: add annotations to gst_init_check too

14 years agodocs: tell more about what happens in gst_init.
Stefan Kost [Wed, 28 Oct 2009 07:58:52 +0000 (09:58 +0200)]
docs: tell more about what happens in gst_init.

Add links to gst_update_registry and the env-vars.

14 years agodocs: remove reference to OGI and rephrase sections docs
Stefan Kost [Wed, 28 Oct 2009 07:21:01 +0000 (09:21 +0200)]
docs: remove reference to OGI and rephrase sections docs

The OGI links are dead, so remove them. Also remove the paragraph that pointed
to OGI and DS. Only mentioning DS there made it a but pointless. Add a generic
paragraph instead that tells a bit about the usecases gstreamer covers.

14 years agoRemove GST_DEBUG_FUNCPTR where they're pointless
Tim-Philipp Müller [Wed, 28 Oct 2009 00:29:30 +0000 (00:29 +0000)]
Remove GST_DEBUG_FUNCPTR where they're pointless

There's not much point in using GST_DEBUG_FUNCPTR with GObject
virtual functions such as get_property, set_propery, finalize and
dispose, since they'll never be used by anyone anyway. Saves a
few bytes and possibly a tenth of a polar bear.