Wim Taymans
b2aa56f4e3
task: add separate methods to add enter/leave callback
...
Remove the structure of callbacks and replace with separate methods to register
each callback. This is much more binding friendly.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677898
2012-06-20 11:59:09 +02:00
Wim Taymans
76e8b2ecda
task: add GDestroyNotify to _new
...
Add a GDestroyNotify to the user_data we pass to gst_task_new()
Change gst_pad_start_task() to also take the notify
2012-06-20 10:31:49 +02:00
Wim Taymans
d7d5306009
clock: remove _full version
...
Rename gst_clock_id_wait_async_full() to gst_clock_id_wait_async()
and remove the old gst_clock_id_wait_async() version.
2012-06-20 09:58:14 +02:00
Evan Nemerson
870d631f51
task pool: set scope of gst_task_pool_push callback to async
2012-06-19 17:37:59 -07:00
Evan Nemerson
b70aefdb85
introspection: add missing return value annotations
2012-06-19 17:33:45 -07:00
Evan Nemerson
8620b30df9
introspection: rename some "data" arguments to "user_data"
...
GObject Introspection will automatically treat "user_data" arguments
as closure data.
2012-06-19 16:09:10 -07:00
Evan Nemerson
4e89ecd4d1
toc: add some missing element-type annotations
2012-06-19 16:08:46 -07:00
Evan Nemerson
d5c54b07fc
buffer pool: put GstBufferPoolAcquireParams typedef before struct
...
Works around https://bugzilla.gnome.org/show_bug.cgi?id=581525
2012-06-19 16:06:49 -07:00
Sebastian Dröge
de37675e3a
memory: Fix docs typo
2012-06-19 14:31:03 +01:00
Wim Taymans
fb874e2104
clock: assert about timestamp overflows
...
Assert when converting to timeval and timespec about overflows. This can happen
on platforms with 32bits long.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=678181
2012-06-19 14:09:02 +02:00
Wim Taymans
61fefbb542
pad: move gst_pad_set_caps() to compat
...
We want code to explicitly send a caps event instead.
2012-06-18 16:14:19 +02:00
Wim Taymans
85feb64912
utils: fix some docs
2012-06-18 16:13:22 +02:00
Sebastian Rasmussen
74cf810392
clock: fix compiler warning
...
Cast to the right value, it might indeed overflow but we want the compiler to
ignore that.
2012-06-18 15:28:20 +02:00
Wim Taymans
2cb9eba560
miniobject: hide qdata array layout
2012-06-18 15:22:26 +02:00
Evan Nemerson
c29168ed5e
atomic queue: register as boxed type
2012-06-18 13:15:03 +02:00
Evan Nemerson
6c6bb0e217
introspection: assorted introspection and documentation fixes
...
These changes are to clean up syntax issues such as missing colons,
missing spaces, etc., and minor issues such as argument names in
headers not matching the implementation and/or documentation.
2012-06-18 13:11:40 +02:00
Evan Nemerson
49ba9ef056
toc setter: change GstTocSetterIFace to GstTocSetterInterface
...
Without this GObject Introspection does not recognize the connection
to GstTocSetter.
2012-06-18 13:10:34 +02:00
Wim Taymans
95f016b795
bufferpool: update docs a little
2012-06-18 12:15:57 +02:00
Wim Taymans
2d19ed41c8
bufferpool:check caps argument
...
Caps should be NULL or fixed when configured in a bufferpool
2012-06-18 10:13:38 +02:00
Wim Taymans
c066ea8c69
caps: NULL is not a valid caps anymore
2012-06-15 17:01:37 +02:00
Wim Taymans
2cab15c9f6
docs: improve API docs
2012-06-15 12:57:24 +02:00
Tim-Philipp Müller
34895ae332
alllocator: no need to store structure size inside the structure
2012-06-15 10:27:18 +01:00
Tim-Philipp Müller
16e5684486
query: no need to store the size of the structure inside the structure
2012-06-15 10:26:57 +01:00
Tim-Philipp Müller
7eecd8f56f
event: no need to store the size of the structure inside the structure
2012-06-15 10:26:57 +01:00
Tim-Philipp Müller
b4a9a2f79e
bufferlist: no need to store the size of the structure inside the structure
2012-06-15 10:26:56 +01:00
Tim-Philipp Müller
463268b21f
caps: no need to store the size of the caps structure inside the structure
2012-06-15 10:26:56 +01:00
Tim-Philipp Müller
2677f9b56d
message: no need to store size of the message structure inside the structure
2012-06-15 10:26:56 +01:00
Tim-Philipp Müller
fcd6e1f89c
sample: no need to store the size of the sample structure inside the structure
2012-06-15 10:26:56 +01:00
Tim-Philipp Müller
e560d7a364
taglist: no need to store the size of the tag list structure inside the structure
2012-06-15 10:26:56 +01:00
Wim Taymans
eea41eb3a2
miniobject: expand docs a little
...
Add blurb about qdata and weak refs.
2012-06-15 11:24:46 +02:00
Wim Taymans
2a4079954a
miniobject: add qdata
...
Keep track of qdata for miniobjects. Reuse the weak ref array for this because
we can.
2012-06-15 11:01:29 +02:00
Wim Taymans
e57cda1429
miniobject: fix error in the weak ref handling
...
When 2 weak refs are added, the array is not resized big enough.
Simplify the weak ref handling code.
Free memory when we remove all weak refs.
Allow installing the same weak ref multiple times, like in gobject.
2012-06-15 10:58:21 +02:00
Wim Taymans
12aefaa078
miniobject: remove the size field
...
The size field is used by subclasses to store the total allocated size of the
memory for this miniobject. Because miniobject doesn't really do anything with
this field we can move it to the subclasses.
2012-06-14 17:11:11 +02:00
Wim Taymans
a1c5b00e72
memory: make GstMemory a miniobject
2012-06-14 16:34:28 +02:00
Wim Taymans
ec8ac0bb16
trace: always print miniobject refcount
2012-06-14 16:34:28 +02:00
Wim Taymans
db204ea24a
memory: fix copy function
...
Make the copy function map to ref because we can't safely copy the user_data.
2012-06-14 16:34:28 +02:00
Wim Taymans
a7793f1fd7
memory: make GstAllocator a miniobject
2012-06-14 16:34:28 +02:00
Vincent Penquerc'h
c65eebe28c
element: fix pad transfer annotation from none to full
...
since the pad will be unreffed.
2012-06-14 14:06:12 +01:00
Wim Taymans
7b6ebd4b5b
message: add the running-time to the async-done message
...
Add the running-time of the buffer that caused the async operation to complete
to the async-done message.
Update bin to handle the new async-done message.
2012-06-14 09:04:33 +02:00
Wim Taymans
9c8ee44f9b
pipeline: use reset_time message to reset the start time
...
Use the new RESET_TIME message to reset the start-time of the pipeline to the
requested time.
Make basesink request a new running-time when the flush-stop message tells it to
insteasd of waiting for preroll.
2012-06-14 09:04:33 +02:00
Wim Taymans
8118767c82
message: add a new message to reset time
...
Add a new message to reset the pipeline running_time. Currently reseting the
pipeline can only be requested in the async_done message which means that the
pipeline needs to be prerolled. It is better to move this to a separate message.
2012-06-14 09:04:28 +02:00
Wim Taymans
d05ad920ce
bin: always recurse into bins when doing state changes
...
Never skip the state change of a bin because it needs to update the base time of
its children when needed.
2012-06-13 11:03:19 +02:00
Tim-Philipp Müller
5b37641cbc
datetime: clean-ups and new API adjustments
...
Remove constructors we don't want:
gst_date_time_new_ymd_h() because we don't want to
support hour-only for now;
gst_date_time_new_ymd_hm() because we don't want to
add constructors with time info where the caller doesn't
have to think about what timezone the time is in.
Lots of compulsive clean-up. Docs fixes. Replace
has_minute() and has_hour() with has_time().
2012-06-12 23:56:28 +01:00
Oleksij Rempel
000ebef2f4
datetime: allow GstDateTime where not all fields are set
...
In order to deserialise and re-serialise dates and date times
from tags properly, we need to be able to express partial
dates (e.g. YYYY or YYYY-MM) and date times.
We only support partial date times where all the more
significant fields above the first unset field are set
(e.g. YYYY-00-DD is not supported).
Calling _get_foo() when foo is not set is not allowed
any more, callers need to check which fields are set
first.
https://bugzilla.gnome.org/show_bug.cgi?id=677757
2012-06-12 22:53:01 +01:00
Tim-Philipp Müller
d916018021
message: fix up minor inconsistency in structure name of state-changed message
2012-06-12 22:45:44 +01:00
Evan Nemerson
d13ce8b7e8
introspection: add some missing annotations
2012-06-12 20:48:50 +02:00
Stefan Sauer
92d5fb8660
childproxy: add a few more comments
2012-06-12 11:06:46 +02:00
Stefan Sauer
6f6254d2b0
childproxy: fix signal handler signatures in class
...
When adding the name parameter, we forgot to add it here too.
2012-06-11 20:34:00 +02:00
Stefan Sauer
19e5fc54b7
childproxy: use GstChildProxy instead of GObject on the public api
...
Fix usage and also cleanup gst_object api use on gobjects.
2012-06-11 18:25:18 +02:00
Wim Taymans
26682f7c7a
element: remove unused UNPARENTING flag
2012-06-11 15:49:10 +02:00
Wim Taymans
85d5a29b40
bin: reorganize _remove_func to avoid races
...
Make the gst_bin_remove_func more like the add_func. Check if the element we try
to remove from the bin has the bin as the parent and set the parent flag to NULL
immediately, this allows us to avoid concurrent remove operations without using
the UNPARENTING element flag. After we unparented the element from the bin, we
update the bin state and remove the element from the list. Finally we unlink
all the pads.
This avoids a race condition where the element could still claim to have the
bin as the parent while the bin didn't have a pointer to the element anymore.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=647759
2012-06-11 15:41:58 +02:00
Matej Knopp
a362b844f8
gstelement: Start over if subclass removed the next pad too
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677818
2012-06-11 10:43:34 +02:00
Tim-Philipp Müller
bfe1cf9926
datetime: remove fallback code for old GLibs
2012-06-09 18:05:14 +01:00
Edward Hervey
915ca4685c
gstutils: Faster read macros
...
On platforms that can do unaligned read/write, we can read/write much faster
by just casting.
https://bugzilla.gnome.org/show_bug.cgi?id=599546
2012-06-08 14:58:00 +02:00
Edward Hervey
cdf1cc0cf5
registry: We name the registry after the target cpu
...
And not the host cpu
Conflicts:
gst/gstregistry.c
2012-06-07 10:57:31 +02:00
Wim Taymans
6758e5f00d
element: fix pad cleanup in dispose
...
In the dispose handler we first need to release all the request pads and then
remove the remaining pads. This is because it is possible that releasing the
request pad might also cleanly remove some of the other dynamic pads, like
what rtpsession does.
https://bugzilla.gnome.org/show_bug.cgi?id=677436
2012-06-06 15:33:57 +02:00
Sebastian Dröge
738cf12d96
event: Don't make the TOC event a multi-sticky event
...
Elements are supposed to merge upstream events.
2012-06-06 14:16:01 +02:00
Havard Graff
75853fa79b
Make sure that unlinked pads do not cause a return false on latency events.
...
Context: Latency configuration should not be
messed up because of not-linked pads. In general,
one return FALSE on latency distribution causes
the "overall" pipeline latency configuration to
fail. This shows up as noise in logs (warning).
Conflicts:
gst/gstpad.c
2012-06-06 13:42:32 +02:00
Wim Taymans
c10d39a804
event: add name to sticky_multi events
...
The name of the event is used to store multiple sticky events of a certain type
on a pad.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676859
2012-06-06 12:52:09 +02:00
Wim Taymans
15d85b9edb
query: improve docs
2012-06-06 09:15:04 +02:00
Wim Taymans
d907544ab1
pad: only serialized events can't pass after EOS
...
Only serialized events can't be sent on pads that are EOS. Otherwise a seek
event would be refused as well.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677520
2012-06-06 09:14:58 +02:00
Tim-Philipp Müller
1f8e6b4fa5
gst_tag_list_free -> gst_tag_list_unref
2012-06-05 15:05:07 +01:00
Wim Taymans
64b5eeefa3
utils: improve debug
2012-06-05 09:39:41 +02:00
Wim Taymans
b0756827f6
pad: don't pause task on EOS
...
Elements should not rely on core to pause tasks on EOS.
2012-06-05 09:10:05 +02:00
Wim Taymans
bae0c4b0c6
pad: fix event type check
2012-06-05 09:00:01 +02:00
Wim Taymans
66c88c1bb1
pad: fix 'res' may be used uninitialized in this function
2012-06-04 16:19:26 +02:00
Sebastian Dröge
8cc12b05fc
pad: Don't accept any buffers or events after EOS
2012-06-04 13:01:40 +02:00
Sebastian Dröge
5a8c901507
pad: Always return errors for EOS events immediately
...
For non-EOS events things will error out later during data
flow but after EOS events no data flow is happening.
See bug #677340 .
2012-06-04 11:25:47 +02:00
Sebastian Dröge
991ac561e1
pad: Only forward caps events to a pad if it accepts the caps
...
Fixes bug #677335 .
2012-06-04 09:27:35 +02:00
Sebastian Dröge
8e6b5c7acf
Revert "pad: Return FALSE if pushing of sticky events failed"
...
This reverts commit 0f924b922c
.
Sticky events should always return TRUE when pushing and will
only cause failures during data flow later.
2012-06-02 20:06:39 +02:00
Tim-Philipp Müller
9b308b2b5b
pad: fix variable-set-but-not-used compiler warning
2012-06-02 16:18:46 +01:00
Sebastian Dröge
0ca7b85ead
pad: If pushing a sticky event failed, make sure to at least push any pending EOS events
...
Otherwise a pipeline where one sticky event fails to be sent will
never forward EOS events downstream. This can cause pipelines to
wait forever for EOS on errors.
2012-06-02 17:00:48 +02:00
Sebastian Dröge
0f924b922c
pad: Return FALSE if pushing of sticky events failed
...
Instead of just ignoring failure of pushing sticky events and
returning TRUE as if everything is fine.
2012-06-02 16:02:07 +02:00
Tim-Philipp Müller
d1379f1671
taglist: add guards to make sure taglist is writable when modifying it
...
Now that taglists are refcounted we need to check if they're
writable before modifying them.
2012-05-29 08:48:36 +01:00
Tim-Philipp Müller
d007ac4a1a
taglist: avoid unnecessary string copying when registering tags
...
Add gst_tag_register_static() - no need to copy all those
string constants, whether translated or not.
API: gst_tag_register_static()
2012-05-29 08:00:28 +01:00
Tim-Philipp Müller
cd3875857e
gst_tag_list_free() -> gst_tag_list_unref()
2012-05-28 00:08:18 +01:00
Tim-Philipp Müller
a88dcc2ab6
taglist: make GstTagList a GstMiniObject
...
Which adds refcounting support, and other things.
2012-05-28 00:05:16 +01:00
Tim-Philipp Müller
b5ab3fb1dc
caps: log freeing of caps at same log level as creation, i.e. TRACE
2012-05-27 20:31:30 +01:00
Tim-Philipp Müller
61dcbaab63
message, event: update for tag lists not being structures any more
2012-05-26 11:44:03 +01:00
Tim-Philipp Müller
97c2498bbe
taglist: make proper struct not just a GstStructure
2012-05-26 11:44:03 +01:00
Josep Torra
d06c7dc6fd
debugutils: Fix static linking on OS X
...
The linking behaviour of external variables that are not initialized
in the compilation unit where they are defined is undefined. On OS X
this causes a linking failure when statically linking GStreamer.
2012-05-25 10:49:47 +02:00
Edward Hervey
07a888f174
uri: Add some debug statements
2012-05-23 09:39:16 +02:00
Stefan Sauer
37f7fc165d
docs: improve the seeking docs more.
...
Also mention it on _element_seek{,_simple} and be more precise why it happens.
2012-05-21 15:17:08 +02:00
Stefan Sauer
dca0c19d3e
docs: fix a typo and clarify event handling a bit more
...
Tell about async_done messages for some events and review the _event_new_seek
docs.
2012-05-21 14:34:33 +02:00
Wim Taymans
146ab8a702
bin: try harder to avoid state changes in wrong direction
...
When the bin does an upward state change, try to avoid doing a downward state
change on the child and vice versa.
Add some more unit tests for this fix.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=621833
2012-05-21 11:58:28 +02:00
Anton Belka
6f54f36199
toc: Add boxed types for GstToc and GstTocEntry
2012-05-21 08:46:48 +02:00
Tim-Philipp Müller
04f8cd886d
toc: fix type of pad parameter to gst_toc_entry_new_with_pad()
2012-05-20 18:24:38 +01:00
Tim-Philipp Müller
81e50c21cc
toc: use correct GType for tag lists
2012-05-20 18:16:45 +01:00
Tim-Philipp Müller
987286ce2d
toc: avoid unnecessary GValue acrobatics
2012-05-20 18:06:22 +01:00
Tim-Philipp Müller
68da2aeeed
toc: use global quark table
2012-05-20 17:48:55 +01:00
Tim-Philipp Müller
1dd0708d22
toc: fix internal TOC query and event structure names
...
Make them consistent with all the other query and event names.
2012-05-20 17:11:37 +01:00
Tim-Philipp Müller
5b4417ff9e
pluginfeature: make GstPluginFeature structure private
...
Make GstPluginFeature opaque until we have time to
clean it up a little. Only GstElementFactory and
GstTypefindFactory derive from it, and they are
opaque already, and we currently don't support
custom plugin features in the registry anyway.
2012-05-19 17:25:24 +01:00
Tim-Philipp Müller
ab6171373c
pluginfeature: add gst_plugin_feature_get_plugin()
...
Add function to retrieve plugin that provides this feature.
API: gst_plugin_feature_get_plugin()
2012-05-19 17:16:35 +01:00
Tim-Philipp Müller
a9d19a6913
elementfactory: make object struct opaque for now
...
Make GstElementFactory opaque until we have time to
clean it up a little. It's not something anyone
would need to derive from.
2012-05-19 16:17:12 +01:00
Tim-Philipp Müller
1ee520790a
elementfactory: add gst_element_factory_get_metadata_keys()
...
API: gst_element_factory_get_metadata_keys()
2012-05-19 14:52:29 +01:00
Anton Belka
0bdd1224d3
docs: fix gst_structure_to_string() docs
2012-05-17 12:01:51 +02:00
Sebastian Dröge
cacdea6ae6
gst: Rename gst_toc_entry_type_to_string() to gst_toc_entry_type_get_nick()
...
It's more consistent.
2012-05-15 16:38:30 +02:00
Anton Belka
71d1af2b66
toc: API: Add gst_toc_entry_type_to_string()
2012-05-15 16:13:55 +02:00
Sebastian Rasmussen
1c82367a0e
gst: Only include init/deinit of alloc tracing when enabled
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=675806
2012-05-11 13:39:38 +02:00
Raimo Järvi
63234a9dab
gst: Fix compiler warnings on mingw-w64
...
https://bugzilla.gnome.org/show_bug.cgi?id=675525
2012-05-09 09:35:35 +02:00