Jochen Henneberg [Thu, 9 Feb 2017 12:44:51 +0000 (12:44 +0000)]
vorbisdec: reset decoder on vorbis headers update
if the vorbis encoder receives new headers it must be
reset and re-initialized to continue decoding, e. g.
for live streams
Sebastian Dröge [Mon, 27 Feb 2017 17:04:30 +0000 (19:04 +0200)]
vorbisenc: Resend (new, updated) headers when the caps are changing
The headers are usually changing together with the caps, and they are
nedeed for correct decoding.
Tim-Philipp Müller [Sat, 25 Feb 2017 19:19:32 +0000 (19:19 +0000)]
rawparse: fix linking for audio/video libs
Broke build in gnome continuous
Sebastian Dröge [Sat, 25 Feb 2017 13:14:07 +0000 (15:14 +0200)]
rawparse: Fix meson build
Sebastian Dröge [Sat, 25 Feb 2017 12:48:40 +0000 (14:48 +0200)]
rawparse: Move to gst-plugins-base
https://bugzilla.gnome.org/show_bug.cgi?id=774544
Sebastian Dröge [Sat, 25 Feb 2017 12:32:33 +0000 (14:32 +0200)]
Merge branch 'rawparse-moved-plugin'
Sebastian Dröge [Fri, 24 Feb 2017 13:59:38 +0000 (15:59 +0200)]
meson: Update version
Sebastian Dröge [Fri, 24 Feb 2017 13:37:33 +0000 (15:37 +0200)]
Back to development
Sebastian Dröge [Fri, 24 Feb 2017 13:07:06 +0000 (15:07 +0200)]
Release 1.11.2
Sebastian Dröge [Fri, 24 Feb 2017 10:46:59 +0000 (12:46 +0200)]
Update .po files
Sebastian Dröge [Fri, 24 Feb 2017 08:04:21 +0000 (10:04 +0200)]
video-converter: Give a name to the thread-pool threads
This way they can be distinguished from any other threads in the same
process.
Sebastian Dröge [Fri, 24 Feb 2017 08:02:28 +0000 (10:02 +0200)]
video-converter: Only lock the thread pool mutex when running with more than 1 thread
There's no reason to lock anything if only the current thread is ever
going to do any work.
Sebastian Dröge [Mon, 20 Feb 2017 19:38:17 +0000 (21:38 +0200)]
video-converter: Implement multi-threaded scaling/conversion
This adds a property to select the maximum number of threads to use for
conversion and scaling. During processing, each plane is split into
an equal number of consecutive lines that are then processed by each
thread.
During tests, this gave up to 1.8x speedup with 2 threads and up to 3.2x
speedup with 4 threads when converting e.g. 1080p to 4k in v210.
https://bugzilla.gnome.org/show_bug.cgi?id=778974
Georg Lippitsch [Tue, 21 Feb 2017 10:59:12 +0000 (11:59 +0100)]
videotimecode: Validate for drop-frame correctness
In gst_video_time_code_is_valid, also check for invalid
ranges when using drop-frame TC. Refactor some code which
broke after the check was added.
https://bugzilla.gnome.org/show_bug.cgi?id=779010
Georg Lippitsch [Wed, 15 Feb 2017 17:40:21 +0000 (18:40 +0100)]
videotimecode: Init from GDateTime
Add a function to init the time code from a GDateTime
https://bugzilla.gnome.org/show_bug.cgi?id=778702
Jochen Henneberg [Mon, 20 Feb 2017 11:44:37 +0000 (13:44 +0200)]
vorbis: Fix channel reorder map for 5.1, 6.1 and 7.1
Sebastian Dröge [Sat, 18 Feb 2017 18:18:50 +0000 (20:18 +0200)]
rawbaseparse: Drop incomplete frames at EOS
See https://bugzilla.gnome.org/show_bug.cgi?id=773666
This would ideally be solved in baseparse but that requires further
thought at this point, and in the meantime it would be good to have
rawbaseparse not assert on this but handle it gracefully instead.
Sebastian Dröge [Wed, 15 Feb 2017 19:41:47 +0000 (21:41 +0200)]
video-scaler: Fix upscaling if width & height change and we're starting not at y=0
It was taking the initial input y-offset from the output value, which
only works for y=0 (in which case both are the same). If y > 0, we would
always stay behind the requested input offset and never ever read
anything from the input.
Tim-Philipp Müller [Tue, 14 Feb 2017 22:31:50 +0000 (22:31 +0000)]
Fix distcheck
Buildbot doesn't like wildcards here for some reason.
Tim-Philipp Müller [Tue, 14 Feb 2017 19:44:43 +0000 (19:44 +0000)]
meson: dist meson build files
Ship meson build files in tarballs, so people who use tarballs
in their builds can start playing with meson already.
Tim-Philipp Müller [Tue, 14 Feb 2017 19:43:47 +0000 (19:43 +0000)]
win32: dist all .def files
Heekyoung Seo [Fri, 10 Feb 2017 08:32:29 +0000 (17:32 +0900)]
typefindfunctions: prevent unsigned int overflow
https://bugzilla.gnome.org/show_bug.cgi?id=778432
Stefan Sauer [Fri, 10 Feb 2017 20:28:49 +0000 (21:28 +0100)]
adder: ensure the discont flag is correct
Previously it happened that reused buffer caused the discont to be on the wrong
buffers.
Thibault Saunier [Wed, 8 Feb 2017 14:42:45 +0000 (11:42 -0300)]
discoverer: Ignore more parser related fields when comparing streams
The parser might do some conversion on a stream but the stream keeps
being the same, and we need to make sure GstDiscoverer detects it is the
case.
https://bugzilla.gnome.org/show_bug.cgi?id=778298
Jan Schmidt [Sat, 4 Feb 2017 03:46:00 +0000 (14:46 +1100)]
audioringbuffer: Also add FLAC to debug strings.
Oops, also add FLAC to the debug strings array.
https://bugzilla.gnome.org/show_bug.cgi?id=777655
Jan Schmidt [Sat, 4 Feb 2017 03:42:33 +0000 (14:42 +1100)]
audioringbuffer: Prevent overflow of debug names array
Add new audio types to the list of strings used for debug
so we don't index past the end of that array.
https://bugzilla.gnome.org/show_bug.cgi?id=777655
Sebastian Dröge [Thu, 2 Feb 2017 12:56:39 +0000 (14:56 +0200)]
multifdsink: Make sure to use a 64 bit integer for the units-max property
Seungha Yang [Fri, 20 Jan 2017 10:49:46 +0000 (19:49 +0900)]
decodebin3: Fix crash caused by slot double freeing
Probe for MultiQueue source pad might receive EOS twice,
the first is fake-eos and the other is actual EOS.
And the slot can be freed with fake-eos/EOS if the slot has no input.
Since slot freeing is async, double free can be possible.
So, decodebin3 needs to remove the probe also with slot freeing.
https://bugzilla.gnome.org/show_bug.cgi?id=777530
Edward Hervey [Tue, 31 Jan 2017 15:47:32 +0000 (16:47 +0100)]
examples: Fix leak
Seungha Yang [Sat, 3 Dec 2016 04:38:28 +0000 (13:38 +0900)]
decodebin3: Fix list leak on handle_stream_switch()
Free no more used list variables
https://bugzilla.gnome.org/show_bug.cgi?id=775553
Seungha Yang [Sat, 3 Dec 2016 04:22:54 +0000 (13:22 +0900)]
decodebin3: Change requested_selection to have its own memory for stream-id
"requested_selection" list might be generated by select-streams event.
And memory of stream-id(s) in select-streams is independent from that of stream-collection.
https://bugzilla.gnome.org/show_bug.cgi?id=775553
Seungha Yang [Sat, 3 Dec 2016 03:47:41 +0000 (12:47 +0900)]
decodebin3: Change return types of stream_in_{list,collection}
Change return types of functions to get memory address of stream-id.
https://bugzilla.gnome.org/show_bug.cgi?id=775553
Seungha Yang [Sat, 3 Dec 2016 03:43:22 +0000 (12:43 +0900)]
playback: Fix leak on select_streams
Since gst_event_parse_select_streams() returns newly allocated
memory for stream-id(s), it should be freed explicitly.
https://bugzilla.gnome.org/show_bug.cgi?id=775553
Guillaume Desmottes [Mon, 2 Jan 2017 14:12:47 +0000 (15:12 +0100)]
encodebin: fix caps leak in test
https://bugzilla.gnome.org/show_bug.cgi?id=776797
Sebastian Dröge [Mon, 30 Jan 2017 10:35:04 +0000 (12:35 +0200)]
audio-resampler: Fix integer overflow in clamping code
https://bugzilla.gnome.org/show_bug.cgi?id=777921
Sebastian Dröge [Wed, 25 Jan 2017 17:13:40 +0000 (19:13 +0200)]
qt: The videooverlay example requires at least C++11
... and clang requires this to be specified on the commandline while gcc
nowadays defaults to C++11 or even newer.
Thibault Saunier [Tue, 24 Jan 2017 22:20:53 +0000 (19:20 -0300)]
meson: Properly use ':' for defining keywords
Tim-Philipp Müller [Mon, 23 Jan 2017 19:45:05 +0000 (19:45 +0000)]
videorate: fix LATENCY query
The latency query originally had a fallthrough to the default
label at the end as fallback, but that got messed up when the
DURATION and POSITION queries were added, so it then fell through
to the duration query handler instead. Restore original behaviour.
https://bugzilla.gnome.org/show_bug.cgi?id=699077
Tim-Philipp Müller [Mon, 23 Jan 2017 19:08:15 +0000 (19:08 +0000)]
videorate: fix duration and position query handling
Duration query would return TRUE and duration=-1. This
worked in the unit test because the unit test implementation
was a bit broken.
Both queries need to access rate with a lock.
Fix broken duration query test as well. It relied on broken
behaviour by the videorate query handler, and also it was
implemented as a downstream query rather than an upstream
query. And we must return HANDLED from the probe so that the
query we intercept actually returns TRUE.
https://bugzilla.gnome.org/show_bug.cgi?id=699077
Tim-Philipp Müller [Mon, 23 Jan 2017 19:50:09 +0000 (19:50 +0000)]
audio: add since markers to docs for new enums
https://bugzilla.gnome.org/show_bug.cgi?id=777655
Vincent Penquerc'h [Thu, 17 Nov 2016 13:04:18 +0000 (13:04 +0000)]
audio: add FLAC to GstAudioRingBufferFormatType
https://bugzilla.gnome.org/show_bug.cgi?id=777655
Olivier Crete [Mon, 23 Jan 2017 18:31:54 +0000 (18:31 +0000)]
audioringbuffer: Also support raw AAC
Support raw AAC streams without the ADTS header
https://bugzilla.gnome.org/show_bug.cgi?id=777655
Víctor Manuel Jáquez Leal [Fri, 20 Jan 2017 22:28:23 +0000 (23:28 +0100)]
docs: update libs section
Include documented symbols that were not declared in section file.
Sebastian Dröge [Fri, 20 Jan 2017 10:41:16 +0000 (12:41 +0200)]
riff-media: Don't divide block align by zero channels
https://bugzilla.gnome.org/show_bug.cgi?id=777525
Sebastian Dröge [Fri, 20 Jan 2017 06:02:38 +0000 (08:02 +0200)]
samiparse: Check that the string has a non-zero length before overwriting the last byte with '\0'
https://bugzilla.gnome.org/show_bug.cgi?id=777502
Sebastian Dröge [Sun, 15 Jan 2017 17:42:34 +0000 (18:42 +0100)]
riff-media: Don't recurse in for nested WAVEFORMATEX
There was already a check for that, but it failed because
subformat_guid[0] is a guint32 and that is then casted implicitely to a
guint16 when recursing... just that we checked the uncasted value.
This caused an infinite recursion and thus stack overflow.
https://bugzilla.gnome.org/show_bug.cgi?id=777265
Jan Schmidt [Wed, 18 Jan 2017 03:59:18 +0000 (14:59 +1100)]
decodebin: Don't leak blocked pad references on errors
When the decodebin state change fails because of an error
message, we might not go through PAUSED->READY. Don't leak
a ref to decodebin pads due to pad blocking in that case.
This is because we return ASYNC going to PAUSED, and if
we fail before reaching PAUSED the only transition we'll
see is READY->NULL.
https://bugzilla.gnome.org/show_bug.cgi?id=775893
Carl Karsten [Fri, 28 Nov 2014 00:02:49 +0000 (18:02 -0600)]
videotestsrc: Add options to make ball pattern based on system time, and invert each second.
This adds some extra options that affect pattern=ball mode, allowing the
animation to be synced to running time or wall-time clock for comparing
sync across different instances / pipelines / machines.
Also added is the ability to invert the rendering colours every second,
and some different ball motion patterns.
https://bugzilla.gnome.org/show_bug.cgi?id=740557
Sebastian Dröge [Sun, 15 Jan 2017 17:31:56 +0000 (18:31 +0100)]
riff-media: Check for valid channels/rate before using the values
Otherwise we might divide by zero or otherwise create invalid caps.
https://bugzilla.gnome.org/show_bug.cgi?id=777262
Tim-Philipp Müller [Fri, 13 Jan 2017 12:38:52 +0000 (12:38 +0000)]
meson: bump version
Sebastian Dröge [Thu, 12 Jan 2017 14:32:42 +0000 (16:32 +0200)]
Back to development
Sebastian Dröge [Thu, 12 Jan 2017 13:30:02 +0000 (15:30 +0200)]
Release 1.11.1
Sebastian Dröge [Thu, 12 Jan 2017 12:37:17 +0000 (14:37 +0200)]
Update .po files
Sebastian Dröge [Thu, 12 Jan 2017 12:35:09 +0000 (14:35 +0200)]
po: Update translations
Jan Schmidt [Thu, 12 Jan 2017 11:28:50 +0000 (22:28 +1100)]
urisourcebin: Preserve seqnum on EOS events
When converting EOS to/from our custom fake EOS event,
preserve any seqnum on the original event.
Edward Hervey [Thu, 12 Jan 2017 09:51:34 +0000 (10:51 +0100)]
urisourcebin: Avoid races when setting up typefind
The state of urisourcebin (and all elements contained within) can
change at any point in time, including when setting up the typefind
element.
In order to avoid ending up with typefind starting without being fully
connected, lock the state and connect to the 'have-type' signal.
Sebastian Dröge [Wed, 11 Jan 2017 16:24:38 +0000 (18:24 +0200)]
video-converter: Fix crashes in fast-paths when converting interlaced formats with different vertical subsampling
E.g. the following pipelines fail because chroma values after the last
line are read (note: 486 % 4 == 2):
gst-launch-1.0 videotestsrc ! "video/x-raw,interlace-mode=interleaved,width=720,height=486,format=UYVY" ! videoconvert ! "video/x-raw,format=I420" ! fakesink
gst-launch-1.0 videotestsrc ! "video/x-raw,interlace-mode=interleaved,width=720,height=486,format=I420" ! videoconvert ! "video/x-raw,format=UYVY" ! fakesink
gst-launch-1.0 videotestsrc ! "video/x-raw,interlace-mode=interleaved,width=720,height=486,format=I420" ! videoconvert ! "video/x-raw,format=AYUV" ! fakesink
Jan Schmidt [Wed, 11 Jan 2017 11:48:02 +0000 (22:48 +1100)]
urisourcebin: Drop fake EOS if the pad got relinked
If our pad got relinked in since the fake-EOS was sent to the
pad, then drop the fake-EOS event.
CID: 1398546
Arun Raghavan [Wed, 11 Jan 2017 11:56:01 +0000 (17:26 +0530)]
common: Revert unintentional change in previous commit
Arun Raghavan [Wed, 11 Jan 2017 11:44:46 +0000 (17:14 +0530)]
urisourcebin: Drop some dead code
The ret == GST_STATE_CHANGE_FAILURE is handled in the previous for loop
already.
CID: 1398544
Seungha Yang [Wed, 11 Jan 2017 03:35:40 +0000 (12:35 +0900)]
urisourcebin: Clear pad from pending list if it was linked
If not, the other slots might try to link the pad again.
This can happen when the demuxer has multiple src pads
and their caps are identical
https://bugzilla.gnome.org/show_bug.cgi?id=777121
Edward Hervey [Wed, 11 Jan 2017 07:22:21 +0000 (08:22 +0100)]
win32: update def file
Vivia Nikolaidou [Tue, 10 Jan 2017 14:36:08 +0000 (16:36 +0200)]
videotimecode: Added unit test for GstVideoTimeCodeInterval
https://bugzilla.gnome.org/show_bug.cgi?id=776447
Vivia Nikolaidou [Thu, 29 Dec 2016 12:42:52 +0000 (14:42 +0200)]
videotimecode: New GstVideoTimeCodeInterval type, ability to add to a GstVideoTimeCode
Sometimes there is a human-oriented timecode that represents an
interval between two other timecodes. It corresponds to the human
perception of "add X hours" or "add X seconds" to a specific timecode,
taking drop-frame oddities into account. This interval-representing
timecode is now a GstVideoTimeCodeInterval. Also added function to add it to
a GstVideoTimeCode.
https://bugzilla.gnome.org/show_bug.cgi?id=776447
Seungha Yang [Tue, 10 Jan 2017 12:52:34 +0000 (21:52 +0900)]
urisourcebin: Configure typefind element for non-streaming uri
To ensure configuring adaptivedemux if needed,
setup typefind element even if uri is not matched to streaming protocol.
https://bugzilla.gnome.org/show_bug.cgi?id=776458
Seungha Yang [Sat, 24 Dec 2016 07:44:26 +0000 (16:44 +0900)]
urisourcebin: Use GList for typefind elements
We need typefind elements per source element's srcpad
https://bugzilla.gnome.org/show_bug.cgi?id=776458
Seungha Yang [Sat, 24 Dec 2016 07:15:45 +0000 (16:15 +0900)]
urisourcebin: Remove unused signal handler variable
Remove never used handler id
https://bugzilla.gnome.org/show_bug.cgi?id=776458
Thibault Saunier [Tue, 10 Jan 2017 11:57:51 +0000 (08:57 -0300)]
pbutils: Fix annotation in gst_encoding_profile_set_preset
Tim-Philipp Müller [Mon, 9 Jan 2017 19:45:25 +0000 (19:45 +0000)]
win32: update .def file for new video API
Tim-Philipp Müller [Mon, 9 Jan 2017 19:10:10 +0000 (19:10 +0000)]
tests: audiodecoder: fix another c99-ism
Missed one.
Tim-Philipp Müller [Mon, 9 Jan 2017 19:02:57 +0000 (19:02 +0000)]
Fix indentation
Tim-Philipp Müller [Mon, 9 Jan 2017 18:58:42 +0000 (18:58 +0000)]
tests: audiodecoder: fix compiler warnings due to c99-ism
audiodecoder.c:160:5: error: ‘for’ loop initial declarations are only allowed in C99 mode
Vivia Nikolaidou [Fri, 30 Dec 2016 18:27:48 +0000 (20:27 +0200)]
videotimecode: Add GstValue functions unit test
https://bugzilla.gnome.org/show_bug.cgi?id=772764
Vivia Nikolaidou [Fri, 30 Dec 2016 17:08:16 +0000 (19:08 +0200)]
videotimecode: Add GstValue functions
Add compare, serialization and deserialization functions
https://bugzilla.gnome.org/show_bug.cgi?id=772764
Seungha Yang [Sun, 8 Jan 2017 12:53:27 +0000 (21:53 +0900)]
urisourcebin: Clear EOS state with stream-start/flush-stop event
The EOS state marker should cleared on stream-start or flush-stop
https://bugzilla.gnome.org/show_bug.cgi?id=777009
Seungha Yang [Sun, 8 Jan 2017 12:36:04 +0000 (21:36 +0900)]
urisourcebin: Never push actual EOS event to slot
Due to the special nature of adaptivedemux, reconfigure happens
frequently with seek/track-change.
In very exceptional cases, the following sequence is possible:
* EOS event is pushed to queue element and still buffers are queued
* During draining remaining buffers, reconfiguration downstream
happens due to track switch.
* The queue gets a not-linked flow return from downstream
* Because the sinkpad is EOS, the queue registers an
error on the bus, causing the pipeline to fail.
Avoid the sinkpad getting marked EOS in the first place, by using a
custom event in place of EOS.
https://bugzilla.gnome.org/show_bug.cgi?id=777009
Jan Schmidt [Mon, 9 Jan 2017 10:31:37 +0000 (21:31 +1100)]
testsuite: Add some test checks for gst_video_guess_framerate()
Jan Schmidt [Mon, 9 Jan 2017 10:25:26 +0000 (21:25 +1100)]
gst_video_guess_framerate: Don't throw away all precision
When operating on framerates near 10000fps, at least keep 1
digit of precision for calculations
Thibault Saunier [Fri, 6 Jan 2017 15:56:00 +0000 (12:56 -0300)]
Update win32 def files
Thibault Saunier [Fri, 6 Jan 2017 14:39:27 +0000 (11:39 -0300)]
encoding-target: Properly free temporary list
Thibault Saunier [Wed, 4 Jan 2017 17:27:40 +0000 (14:27 -0300)]
encoding-profile: Add a way to copy an encoding profile
It is often usefull to make sure that you get a full copy of a profile.
For example you want to let the user modify it in the user interface
but still keep an unchanged version for later use.
API:
gst_encoding_profile_copy
Guillaume Desmottes [Wed, 4 Jan 2017 13:56:36 +0000 (14:56 +0100)]
meson: generate pkg-config -uninstalled pc files
Generating those files is useful for users building the GStreamer stack
using meson and having to link it to another project which is still
using the autotools.
https://bugzilla.gnome.org/show_bug.cgi?id=776810
Thibault Saunier [Wed, 4 Jan 2017 14:21:51 +0000 (11:21 -0300)]
encodebin: Fix stream_group_free when creating it went bad
Avoiding trying to use NULL pointers
Mark Nauwelaerts [Fri, 30 Dec 2016 16:55:18 +0000 (17:55 +0100)]
playsink: do not link to audio or video filter using padname
... as a sinkpad need not be called "sink", and it is not the case
for e.g. timeoverlay (and friends).
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=776623
Tim-Philipp Müller [Wed, 4 Jan 2017 13:44:53 +0000 (13:44 +0000)]
multihandlesink: fix some property descriptions
Jan Schmidt [Mon, 2 Jan 2017 15:23:43 +0000 (02:23 +1100)]
playback: Fix a small race on decodebin/parsebin shutdown.
When shutting down decodebin2 and parsebin, they set their
output pads to flushing, and there is a very small window
where elements might send a sticky event such as a tag event
(which silently fails due to flushing) and then sends a buffer,
and the buffer will return GST_FLOW_ERROR because it can't
forward sticky events. The element will then send an error
message on the bus. This can also happen when elements send EOS
just as shutdown is happening. Since we're about to destroy all
the elements inside parsebin and decodebin anyway, just discard
error messages from them.
A nicer but more difficult fix for GStreamer 2.0 is to make
all event pushing / handling in core return a GstFlowReturn
like buffers do, so we can report a FLUSHING state cleanly.
Tim-Philipp Müller [Mon, 2 Jan 2017 12:54:32 +0000 (12:54 +0000)]
encodebin: fix queue property types when setting
Song Bing [Fri, 13 Mar 2015 10:04:31 +0000 (18:04 +0800)]
encodebin: allow more buffers in output queue for better performance
https://bugzilla.gnome.org/show_bug.cgi?id=744191
Arun Raghavan [Mon, 2 Jan 2017 12:26:36 +0000 (17:56 +0530)]
audioconvert: Relocate a NULL check before accessing converter
CID 1396745
Tobias Mueller [Thu, 2 Jul 2015 05:23:23 +0000 (07:23 +0200)]
appsrc: fix compiler warning
Initialize min and max _get_property() to gets rid of these
compiler warnings:
gstappsrc.c:741:7: error: 'max' may be used uninitialized in this function
g_value_set_int64 (value, max);
^
gstappsrc.c:733:7: error: 'min' may be used uninitialized in this function
g_value_set_int64 (value, min);
^
Which happens because gcc doesn't know that GST_IS_APP_SRC will never
fail here.
https://bugzilla.gnome.org/show_bug.cgi?id=752052
Stuart Weaver [Wed, 25 Nov 2015 11:30:42 +0000 (11:30 +0000)]
rtsp-url: unescape special chars in user/pass part of URL
This way special characters such as '@' can be used in
usernames or passwords, e.g.
rtsp://view:%40dm%4An@<IP-ADDR>/media/camera1
will now parse username and password into:
User: view
Pass: @dm:n
https://bugzilla.gnome.org/show_bug.cgi?id=758389
Vineeth TM [Wed, 18 Nov 2015 04:59:30 +0000 (13:59 +0900)]
discoverer: Add support to dump dot files
Dump graphs during error/warning messages and discover is done
https://bugzilla.gnome.org/show_bug.cgi?id=758259
Tim-Philipp Müller [Sat, 24 Dec 2016 10:15:24 +0000 (10:15 +0000)]
tests: tag: add unit test for ID3v2 UTF-16 string list parsing
https://bugzilla.gnome.org/show_bug.cgi?id=770355
Tim-Philipp Müller [Sat, 24 Dec 2016 14:32:34 +0000 (14:32 +0000)]
tests: tag: add test for ID3v2 extended header parsing
https://bugzilla.gnome.org/show_bug.cgi?id=770355
Thomas Bluemel [Wed, 24 Aug 2016 17:39:39 +0000 (11:39 -0600)]
id3v2: fix splitting strings in ISO-8859-1 and UTF-16 formats
When parsing NUL-terminated strings, do not include the terminating
NUL byte(s). Depending on the encoding used, either g_utf8_validate()
failed due to this, or worse the call to g_utf16_to_utf8() would
return 0 items read on an empty string, causing it to fail parsing
certain frames.
https://bugzilla.gnome.org/show_bug.cgi?id=770355
Thomas Bluemel [Wed, 24 Aug 2016 16:33:14 +0000 (10:33 -0600)]
id3v2: fix handling of tags with extended headers
The extended header size value does not include itself.
https://bugzilla.gnome.org/show_bug.cgi?id=770355
Thibault Saunier [Fri, 23 Dec 2016 21:08:43 +0000 (18:08 -0300)]
encoding-profile: Initialize variables to avoid build failures
encoding-profile.c: In function ‘get_profile_format_from_possible_factory_name’:
encoding-profile.c:1532:6: error: ‘fact’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
if (fact)
^
encoding-profile.c: In function ‘profile_from_string’:
encoding-profile.c:1720:6: error: ‘res’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
if (profile)
^
cc1: all warnings being treated as errors
Thibault Saunier [Fri, 23 Dec 2016 17:23:48 +0000 (14:23 -0300)]
encoding-profile: Allow using factory names in serialization format
Instead of enforcing the user to know and understand caps to describe
the encoding format, let him use element factory names directly.
This also makes it possible to ensure that a specific encodore/muxer
is used instead of letting the ranking system do it.
It is now possible to describe an encoding format simply specifying:
matroskamux:x264enc:vobisenc
Factor out functions in the parsing, cleaning up the whole thing.
Update documentation.
Thibault Saunier [Wed, 21 Dec 2016 22:32:41 +0000 (19:32 -0300)]
encoding-profile: Also take into account preset name when comparing profiles
Thibault Saunier [Wed, 21 Dec 2016 16:24:37 +0000 (13:24 -0300)]
encoding-profile: Handle path to serialized target when deserializing a profile
The synthax is path/to/encoding/profile.gep:profilename