Wim Taymans
f44d8c31de
bin: never skip a state change to PLAYING
...
Never skip the state change to playing, even if the element is already in the
right state. We need this because we also distribute the base_time while doing
the state change and skipping this step would leave some elements without a new
base_time.
Fixes #600313
2009-12-11 16:26:00 +01:00
Wim Taymans
8bc67e5434
element: use NULL instead of 0 for pointers
2009-12-09 13:27:22 +01:00
Sebastian Dröge
1c66f306d6
utils: Fix proxy_setcaps to only iterate pads of other direction
2009-12-08 16:40:57 +01:00
Wim Taymans
c6f2a94777
utils: fix proxy_getcaps
...
Make it return the padtemplate caps on errors and no parent.
Only intersect pads of the oposite direction of the source pad.
2009-12-08 16:30:51 +01:00
Sebastian Dröge
6bff920ba0
utils: Rename proxy iterator fold functions to have a more meaningful name
2009-12-08 16:24:20 +01:00
Sebastian Dröge
d6492c2958
utils: If one intersection gave empty caps don't continue iterating over the other pads
2009-12-08 16:09:02 +01:00
Wim Taymans
c2b0e9de25
Use plain casting instead of typechecking
2009-12-07 20:52:22 +01:00
Edward Hervey
a5626f239a
gstvalue: Use fast gst_value_list_{size|get_value} macro accessors
...
gst_value_list_size and gst_value_list_get_value will do a series of
extra checks due to being public methods.
When we use them from within gstvalue.c we can directly use them without
the extra checks.
2009-12-07 09:51:04 +01:00
Edward Hervey
1d91fd9fb9
gsturi: Don't use g_signal_emit_by_name, use the signal ID directly
2009-12-07 09:51:03 +01:00
Edward Hervey
4140350594
gstobject: Avoid double strdup when setting NULL names.
...
Instead of chaining up to gst_object_set_name (which does typechecking
and strdup's the name again), just use the already allocated new
name.
2009-12-07 09:49:06 +01:00
Sebastian Dröge
df741e7e2f
bin: Ignore state change failures from children that were removed from the bin already
...
Fixes bug #584441 .
2009-12-04 16:28:27 +01:00
Sebastian Dröge
08ae8a1afb
registry: Use GMappedFile for reading the registry
...
Fixes bug #603787 .
2009-12-04 15:19:11 +01:00
Javier Jardón
ca974b1a8f
registry: Substitute deprecated GLib symbol: g_mapped_file_free
...
Use g_mapped_file_unref if Glib >= 2.22 is available
Fixes bug #560442 .
2009-12-04 14:50:46 +01:00
Wim Taymans
d5e42a92c8
event: fix docs for _copy()
2009-12-02 13:29:28 +01:00
David Schleef
b0889cf2a1
Make gcc inline assembly conditional on gcc
2009-12-01 18:09:35 -08:00
Edward Hervey
24b357a444
gstghostpad: Register debug funcptr only once.
...
This makes ghostpad/proxypad creation 5 times faster and avoids contention
over the global funcptr lock.
I also moved the two class init down in the code to avoid having to forward
declare all the various functions.
2009-12-01 17:56:19 +01:00
Edward Hervey
4da0da822a
gstpad: Only register debug funcptr once.
...
This makes pad initialization 2 times faster and without any contention
over the debug funcptr global lock.
2009-12-01 17:56:19 +01:00
Edward Hervey
8f40effea6
gstinfo: API: Add GST_DEBUG_REGISTER_FUNCPTR method.
...
This is a variant of GST_DEBUG_FUNCPTR which does not return anything.
2009-12-01 17:56:19 +01:00
Thiago Santos
0491df555d
gstevent: fix docs
...
Fix flush stops docs, those are serialized, not out of bounds.
Probably a copy and paste mistake.
2009-11-27 13:44:11 -03:00
Stefan Kost
8d63e8e0c3
docs: make links work (needs recent gtk-doc)
2009-11-27 14:18:39 +02:00
Stefan Kost
85d85f9d36
docs: add missing parameter docs
2009-11-27 14:18:39 +02:00
Stefan Kost
309187c2ce
docs: enable docs for GstObjectClass to fix links
2009-11-27 14:18:38 +02:00
Stefan Kost
f1d39627f6
gstobject: add FIXME-0.11 comments
2009-11-27 14:18:38 +02:00
Stefan Kost
9d640c7c61
docs: better way to link class methods
2009-11-27 14:18:38 +02:00
Stefan Kost
868878db87
docs: use '*' instead of xxx to avoid creating a broekn xref
2009-11-27 14:18:38 +02:00
Stefan Kost
f43f2bf960
docs: fix more bogus xrefs
2009-11-27 14:18:38 +02:00
Stefan Kost
1b5391fb47
docs: add docs for GstPluginFlags
...
This also makes links to them work.
2009-11-27 14:18:38 +02:00
Stefan Kost
23da3639f0
docs: fix xrefs in docs
...
Fix typos in xrefs, links to non existing functions and rework plural forms.
2009-11-25 16:59:50 +02:00
Stefan Kost
c95b233ce5
docs: remove gtkdoc header as these things don't come up on our docs even
2009-11-25 14:41:26 +02:00
Stefan Kost
f4f4906cc5
docs: add missing parameter doc string
2009-11-25 14:23:53 +02:00
Stefan Kost
22abe6fbcf
docs: document new event in enum
2009-11-25 14:21:50 +02:00
Stefan Kost
7ff832d36e
docs: fix gtk-doc syntax for doc-blob start
2009-11-25 14:18:14 +02:00
Wim Taymans
0b5e8f0e57
query: whitespace fixes
2009-11-23 11:34:07 +01:00
David Schleef
7537505ed0
gstplugin: Add C++ escape for gst_plugin_desc define
...
In order to properly export the gst_plugin_desc symbol
from DLLs in MSVC, it needs to be extern "C".
2009-11-19 18:04:56 +01:00
Tim-Philipp Müller
c8c893c30e
parse/grammar.y: remove unused ERROR define
2009-11-19 13:05:13 +00:00
Sebastian Dröge
fee1ad3a0a
event: API: Add sink-message event
...
gst_event_new_sink_message()
gst_event_parse_sink_message()
This event is used for sending a GstMessage downstream and synchronized
with the stream, to be posted by the sink once it reaches the sink.
Fixes bug #602275 .
2009-11-18 13:12:27 +01:00
Tim-Philipp Müller
3c7c9692ac
plugin-scanner: rename plugin-scanner helper binary to gst-plugin-scanner
...
and install into a different directory $(libexecdir/gstreamer-0.10) so that
everything is versioned properly.
NOTE: run 'make clean' after updating; if you are running an uninstalled setup,
you will need to update your gst-uninstalled script (unless it's symlinked
to gstreamer core master) and exit/enter your uninstalled environment to get
the updated environment. If you are running an installed setup, you should
run 'make uninstall' before merging this change or remove the old
plugin-scanner binary manually.
Fixes #601698 .
2009-11-18 09:28:08 +00:00
Tim-Philipp Müller
ab5f2f4f5d
Revert "structure: don't check type twice"
...
This reverts commit f864187bf5
.
Reverting this as it changes behaviour and the documentation is
ambiguous about whether the caller must check the type first or
not (call must check type vs. returns NULL if not a string). If
GLib has been compiled with G_DISABLE_CHECKS then g_value_get_string()
may return complete garbage even if the value does not contain
a string. Better play it safe, esp. since the extra check is just
an integer comparison. For fundamental types we could return values
from the GValue structure directly if we really wanted to bypass
the extra check.
2009-11-18 09:22:57 +00:00
Stefan Kost
f864187bf5
structure: don't check type twice
2009-11-18 10:12:13 +02:00
Sebastian Dröge
8d5c77535e
event: Add step event quark
2009-11-18 08:00:45 +01:00
Stefan Kost
da9b082808
structure: remove some blank lines (previous gst-indent failure)
2009-11-17 09:40:12 +02:00
Stefan Kost
94f6eced23
structure: use local variable earlier
2009-11-17 09:40:12 +02:00
Stefan Kost
7bd9299f3e
structure: don't check enum types twice.
...
G_VALUE_HOLDS_ENUM(value) is defined as G_TYPE_CHECK_VALUE_TYPE (value,
G_TYPE_ENUM). Just check for the right enum-type right away.
2009-11-17 09:40:12 +02:00
Sebastian Dröge
0ed24bc50e
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.
2009-11-16 09:56:32 +01:00
Sebastian Dröge
e4257e8d5f
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.
2009-11-16 09:56:32 +01:00
Stefan Kost
c84d17bcaf
debug: add more debug logging to help tracking parsing errors
2009-11-13 15:46:40 +02:00
Ole André Vadla Ravnås
73f2d464b7
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
2009-11-13 11:45:48 +01:00
Stefan Kost
4d17d331bf
whitespace: remove blanks in doc-comment
2009-11-12 17:02:40 +02:00
Руслан Ижбулатов
b1d57a8b05
registry: Import _priv_gst_dll_handle into gstregistry.c
...
Fixes bug #601668 .
2009-11-12 13:00:07 +01:00
Sebastian Dröge
039ef83523
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.
2009-11-10 18:17:26 +01:00
Tim-Philipp Müller
dfc792c904
registrychunks: fix compilation with debugging disabled
...
Add ugly ifdef to fix unused variable warning when compiling with
debug logging disabled.
2009-11-10 00:58:37 +00:00
Tim-Philipp Müller
8abd61339d
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'
2009-11-05 21:23:22 +00:00
Tim-Philipp Müller
2d177f9ee7
docs: fix typo
2009-11-05 18:39:15 +00:00
Tim-Philipp Müller
6afa355856
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.
2009-11-05 18:39:15 +00:00
Edward Hervey
6f7519704d
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.
2009-11-05 18:55:30 +01:00
Wim Taymans
7da9eb0f74
query: whitespace fixes
2009-11-05 15:14:13 +01:00
Wim Taymans
473594b3a4
ghostpad: fix locking
2009-11-05 14:02:28 +01:00
Stefan Kost
0467799f22
ghostpad: don't release mutex twice
2009-11-05 14:30:48 +02:00
Stefan Kost
df2341684f
ghostpad: skip type check in internal api
2009-11-05 14:30:48 +02:00
Wim Taymans
64a4037f63
pad: indentation fix
2009-11-05 12:36:10 +01:00
Stefan Kost
f63ecd04a8
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()
2009-11-05 12:54:32 +02:00
Stefan Kost
211b2e4338
element: access padtemplate list directly to avoid call and type check.
2009-11-04 22:42:52 +02:00
Sebastian Dröge
82f66b4036
event: Add a FIXME 0.11 for having flush events that don't reset running time
2009-11-04 18:59:23 +01:00
Jan Schmidt
94bb0ee718
registrychunks: Fix a printf compile warning on 64-bit platforms
2009-11-04 17:52:21 +00:00
Sebastian Dröge
6042793c26
ghostpad: Make sure that nobody sets the proxypad or ghostpad itself as target
...
Doing this will lead to very interesting crashes, like stack overflows.
2009-11-04 17:17:17 +01:00
Jan Schmidt
f425b2711f
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.
2009-11-04 11:36:20 +00:00
Jan Schmidt
cebbcb1cdf
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.
2009-11-04 11:36:20 +00:00
Tim-Philipp Müller
5790c33fe4
gsttypefind: avoid one more run-time type check
2009-11-02 08:50:04 +00:00
Sebastian Dröge
f9e3b72ff6
structure: API: Add gst_structure_id_has_field{,_typed}
2009-11-02 09:24:10 +01:00
Edward Hervey
0aff2c55b7
gsttypefind: Use _CAST variants when the type has alredy been checked.
...
This avoids checking the type n_typefinders * 4 times when loading the
registry.
2009-11-02 08:30:24 +01:00
Sebastian Dröge
15229ab669
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.
2009-11-01 11:24:40 +01:00
Sebastian Dröge
28493b04ec
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.
2009-10-31 16:56:17 +01:00
Sebastian Dröge
02d044e291
parser: Use GSlice for allocating the structs
2009-10-31 16:49:03 +01:00
Sebastian Dröge
5b5718cd20
parser: Always get DelayedLink information from the objects qdata
...
This makes sure that it is always valid.
2009-10-31 16:43:26 +01:00
Sebastian Dröge
9236921a34
queue2: Move queue2 to gstreamer coreplugins
...
Fixes bug #599996 .
2009-10-29 11:18:20 +01:00
Tim-Philipp Müller
d98dc4788c
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.
2009-10-29 11:17:18 +01:00
Wim Taymans
141e06b547
queue2: add custom acceptcaps function
2009-10-29 11:17:17 +01:00
Mark Nauwelaerts
f766708c17
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 .
2009-10-29 11:17:17 +01:00
Wim Taymans
ec81bbf713
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
2009-10-29 11:17:17 +01:00
Wim Taymans
49c01cce93
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.
2009-10-29 11:17:17 +01:00
Wim Taymans
affe0aef6f
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.
2009-10-29 11:17:17 +01:00
LRN
4843c0947b
win32: fix seeking in large files
...
Fix Seeking in large files by using the 64-bit seek functions.
Fixes #576019
2009-10-29 11:17:17 +01:00
Frederic Crozat
4ec6f02e8a
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 ).
2009-10-29 11:17:16 +01:00
Stefan Kost
f9fdf30406
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.
2009-10-29 11:17:16 +01:00
Stefan Kost
917d1c4be0
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.
2009-10-29 11:17:16 +01:00
Wim Taymans
ca7828940d
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.
2009-10-29 11:17:16 +01:00
Wim Taymans
e9d3f79139
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.
2009-10-29 11:17:16 +01:00
Wim Taymans
fc13a73038
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.
2009-10-29 11:17:16 +01:00
Wim Taymans
0e7fb0ffa5
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 .
2009-10-29 11:17:15 +01:00
Sebastian Dröge
301b7ba7b9
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 .
2009-10-29 11:17:15 +01:00
Wim Taymans
4de6a788b8
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 .
2009-10-29 11:17:15 +01:00
Wim Taymans
3fb28dfc90
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 .
2009-10-29 11:17:15 +01:00
Wim Taymans
2b5653dd82
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.
2009-10-29 11:17:15 +01:00
Wim Taymans
ca779938d1
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.
2009-10-29 11:17:15 +01:00
Wim Taymans
7d6d46fea6
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 .
2009-10-29 11:17:14 +01:00
Wim Taymans
73be0c35c0
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.
2009-10-29 11:17:14 +01:00
Jan Schmidt
a4614d8c8c
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.
2009-10-29 11:17:14 +01:00
Wim Taymans
ff4e3e7b94
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.
2009-10-29 11:17:14 +01:00
Tim-Philipp Müller
48d4fd8f8d
gst/: Printf format fixes ( #465028 ).
...
Original commit message from CVS:
* gst/playback/gstqueue2.c:
* gst/videorate/gstvideorate.c:
Printf format fixes (#465028 ).
2009-10-29 11:17:14 +01:00
Wim Taymans
da7a699c5f
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.
2009-10-29 11:17:14 +01:00