Commit graph

13986 commits

Author SHA1 Message Date
Edward Hervey 588cdcd369 libs: New growing-only queue.
This is a queue which has the same API as GQueue, except that:
* It uses an array, instead of a doubled-linked-list
* The array can only grow.

This code is not-threadsafe. It is up to the owner to make sure the
proper locking is taken before calling this API.
2012-07-04 17:46:53 +02: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
Tim-Philipp Müller 5c70276894 docs: minor porting-to-0.11.txt update 2012-07-04 10:24:11 +01:00
Tim-Philipp Müller 0bbeab52cc tests: make checks for from/to_g_date_time() actually work properly 2012-07-04 10:23:06 +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 08c2c446a5 tests: add unit test for element re-use using fakesrc 2012-07-03 19:15:25 +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
Sebastian Dröge 2833bb73cd basesink: Post TOC messages on the bus in the sinks, similar to tags 2012-07-03 17:25:21 +02: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 94cbf34300 controlbindings: include gst/math-compat.h for isnan()
Due to the usage of isnan(), where an implementation is added into
gst/math-compat.h. Fixes build on Visual C++.

https://bugzilla.gnome.org/show_bug.cgi?id=679112
2012-07-02 20:31:10 +01: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
Chun-wei Fan cb5e8f2bb4 fdsink.c: fix G_OS_WIN32 #ifdef
Postpone the #ifdef to a point after glib.h (via gstfdsink.h) is included
so that the needed defines and header includes can be done correctly,
especially on Visual C++ builds.

https://bugzilla.gnome.org/show_bug.cgi?id=679112
2012-07-02 12:05:50 +01:00
Raimo Järvi 40e68e7760 tests: fix build of datetime unit test in Windows
Also include config.h for all the #ifdef HAVE_XYZ.

https://bugzilla.gnome.org/show_bug.cgi?id=676935
2012-07-02 11:44:31 +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
Tim-Philipp Müller ee346fbad6 docs: expand a bit more on GST_DEBUG docs 2012-06-28 14:58:05 +01: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
Wim Taymans d7fdf75e13 basesrc: handle DTS and PTS
Use DTS and PTS of the subclass.
Calculate PTS from DTS on keyframes.
2012-06-28 09:44:06 +02:00
Tim-Philipp Müller 2506dc5fe2 tests: test datetime deserialisation a bit more 2012-06-27 23:01:13 +01: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
Idar Tollefsen 7b80441f9d build: Make sure AC_INCLUDES_DEFAULT is used
Without using AC_INCLUDES_DEFAULT explicitly,
certain platforms will complain that the header
was found, but not usable by the compiler.
This happens for instance on Solaris where certain
headers are needed to pull in proper defines.

Also upgrade to newer autoconf syntax and use proper quoting.

https://bugzilla.gnome.org/show_bug.cgi?id=667293
2012-06-27 21:08:28 +01:00
Tim-Philipp Müller d6e6391518 tests: fix bus leak in GstBin test_state_change_skip test
Still not valgrind clean though.
2012-06-27 20:52:52 +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 f95996d97f tests: add some datetime serialisation/deserialisation tests
https://bugzilla.gnome.org/show_bug.cgi?id=678031
2012-06-27 13:51:42 +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
Lionel Landwerlin 8b3708ea8c configure: add --disable-tools and --disable-benchmarks options
Add option to avoid build binaries. When building for platforms like
android, you might want to not link any "final" binary, mostly because
it requires special link flags or other parts of code that aren't
in the C library.

https://bugzilla.gnome.org/show_bug.cgi?id=677621
2012-06-26 23:12:56 +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 2e9123a85d docs: some more additions to the porting-to-0.11 guide 2012-06-26 17:35:22 +01:00
Tim-Philipp Müller 1c7ce1594a tools: minor clean-up
Get rid of superfluous argument.
2012-06-26 17:30:22 +01:00
Tim-Philipp Müller 6438a0439d tools: remove useless g_set_prgname() wrapper 2012-06-26 17:30:22 +01:00
Tim-Philipp Müller 5be0a58463 tools: point people to right binary when a crash happens
"gst-launch" is the 0.10 wrapper script, using that with
gdb is not going to yield great results.
2012-06-26 17:30:21 +01:00
Tim-Philipp Müller 6cc51762f4 configure: bump GLib requirement to now-released stable version 2012-06-26 17:30:21 +01:00
Tim-Philipp Müller 31976c426e inputselector: remove some dead code for old GLib versions 2012-06-26 17:30:19 +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
Jan Schmidt f79d398c61 a couple of notes for the 0.11 porting guide 2012-06-26 23:21:33 +10: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 d784b753d7 docs: update design docs for TOC API changes too 2012-06-25 00:10:53 +01:00