Commit graph

7041 commits

Author SHA1 Message Date
Stefan Sauer 30c30ed171 segment: remove removed api from the docs. 2012-07-11 12:51:30 +02:00
Sebastian Dröge 0c5b3cc5f9 toc: Add functions to retrieve the parent GstToc/GstTocEntry of a GstTocEntry 2012-07-11 12:45:51 +02:00
Anton Belka be38fbba5e toc: Fix gst_toc_find_entry()
Recursive search for the required entry, instead of returning the
top-level entry that contains an entry with the search UID.
2012-07-11 12:36:04 +02:00
Edward Hervey 634cb80c8e structure: Demote WARNING to DEBUG
It is not an issue to get fields that don't exist, calling code should
handle that.
2012-07-11 10:24:51 +02:00
Edward Hervey d3ffa82639 Remove 0.10-related documentation and "Since" markers 2012-07-10 12:03:27 +02:00
Wim Taymans 82eb275ef9 query: copy structure in _add_allocation_meta()
Make gst_query_add_allocation_meta() take a copy of the passed caps instead of
taking ownership. This makes it easier for the caller in most cases because it
doesn't have to make a copy and deal with NULL values.
2012-07-10 10:31:00 +02:00
Wim Taymans 77bc2170f8 gst: add new flags 2012-07-10 10:11:57 +02:00
Matej Knopp 4afdef5586 miniobject: fix exclusive lock/unlock race 2012-07-10 09:46:36 +02:00
Stefan Sauer f165a77fdc segment: also copy the segment flag
Fixes segmented seeks (as tested e.g. in the adder tests in base).
2012-07-09 22:16:46 +02:00
Tim-Philipp Müller 68a2eb5d18 gst: sprinkle some G_GNUC_INTERNAL for internal functions 2012-07-09 20:48:56 +01:00
Edward Hervey 94bd61b72d gstbin: collect and aggregate STREAM_START messages
when all sinks have posted a STREAM_START, the bin will forward a
new STREAM_START message to the parent bin or application
2012-07-09 20:31:45 +02:00
Edward Hervey 67b77667bb gstmessage: New GST_MESSAGE_STREAM_START
message counterpart to the GST_EVENT_STREAM_START event
2012-07-09 20:31:45 +02:00
Wim Taymans 5750f19712 docs: fix docs a little more 2012-07-09 16:28:22 +02:00
Wim Taymans f362f643ac memory: Make GstAllocator a GstObject
Make GstAllocator a GstObject instead of a GstMiniObject, like bufferpool.
Make a new gstallocator.c file. Make a GstAllocator subclass for the default
allocator.
2012-07-09 16:28:22 +02:00
Wim Taymans 6e7c469b48 memory: remove unused macros 2012-07-09 16:28:22 +02:00
Wim Taymans 10f3adfd9d clock: make abstract
Make the GstClock type abstract.
Fix a horrible hack in the clock unit test.
2012-07-09 16:28:22 +02:00
Tim-Philipp Müller f6e8786be8 toc: remove padding now that the structs are private 2012-07-09 13:15:46 +01:00
Tim-Philipp Müller 1ba0d6f6f6 toc: add gst_toc_dump() function for debugging
API: gst_toc_dump()
2012-07-09 13:12:27 +01:00
Tim-Philipp Müller c0c79188ca bus, clock: make sure these never have a floating ref
Clear the initial floating ref in the init function for
busses and clocks. These objects can be set on multiple
elements, so there's no clear parent-child relationship
here. Ideally we'd just not make them derive from
GInitiallyUnowned at all, but since we want to keep
using GstObject features for debugging, we'll just do
it like this.

This should also fix some problems with bindings, which
seem to get confused when they get floating refs from
non-constructor functions (or functions annotated to
have a 'transfer full' return type). This works now:

from gi.repository import GObject, Gst

GObject.threads_init()
Gst.init(None)

pipeline=Gst.Pipeline()
bus = pipeline.get_bus()
pipeline.set_state(Gst.State.NULL)
del pipeline;

