Thiago Santos [Tue, 3 Aug 2010 18:03:27 +0000 (15:03 -0300)]
tag: xmp: Make xmp lib aware for the different tag types
Makes the xmp helper lib aware that the tags can be simple,
sequences or bags (there is still struct and alt, but those
aren't handled yet). Adding this info makes serialization
and deserialization more consistent.
Thiago Santos [Mon, 2 Aug 2010 12:56:21 +0000 (09:56 -0300)]
xmp: Add a new layer of indirection (GstXmpSchema)
Instead of storing all tags in a single hashtable, store them
grouped by schema in a GstXmpSchema, and add those to the toplevel
hashtable.
Thiago Santos [Tue, 3 Aug 2010 17:37:05 +0000 (14:37 -0300)]
tag: xmp: Make bag tags deserialization work correctly
If we find a bag of tags of type string in the xmp packet, we
should concat them, this is not the ideal approach, but at
least works for now as we don't know what type of tag it
is (simple, structure, seq, alt or bag)
Jan Schmidt [Wed, 4 Aug 2010 11:44:22 +0000 (21:44 +1000)]
examples/seek: Don't unpause on clock-lost unless playing
If the pipeline is paused by the user, don't pause/unpause
on clock-lost.
Wim Taymans [Fri, 2 Jul 2010 10:10:16 +0000 (12:10 +0200)]
ringbuffer: improve debugging
Wim Taymans [Fri, 2 Jul 2010 10:09:30 +0000 (12:09 +0200)]
ringbuffer: whitespace fixes
Wim Taymans [Mon, 28 Jun 2010 08:53:57 +0000 (10:53 +0200)]
decodebin2: use more efficient way of getting caps
When inspecting the caps of a pad, try to get the pad _CAPS first before calling
the getcaps function.
Thiago Santos [Mon, 2 Aug 2010 14:06:00 +0000 (11:06 -0300)]
oggmux: Fix test build when theora and vorbis aren't available
Ifdef properly to avoid build failures
Thiago Santos [Sun, 1 Aug 2010 09:50:13 +0000 (06:50 -0300)]
typefind: Detect avc1 ftyp as video/quicktime
Detects avc1 ftyp as video/quicktime (iso variant)
Thiago Santos [Tue, 27 Jul 2010 14:25:12 +0000 (11:25 -0300)]
tag: xmp: removing useless locking
Everything in the xmp helper lib is initiallized once and on a thread
safe way, and after that there are only reads going on, no more
writing. Based on that, drop the locking.
Jan Schmidt [Sun, 20 Jun 2010 13:53:38 +0000 (23:53 +1000)]
jsseek: Set joystick io encoding to 'NULL'
Fix problems with newer glib reporting bad encodings on the binary
data emerging from the joystick device fd.
Tim-Philipp Müller [Mon, 26 Jul 2010 18:25:55 +0000 (20:25 +0200)]
streamsynchronizer: fix printf format compiler warnings
Make OSX build bot happy.
Tim-Philipp Müller [Mon, 26 Jul 2010 16:23:33 +0000 (18:23 +0200)]
tag: initialize datetime variable in xmp tag parsing code
Fixes (correct) compiler warning on the OSX build bot.
Tim-Philipp Müller [Mon, 26 Jul 2010 15:48:14 +0000 (17:48 +0200)]
configure: require core from git
For GstDateTime stuff used in libgsttag.
Tim-Philipp Müller [Mon, 26 Jul 2010 15:04:02 +0000 (17:04 +0200)]
pbutils: add compile time and runtime version checks for gst-plugins-base
So people can check what version of the gst-plugins-base libs they're
building against or linked against.
API: GST_PLUGINS_BASE_VERSION_MAJOR
API: GST_PLUGINS_BASE_VERSION_MINOR
API: GST_PLUGINS_BASE_VERSION_MICRO
API: GST_PLUGINS_BASE_VERSION_NANO
API: GST_CHECK_PLUGINS_BASE_VERSION
API: gst_plugins_base_version()
API: gst_plugins_base_version_string()
Thiago Santos [Wed, 30 Jun 2010 19:36:14 +0000 (16:36 -0300)]
tag: exif: Map GST_TAG_DATE_TIME
Adds mapping to the exif helper library for GST_TAG_DATE_TIME.
Tests included.
https://bugzilla.gnome.org/show_bug.cgi?id=594504
Thiago Santos [Wed, 23 Jun 2010 15:02:24 +0000 (12:02 -0300)]
tag: xmp: Maps GST_TAG_DATE_TIME
Adds mapping for GST_TAG_DATE_TIME.
Tests included.
https://bugzilla.gnome.org/show_bug.cgi?id=594504
Sebastian Dröge [Mon, 26 Jul 2010 14:05:44 +0000 (16:05 +0200)]
videorate: Fixate the pixel-aspect-ratio if necessary
Sebastian Dröge [Sat, 24 Jul 2010 16:17:43 +0000 (18:17 +0200)]
streamsynchronizer: Delay EOS events until all streams are EOS
This fixes a race condition in playbin2's gapless mode, where the
EOS of other streams might arrive in the sinks before the last stream
ends and the switch to the new track happens. The EOS sinks won't
accept any new data then and playback stops.
To prevent this, delay all EOS events until all streams are EOS
and advance the sinks of the EOS streams by filler newsegment
events if necessary.
Fixes bug #625118.
Arun Raghavan [Tue, 1 Jun 2010 18:13:45 +0000 (23:43 +0530)]
typefindfunctions: export 3gp profile in caps
This reads the 3gp profile from the major/compatible brands and puts
this as a 'profile' field in caps. This can be used by demuxers to
decide whether they can handle this stream or not. Also needed for
DLNA.
https://bugzilla.gnome.org/show_bug.cgi?id=620291
Sebastian Dröge [Sat, 24 Jul 2010 09:48:33 +0000 (11:48 +0200)]
examples: Use cairo instead of to-be-deprecated GDK API
Fixes bug #625001.
Tim-Philipp Müller [Sat, 24 Jul 2010 08:22:28 +0000 (09:22 +0100)]
configure: set release date/time
Use the new AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO macro.
Parthasarathi Susarla [Tue, 20 Jul 2010 06:38:52 +0000 (12:08 +0530)]
typefinding: detect enhanced AC-3
https://bugzilla.gnome.org/show_bug.cgi?id=623846
Sebastian Dröge [Thu, 22 Jul 2010 07:13:00 +0000 (09:13 +0200)]
streamsynchronizer: Fix another deadlock when going PAUSED->READY while streams are waiting for the GCond
Edward Hervey [Tue, 20 Jul 2010 19:05:45 +0000 (21:05 +0200)]
playsink: Switch to faster pad linking methods
Logic for choice of GST_PAD_LINK_CHECK_* is as follows:
* Where return of pad_link wasn't checked before : NOTHING
* Where linking is between known compatible elements : NOTHING
* All other cases : TEMPLATE_CAPS
Slashes down playsink reconfigure by up to 50% cpu time.
Sebastian Dröge [Mon, 19 Jul 2010 13:58:20 +0000 (15:58 +0200)]
playsink: Set add-borders=true on the videoscale instances
This makes sure that we always keep the display aspect ratio and
add black borders if necessary, which is usually something you want
for viewing a video.
Sebastian Dröge [Mon, 19 Jul 2010 13:44:40 +0000 (15:44 +0200)]
videoscale: Rename borders property to add-borders
Tim-Philipp Müller [Mon, 19 Jul 2010 08:39:28 +0000 (09:39 +0100)]
videoscale: update disted orc files for latest changes
Sebastian Dröge [Sat, 17 Jul 2010 18:24:18 +0000 (20:24 +0200)]
videoscale: Add support for adding black borders to keep the DAR if necessary
Fixes bug #617506.
Sebastian Dröge [Sun, 18 Jul 2010 13:08:48 +0000 (15:08 +0200)]
videoscale: Fix linear scaling of UYVY scanlines
Fixes bug #624656.
Sebastian Dröge [Sat, 17 Jul 2010 17:57:00 +0000 (19:57 +0200)]
videoscale: Fix caps fixating if the height is fixed but the width isn't
Sebastian Dröge [Fri, 16 Jul 2010 18:41:02 +0000 (20:41 +0200)]
videoscale: Remove interlaced scaling again
This behaviour was not preferred and caused visible image quality
degradations. The real solution would be, to apply a real
deinterlacing filter before scaling the frames.
Fixes bug #615471.
Sebastian Dröge [Fri, 16 Jul 2010 17:06:40 +0000 (19:06 +0200)]
videoscale: Add helper method for filling the VSImage struct
Tim-Philipp Müller [Sun, 18 Jul 2010 10:43:00 +0000 (11:43 +0100)]
tests: don't forget to dist test file for typefinding unit test
Tim-Philipp Müller [Sun, 18 Jul 2010 10:38:19 +0000 (11:38 +0100)]
tests: add unit test for mpeg-ts typefinding bug
See #623663.
Tim-Philipp Müller [Sun, 18 Jul 2010 10:24:46 +0000 (11:24 +0100)]
typefinding: make mpeg-ts typefinder scan more data
We only look for packets with payload, but it appears there may be packets without,
which makes it harder to find the N packets with payload in a row that we need in
order to typefind this successfully, so scan some more data than necessary in the
optimistic scenario. Alternatively we could change IS_MPEGTS_HEADER().
Fixes #623663.
Sebastian Dröge [Fri, 16 Jul 2010 16:51:35 +0000 (18:51 +0200)]
playsink/streamsynchronizer: Remove and deactivate pads after calling the change_state function of the parent class
Fixes some deadlocks.
Sebastian Dröge [Fri, 16 Jul 2010 16:25:38 +0000 (18:25 +0200)]
streamsynchronizer: Drop DISCONT flag on first buffer for new streams
Also reset stream state when going back to READY and on flush-stop.
Sebastian Dröge [Sun, 11 Jul 2010 12:44:10 +0000 (14:44 +0200)]
playsink: Fix gapless playback in many non-simple scenarios
Before gapless playback failed when switching between audio-only,
video-only and audio-video files, when choosing different clocks
and when the different streams had different durations.
This is now handled by a helper element, which keeps track of the
running times of all streams and synchronizes them.
Fixes bug #602437.
Sebastian Dröge [Sun, 11 Jul 2010 12:43:52 +0000 (14:43 +0200)]
playbin2: Remove QOS event adjustments for gapless playback mode
Sebastian Dröge [Fri, 9 Jul 2010 15:15:55 +0000 (17:15 +0200)]
baseaudiosink: Post clock-provide and clock-lost messages when going from/to PLAYING
Sebastian Dröge [Fri, 9 Jul 2010 15:15:35 +0000 (17:15 +0200)]
baseaudiosrc: Post clock-provide and clock-lost messages when going from/to PLAYING
Philip Jägenstedt [Thu, 8 Jul 2010 14:11:12 +0000 (16:11 +0200)]
typefind: only associate .webm with WebM
.weba (audio) and .webv (video) were speculation on my part before
the public launch. As of yet no decision has been made on the
file extension for audio-only WebM, and I'm pretty sure there will
never be one for video-only.
Fixes bug #623837.
Sebastian Dröge [Thu, 8 Jul 2010 07:54:40 +0000 (09:54 +0200)]
baseaudiosink: Use new gst_audio_clock_new_full()
Sebastian Dröge [Thu, 8 Jul 2010 07:54:29 +0000 (09:54 +0200)]
baseaudiosrc: Use new gst_audio_clock_new_full()
Sebastian Dröge [Thu, 8 Jul 2010 06:32:22 +0000 (08:32 +0200)]
audioclock: API: Add gst_audio_clock_new_full() with a GDestroyNotify for the user_data
Elements usually use their own instance as instance data but the
clock can have a longer lifetime than their elements and the clock
doesn't own a reference of the element.
Fixes bug #623807.
Sebastian Dröge [Sun, 4 Jul 2010 18:29:53 +0000 (20:29 +0200)]
theoraenc: Implement two pass encoding
Fixes bug #621349.
Sebastian Dröge [Sun, 4 Jul 2010 18:14:34 +0000 (20:14 +0200)]
configure: Require libtheora >= 1.1
It's more than a year old at the time of the next -base release,
has many encoder and decoder improvements and gets us rid of a lot
of #ifdefs
Sebastian Dröge [Sun, 4 Jul 2010 18:08:25 +0000 (20:08 +0200)]
theora: Use PROP_ instead of ARG_ for property enum values
Mark Nauwelaerts [Tue, 4 May 2010 10:09:57 +0000 (12:09 +0200)]
playsink: use proper error message code for failing state change
Tim-Philipp Müller [Fri, 16 Jul 2010 10:24:21 +0000 (11:24 +0100)]
Back to development
Tim-Philipp Müller [Thu, 15 Jul 2010 00:20:54 +0000 (01:20 +0100)]
Release 0.10.30
Tim-Philipp Müller [Wed, 14 Jul 2010 23:32:09 +0000 (00:32 +0100)]
po: update translations
Sebastian Dröge [Wed, 14 Jul 2010 10:59:19 +0000 (12:59 +0200)]
playbin2: Disconnect and destroy uridecodebins when going from READY to NULL
Fixes spurious errors that happen after an error and playing a working
stream afterwards or signals that are emitted for non-active groups.
Fixes bug #624266.
Tim-Philipp Müller [Thu, 8 Jul 2010 13:51:08 +0000 (14:51 +0100)]
docs: dist more of the gst-plugin-base design docs
Tim-Philipp Müller [Tue, 6 Jul 2010 23:35:37 +0000 (00:35 +0100)]
0.10.29.4 pre-release
Tim-Philipp Müller [Tue, 6 Jul 2010 23:24:42 +0000 (00:24 +0100)]
po: update translations
Sebastian Dröge [Tue, 6 Jul 2010 07:47:45 +0000 (09:47 +0200)]
Revert "playbin2: Don't put "raw" subtitle types in the raw caps for decodebin2"
This reverts commit
9d7538247ff1bf9841b53eeb71ddc47f2c662415.
If the DVD subpicture caps are not part of the raw caps, uridecodebin
doesn't qualify resindvdbin as raw source and plugs decodebins, which
causes broken DVD playback because of bugs elsewhere.
This change was originally added to only expose supported, raw subtitles,
e.g. if the subtitle sink did not support DVD subpictures but a converter
to some supported format exists. It's not very important right now because
we have nothing (that is autoplugged) to convert from plaintext/pango-markup
or DVD subpictures to something else.
Fixes bug #623583.
Sebastian Dröge [Sun, 4 Jul 2010 15:27:25 +0000 (17:27 +0200)]
ffmpegcolorspace: Use correct Y offset for YVYU -> RGB conversions
Fixes bug #623530.
Sebastian Dröge [Sun, 4 Jul 2010 15:26:03 +0000 (17:26 +0200)]
ffmpegcolorspace: Use correct Y offset for the YUY2 -> RGB conversions
Fixes bug #623530.
Tim-Philipp Müller [Sun, 4 Jul 2010 13:55:50 +0000 (14:55 +0100)]
docs: update ogg introspection info after riff fourcc addition
Sebastian Dröge [Fri, 2 Jul 2010 18:09:58 +0000 (20:09 +0200)]
ffmpegcolorspace: Fix conversion of packed 4:2:2 YUV to 8 bit grayscale
The last pixel wasn't written before for odd widths.
Fixes bug #623418.
Sebastian Dröge [Fri, 2 Jul 2010 12:56:02 +0000 (14:56 +0200)]
ffmpegcolorspace: Fix conversion of packed 4:2:2 YUV to RGB
The last pixel wasn't written before.
Fixes bug #623384.
Sebastian Dröge [Fri, 2 Jul 2010 11:59:55 +0000 (13:59 +0200)]
ffmpegcolorspace: Fix invalid memory accesses with odd widths/heights during subsampling
Fixes bug #623375.
Sebastian Dröge [Thu, 1 Jul 2010 19:21:38 +0000 (21:21 +0200)]
playbin2: If setup of the source element fails in READY->PAUSED deactive the current group
Otherwise the uridecodebin will be still a child of playbin2 and
its signals will still be connected. In future state changes this
will then emit unrelated signals that will confuse playbin2 or,
even worse, cause crashes and assertions.
Fixes bug #623318.
Tim-Philipp Müller [Wed, 30 Jun 2010 20:20:37 +0000 (21:20 +0100)]
riff: add FLV4 fourcc and map it to video/x-vp6-flash
Fixes #623176.
Olivier Crête [Wed, 30 Jun 2010 19:13:10 +0000 (15:13 -0400)]
netbuffer: declare with G_DEFINE_TYPE for type safety
Fixes #623233.
Fredrik Söderquist [Thu, 24 Jun 2010 14:55:57 +0000 (16:55 +0200)]
oggdemux: Handle errors from _get_next_page in _do_seek.
If the source element failed here, oggdemux would crash.
Fixes #623218.
Tim-Philipp Müller [Wed, 30 Jun 2010 10:00:45 +0000 (11:00 +0100)]
configure: keep things sorted alphabetically
On special request. Because it's important, apparently.
Tim-Philipp Müller [Tue, 29 Jun 2010 17:48:15 +0000 (18:48 +0100)]
0.10.29.3 pre-release
Tim-Philipp Müller [Tue, 29 Jun 2010 17:46:18 +0000 (18:46 +0100)]
configure: fix --disable-external
Tim-Philipp Müller [Mon, 28 Jun 2010 14:43:30 +0000 (15:43 +0100)]
Bump automake requirement to 1.10
For maintainability reasons and $(builddir).
Fixes #622944.
Sebastian Dröge [Sun, 27 Jun 2010 08:43:23 +0000 (10:43 +0200)]
examples: Remove some #if GTK_CHECK_VERSION(2,12,0)
We depend on GTK+ >= 2.14 already.
Sebastian Dröge [Sat, 26 Jun 2010 19:28:31 +0000 (21:28 +0200)]
videotestsrc: Explicitely link with $(LIBM)
Sebastian Dröge [Sat, 26 Jun 2010 19:27:44 +0000 (21:27 +0200)]
videoscale: Explicitely link with $(LIBM)
Tim-Philipp Müller [Sat, 26 Jun 2010 17:19:56 +0000 (18:19 +0100)]
0.10.29.2 pre-release
Tim-Philipp Müller [Sat, 26 Jun 2010 17:19:33 +0000 (18:19 +0100)]
gst: update orc files
Tim-Philipp Müller [Sat, 26 Jun 2010 17:19:16 +0000 (18:19 +0100)]
po: update translations
Edward Hervey [Sat, 26 Jun 2010 15:55:12 +0000 (17:55 +0200)]
decodebin2: Properly clean DecodeChain after errors.
If an error happens, the PAUSED state will never be reached. If an
application re-uses decodebin2 (like totem) where one would normally
set to READY between each file, the cleanup that normally happens in
the PAUSED=>READY codepath will never be called, resulting in the
following file to re-use the previous demuxer/decoder/...
https://bugzilla.gnome.org/show_bug.cgi?id=622807
Tim-Philipp Müller [Sat, 26 Jun 2010 11:39:34 +0000 (12:39 +0100)]
docs: fix a few typos
Tim-Philipp Müller [Sat, 26 Jun 2010 11:03:54 +0000 (12:03 +0100)]
checks: simplify GstBus usage in videoscale unit test
There's no need to run a main loop, add a bus watch and deal with
helper structs here just to wait for an EOS message.
Tim-Philipp Müller [Sat, 26 Jun 2010 10:38:56 +0000 (11:38 +0100)]
checks: speed up videoscale unit test a little
Use new gst_element_link_pads_full() function to link elements,
and disable all checks when linking (don't try this at home).
Down to 18s from 3m20s. Scary.
Wim Taymans [Fri, 25 Jun 2010 15:18:34 +0000 (17:18 +0200)]
ringbuffer: check for ringbuffer state first
Check for the state of the ringbuffer before doing the checks of the other
buffer properties, when we're not started, we don't care about those values.
Edward Hervey [Thu, 24 Jun 2010 11:30:59 +0000 (13:30 +0200)]
ffmpegcolorspace: Use a more concise pad template
Speeds up caps nego 2 fold
https://bugzilla.gnome.org/show_bug.cgi?id=622696
Tim-Philipp Müller [Thu, 24 Jun 2010 14:31:31 +0000 (15:31 +0100)]
tests: make audio-trickplay test compile when the gst debugging system is disabled
Fixes unused variable warning in that case.
Tim-Philipp Müller [Thu, 24 Jun 2010 14:13:31 +0000 (15:13 +0100)]
tests: add test that runs all typefinders over random data
Arun Raghavan [Sun, 6 Jun 2010 07:01:35 +0000 (12:31 +0530)]
typefinding: Mark ISO 14496-14 files as video/quicktime
These are currently being marked as audio/x-m4a which is incorrect.
https://bugzilla.gnome.org/show_bug.cgi?id=620720
Tim-Philipp Müller [Thu, 24 Jun 2010 12:42:20 +0000 (13:42 +0100)]
.gitignore: add temporary orc test directory
Tim-Philipp Müller [Thu, 24 Jun 2010 12:30:50 +0000 (13:30 +0100)]
tests: add plugin loading whitelist to test environment
Only want to load core/-base plugins here.
Stefan Kost [Thu, 24 Jun 2010 12:09:04 +0000 (15:09 +0300)]
Automatic update of common submodule
From 73ff93a to a519571
Thiago Santos [Thu, 24 Jun 2010 11:41:42 +0000 (08:41 -0300)]
tag: Fix printf format string
Use %s for strings, not %d.
Sebastian Dröge [Thu, 24 Jun 2010 10:06:05 +0000 (12:06 +0200)]
videoscale: Fix resampling of ARGB scanlines
Previously we would read behind the end of the source lines.
Thiago Santos [Wed, 16 Jun 2010 17:08:05 +0000 (14:08 -0300)]
tag: xmp: Adds GST_TAG_IMAGE_ORIENTATION mapping
Adds GST_TAG_IMAGE_ORIENTATION mapping to xmp helper lib.
Tests included.
Thiago Santos [Wed, 16 Jun 2010 14:19:37 +0000 (11:19 -0300)]
tag: exif: Adds mapping for GST_TAG_IMAGE_ORIENTATION
Adds GST_TAG_IMAGE_ORIENTATION to the exif helper lib mapped tags.
Tests included.
Wim Taymans [Wed, 23 Jun 2010 10:10:32 +0000 (12:10 +0200)]
playsink: clear ts-offset pointer
We need to clear the pointer to our ts-offset element when we destroy the video
chain elements to make sure nobody derefs it to invalid memory afterwards.
Edward Hervey [Wed, 23 Jun 2010 08:16:07 +0000 (10:16 +0200)]
playsink: Reset ts_offset field when freeing chain
Otherwise we would end up with a bogus ->audiochain->ts_offset field
which would cause segfaults/assertions when trying to modify the
'ts-offset' property in update_av_offset().
Was easy to trigger when using a list of audio+video files mixed with
video-only files in totem.
Stefan Kost [Fri, 18 Jun 2010 13:37:14 +0000 (16:37 +0300)]
tests: use our own macros for the tests main function
Thiago Santos [Fri, 18 Jun 2010 17:17:30 +0000 (14:17 -0300)]
tag: Use gst_tag_list_peek_string_index in vorbistag
Use _peek_string_index instead of _get_string_index to avoid
a string copy
Philippe Normand [Mon, 14 Jun 2010 10:27:02 +0000 (12:27 +0200)]
ximagesink: Ask pad peer to accept new caps once only
In buffer_alloc, if the buffer caps are new, call
gst_pad_peer_accept_caps once only, it's useless to call it in the
cases where we know it will always fail.
Fixes bug #621190
Sebastian Dröge [Thu, 17 Jun 2010 15:07:39 +0000 (17:07 +0200)]
ffmpegcolorspace: Add YUY2/YVYU to all RGB formats conversions