https://bugzilla.gnome.org/show_bug.cgi?id=679286
https://bugzilla.gnome.org/show_bug.cgi?id=657202
2012-07-09 13:09:45 +01:00
Tim-Philipp Müller 93a2b6e9b3 value: use datetime serialise/deserialise functions for datetimes
This re-uses existing code and makes sure we properly serialise
and deserialise datetimes where not all fields are set (thus
fixing some warnings when serialising such datetimes).
2012-07-07 22:46:00 +01:00
Tim-Philipp Müller 8e7bc47ccd datetime: do our own serialisation so we can serialise microseconds as well
We still don't do that in _to_iso8601_string() though, since
this will probably mostly be used in tags, where it doesn't
matter so much and the microsecond argument might not be
well-received by some tag readers.
2012-07-07 22:43:33 +01:00
Tim-Philipp Müller 853e2bf67f datetime: when deserialising parse microseconds if available 2012-07-07 22:32:40 +01:00
Tim-Philipp Müller dcc9941931 datetime: fix second parsing failure case when deserialising datetime
When we fail to parse the number of seconds, reset the value to -1
instead of passing some error value as seconds. Also, we can still
try to parse timezone information.
2012-07-07 19:05:55 +01:00
Sebastian Rasmussen 73ab9d17e3 gstinfo: Add destroy notify arguments to debug stubs
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679535
2012-07-07 13:39:25 +01:00
Sebastian Rasmussen aab5b579a8 gststructure: Set lcopy string const exactly as glib's macro
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679534
2012-07-07 13:32:41 +01:00
Wim Taymans 408df31a48 memory: expose the GstAllocation structure
Expose the GstAllocation structure and provide an _init function. This makes it
easier to make 'subclasses' of the allocator that contain more info.
It also allows us to expose the flags on the allocator miniobject.
Make a flag to note that the allocator uses a custom alloc function.
2012-07-06 17:24:32 +02:00
Edward Hervey d2627a158e structure: Demote WARNING to INFO
It is common to use gst_structure_get() to know if a field is present
or not.
2012-07-06 12:48:44 +02:00
Wim Taymans 3f80cb272e query: use more generic structure for meta params 2012-07-06 11:49:47 +02:00
Wim Taymans 8bca7537e6 query: make find_allocation_meta method
Make gst_query_find_allocation_meta() that also return the index of the metadata
and replaces gst_query_has_allocation_meta().
2012-07-06 11:22:43 +02:00
Wim Taymans 8173622844 query: add flags to allocation query
Make it possible to add API specific flags to the ALLOCATION query. This makes
it possible to also check what kinds of subfeatures of the metadata API are
supported.
2012-07-06 11:00:38 +02:00
Wim Taymans 50cf7f6a08 memory: add gst_memory_init()
Add a method that memory implementations can call to initialize the standard
GstMemory structure.
Move the parent handling in the _free handler.
Rearrange some internal function parameters so that the order is consistent.
Add more memory examples
2012-07-05 17:11:01 +02:00
Wim Taymans e30930af4f miniobject: fix some miniobject docs 2012-07-05 16:18:27 +02:00
Sebastian Dröge aa2309e54a event: Add format and position to the segment-done event 2012-07-05 13:04:31 +02:00
Wim Taymans e2bbfd294d miniobject: increase amount of possible flags 2012-07-05 12:56:51 +02:00
Sebastian Dröge 49d2ad5633 event: Implement segment-done event 2012-07-05 12:52:51 +02:00
Sebastian Dröge 1b75a55b19 query: Remove the TOC query, it's not very useful now that we have sticky events 2012-07-05 12:34:41 +02:00
Sebastian Dröge 67324c4998 quark: Remove unneeded quarks 2012-07-05 12:29:02 +02:00
Sebastian Dröge dfd9b60221 toc: Make structures opaque and clean up function names and fields a bit 2012-07-05 12:29:02 +02:00
Wim Taymans 070f7c4e1c buffer:fix debug category 2012-07-05 11:19:16 +02:00
Wim Taymans 3b16efa1d1 miniobject: add lock functionality to GstMiniObject
Move the locking methods from GstMemory to GstMiniObject.
Add a miniobject flag to enable LOCKABLE objects. LOCKABLE objects can
use the lock/unlock API to control the access to the object.
Add a minobject flag that allows you to lock an object in readonly mode.
Modify the _is_writable() method to check the shared counter for LOCKABLE
objects. This allows us to control writability separately from the refcount for
LOCKABLE objects.
2012-07-05 11:19:16 +02:00
Wim Taymans afd5db3c6b info: add new locking debug category 2012-07-05 11:19:16 +02:00
Wim Taymans 4b322e37f8 memory: fix is_exclusive 2012-07-05 11:19:16 +02:00
Wim Taymans 24cd0d055d memory: add LOCK_FLAG_READWRITE define 2012-07-05 11:19:16 +02:00
Wim Taymans 1b52aca7ea memory: small cleanup 2012-07-05 11:19:16 +02:00
Wim Taymans 0ddb33bb4c update for new symbols 2012-07-05 11:19:16 +02:00
Wim Taymans 9a20741b0a memory: Fix the NO_SHARE flag in the constructor
The NO_SHARE flag does not influence the exclusiveness of the buffer initially
but only if a _share operation can be done. Otherwise, we would not be able to
WRITE map a buffer memory because it would have a share count of at least 2.
2012-07-05 11:19:16 +02:00
Wim Taymans 4a0dd59808 memory: only check the locking refcount 2012-07-05 11:19:16 +02:00
Wim Taymans 703683f51b buffer: fix resize
Correctly update the exclusive locks
2012-07-05 11:19:16 +02:00
Wim Taymans 61a9de98d9 memory: Use lock flags for map flags
We implement the locking in gst_memory_map with the lock flags, make matching
flags the same number so that we can use the map flags directly as lock flags.
2012-07-05 11:19:15 +02:00
Wim Taymans 76b30712f5 buffer: lock memory EXCLUSIVE
lock the memory that the buffer references as EXCLUSIVE. This makes sure that
when we share the memory with other buffers that it becomes unwritable.
2012-07-05 11:19:15 +02:00
Wim Taymans 70c1513eac memory: cleanup the locking code
cleanup and fix the locking code
2012-07-05 11:19:15 +02:00
Wim Taymans 93f279cd5a memory: expose the internal locking api
Expose the internally used methods for locking and unlocking the object. Pass
the access mode to the unlock function for extra checks and because we need it
for the EXCLUSIVE locks.
Make some new defines to specify the desired locking.
Add a new EXCLUSIVE lock mode which will increment the shared counter. Objects
with a shared counter > 1 will not be lockable in WRITE mode.
2012-07-05 11:19:15 +02:00
Tim-Philipp Müller 36b051f02e registry: remove outdated bits of warning message
I think we can be reasonable sure people are using an up-to-date
gst-uninstalled script now.
2012-07-04 18:32:47 +01:00
Tim-Philipp Müller bcec051a5f Add versioned variants of some environment variables
Improve parallel installability in setups like jhbuild by
providing versioned variants of some environment variables:

 GST_REGISTRY_1_0
 GST_PLUGIN_PATH_1_0
 GST_PLUGIN_SYSTEM_PATH_1_0
 GST_PLUGIN_SCANNER_1_0

will now be checked before checking the unversioned ones.

https://bugzilla.gnome.org/show_bug.cgi?id=679407
2012-07-04 18:18:02 +01:00
Tim-Philipp Müller 7b5cd72920 docs: fix typo in GstSample docs 2012-07-04 17:55:58 +01:00
Tim-Philipp Müller 3329f3f4e4 uri: there are valid URI protocols with only two letters, like fd://
We added a minimum length of three letters originally so we would
fail to recognise DOS/Windows-style filenames as valid URIs (as we
should). Two should be just fine as well.
2012-07-04 17:39:52 +01:00
Tim-Philipp Müller 49ea16e041 segment: make sure we don't have unmapped seek flags littering out segment flags
Make GstSeekFlag to GstSegmentFlag conversion explicit, and
set only those seek flags in the segment flags which are
mapped. This makes sure we don't have extraneous flags
littering our segment flag field, which also fixes the
debug printing/serialisation of segment events in the
debug log.
2012-07-04 16:16:04 +01:00
Joshua M. Doe ba6fad9302 datetime: add conversion to/from GDateTime
Exposes existing constructor.

API: gst_date_time_to_g_date_time()
API: gst_date_time_new_from_g_date_time()

https://bugzilla.gnome.org/show_bug.cgi?id=679080
2012-07-04 10:22:41 +01:00
Tim-Philipp Müller 291403bbb9 utils: remove unused gst_print_* functions 2012-07-04 08:52:08 +01:00
Tim-Philipp Müller 95f2cab053 pads: no need to deactivate pads that are already in PAD_MODE_NONE 2012-07-03 22:24:22 +01:00
Tim-Philipp Müller 0841ac48f1 pads: make pad activation debug logs a bit more readable 2012-07-03 22:20:40 +01:00
Tim-Philipp Müller 4f7aa97b21 pad: clear EOS flag when deactivating pads fixing element re-use 2012-07-03 19:04:54 +01:00
Wim Taymans db65bfa129 buffer: fix the _get_mapped function
Fix the internal _get_mapped function. gst_memory_make_mapped() takes ownership
of the memory so we need to keep an additional ref until we are done.
2012-07-03 12:42:44 +02:00
Wim Taymans 2c88afb992 buffer: add more debug log 2012-07-03 12:42:44 +02:00
Sebastian Dröge 0412af25fe event: The GAP event is (partially) implemented now, STREAM_CONFIG isn't 2012-07-03 10:03:37 +02:00
Chun-wei Fan 02c07aa854 math-compat.h: add implementation for isnan() for Visual C++
Visual C++ does not have isnan(), so add fallback to
math-compat.h (could use _isnan() in this case, but
this makes it work for all cases where isnan is missing).

https://bugzilla.gnome.org/show_bug.cgi?id=679112
2012-07-02 20:27:53 +01:00
Wim Taymans e288ac7913 gstobject: don't use g_strdup_value_contents()
g_strdup_value_contents() does some extra escaping, preventing us from using the
output on the console to be used directly.
2012-06-29 11:21:36 +02:00
Wim Taymans 4c6228224f buffer: add _append_region function
Make a gst_buffer_append_region() function that allows you to append a memory
region from one buffer to another. This is a more general version of
gst_buffer_append().
2012-06-28 11:02:19 +02:00
Tim-Philipp Müller f738dbe86a datetime: ignore 0 days or months in dates
Handle 0 months or days correctly in date strings, so that
2012-06-00 is parsed the same as 2012-06, for example.
2012-06-27 23:00:08 +01:00
Christophe Fergeau dd9fedb41f parse: escape \ with a \ as well, so that we don't lose the \ when unescaping
If we have a file called Foo\Bar.ogg, there is no way to pass
that filename properly to filesrc in gst_parse_launch(), since
gst_parse_unescape() will just unescape \x to x.

Not cherry-picking this into 0.10 since there are apparently
apps that work around this problem and which would break if
we fixed it there too.

https://bugzilla.gnome.org/show_bug.cgi?id=673319
2012-06-27 19:59:29 +01:00
Tim-Philipp Müller e4301fe50f elementfactory: annotate some of the type defines for g-i
Type is not picked up yet though, and we still need
to annotate values for the 'simple' defines.

https://bugzilla.gnome.org/show_bug.cgi?id=677925
2012-06-27 16:37:54 +01:00
Tim-Philipp Müller e552cc74d9 clock: annotate GST_CLOCK_TIME_NONE with its value for g-i
The value now gets picked up, but it still thinks the type
is a 'gint'.

https://bugzilla.gnome.org/show_bug.cgi?id=678928
2012-06-27 14:48:55 +01:00
Tim-Philipp Müller 5a6be2201d datetime: fix compare function
Take into account that not all fields might be valid (though they
are valid in the GDateTime structure). But we should just return
unordered if the set fields don't match. Also, don't check
microseconds when comparing datetimes, since we don't serialise
those by default if they're available. This ensures date times are
still regarded as equal after serialising+deserialising.
2012-06-27 13:51:33 +01:00
Oleksij Rempel 1eb9932dbb datetime: add serialisation to and deserialisation from ISO 8601 strings
Some tag parsers and writers use same datetime format based on ISO 8601.
We can reduce some code by creating some general functions for it.

API: gst_date_time_to_iso8601_string()
API: gst_date_time_new_from_iso8601_string()

https://bugzilla.gnome.org/show_bug.cgi?id=678031
2012-06-27 12:37:06 +01:00
Tim-Philipp Müller 2c532aa821 toc: put toc directly into event/message/query structure
Now that TOCs are refcounted and have a GType, we can just
stuff a ref of the TOC directly into the various toc
event/message/query structures and get rid of lots of
cracktastic GstStructure <-> GstToc serialisation and
deserialisation code. We lose some TOC sanity checking
in the process, but that should really be done when
it's being created anyway.
2012-06-26 20:43:50 +01:00
Tim-Philipp Müller 0cb9ad013a Revert "bus: skip gst_bus_create_watch as GSource is not introspectable"
This reverts commit 930e36a89b.

This shouldn't have been pushed, since GSource is now handled
(https://bugzilla.gnome.org/show_bug.cgi?id=657725)
2012-06-26 18:22:33 +01:00
Johan Dahlin 930e36a89b bus: skip gst_bus_create_watch as GSource is not introspectable
https://bugzilla.gnome.org/show_bug.cgi?id=657640
2012-06-26 18:19:18 +01:00
Tim-Philipp Müller e11f38b98b toc: add more entry types
Make entry types less abstract.

https://bugzilla.gnome.org/show_bug.cgi?id=678742
2012-06-26 17:30:19 +01:00
Wim Taymans d3f5dd0707 miniobject: add steal_qdata
Rework the qdata code a little
2012-06-26 09:51:10 +02:00
Tim-Philipp Müller 03ac16c1d8 tocsetter: clean up and update API for refcounted TOCs
Let's keep it simple for now:

gst_toc_setter_reset_toc() -> gst_toc_setter_reset()
gst_toc_setter_get_toc_copy() -> removed
gst_toc_setter_get_toc() -> returns a ref now
gst_toc_setter_get_toc_entry_copy() -> removed,
    use TOC functions instead
gst_toc_setter_get_toc_entry() -> removed,
    use TOC functions instead
gst_toc_setter_add_toc_entry() -> removed,
    to avoid problems with (refcount-dependent)
    writability of TOC; use TOC functions instead
2012-06-25 20:18:32 +01:00
Wim Taymans 17022f7ad1 memory: improve docs
Mention that custom allocator functions can pass whatever they want to the
user_data.
2012-06-25 09:33:18 +02:00
Alexander Saprykin 3ba43888f4 tagsetter: use G_DEFINE_INTERFACE_* macro
https://bugzilla.gnome.org/show_bug.cgi?id=673641
2012-06-25 00:31:01 +01:00
Alexander Saprykin 49eb73be77 tocsetter: use G_DEFINE_INTERFACE_* macro
https://bugzilla.gnome.org/show_bug.cgi?id=673641
2012-06-25 00:30:59 +01:00
Tim-Philipp Müller 8590be2861 tocsetter, gst-launch, tests: update for GstToc API changes 2012-06-24 20:15:19 +01:00
Tim-Philipp Müller f20efe23a3 toc: make GstToc and GstTocEntry mini objects
Because we can, and in order to make them refcounted.
2012-06-24 20:15:11 +01:00
Tim-Philipp Müller 528f89c940 taglist: fix confusing log message 2012-06-23 21:42:58 +01:00
Tim-Philipp Müller 06d96f1bda value: fix int64 - int64 range intersection on big endian systems
Works better if we use the v_int64 field of the GValue instead of v_int.
2012-06-23 21:35:33 +01:00
Tim-Philipp Müller 1be934f0dd miniobjects: pass copy, dispose and free function to gst_mini_object_init()
So mini objects don't have to poke into the GstMiniObject part
of the structure. Saves lines of code, and seems slightly cleaner.
We don't have proper OO hierarchies or methods here after all.
2012-06-23 20:02:02 +01:00
Tim-Philipp Müller 8973bca63c taglist: remove some outdated FIXMEs and comments 2012-06-23 17:05:22 +01:00
Tim-Philipp Müller 4b5c8cada2 sample: some more g-i annotations 2012-06-23 17:04:53 +01:00
Tim-Philipp Müller bc28ebf08d sample: add compare function for GstSample
Should make gst_tag_list_is_equal() work properly with image tags.

https://bugzilla.gnome.org/show_bug.cgi?id=672637
2012-06-23 16:59:10 +01:00
Tim-Philipp Müller 533ecb8840 value: fix buffer compare function 2012-06-23 16:30:03 +01:00
Tim-Philipp Müller 2f46207ec7 parse: update for gst_element_make_from_uri() change 2012-06-23 14:43:21 +01:00
Tim-Philipp Müller f8445bd293 uri: add error argument to gst_element_make_from_uri()
So callers can differentiate between there not being a
handler for the protocol, and them not accepting the URI
for some reason.

https://bugzilla.gnome.org/show_bug.cgi?id=645467
2012-06-23 14:43:17 +01:00
Tim-Philipp Müller b5a064850e memory: annotate GstMapInfo data as array for g-i 2012-06-23 12:39:10 +01:00
Wim Taymans 7da1d23a9b info: add destroy notify to gst_debug_add_log_function() 2012-06-20 13:28:08 +02:00
Wim Taymans d2c632fcda pad: improve introspection annotation 2012-06-20 13:27:33 +02:00
Wim Taymans 6efb5c9b6b bus: add GDestroyNotify to set_sync_handler() 2012-06-20 12:29:35 +02:00
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