Thibault Saunier [Fri, 19 Aug 2016 18:11:03 +0000 (11:11 -0700)]
Use the new API to post flow ERROR messages on the bus
https://bugzilla.gnome.org/show_bug.cgi?id=770158
Josep Torra [Fri, 26 Aug 2016 19:32:07 +0000 (21:32 +0200)]
gitignore: ignore qtdemux, rtph261 and rtpvp9 tests
Josep Torra [Fri, 26 Aug 2016 19:22:16 +0000 (21:22 +0200)]
tests: use GST_NET_LIBS instead of hardcoded -lgstnet
Fixes build in OSX when running 'make check' in gst-uninstalled.
Josep Torra [Fri, 26 Aug 2016 19:14:47 +0000 (21:14 +0200)]
tests: remove a wrong 'const' specifier
Fixes "error: duplicate 'const' declaration specifier"
Josep Torra [Fri, 26 Aug 2016 19:11:59 +0000 (21:11 +0200)]
build: silence error about pthread for 'make check' in osx
Fixes "clang: error: argument unused during compilation: '-pthread'"
Sebastian Dröge [Fri, 26 Aug 2016 17:31:10 +0000 (20:31 +0300)]
vp9enc: Fix build of unit test by letting it link to libgstvideo
Olivier Crête [Fri, 26 Aug 2016 16:06:35 +0000 (12:06 -0400)]
Revert "rtpmux: fix PROP_TIMESTAMP_OFFSET range problems"
This broke API, so we need a better solution!
This reverts commit
c7579d31a6e9d788e94b83258309063d0aae481e.
Stian Selnes [Wed, 8 Jun 2016 13:06:28 +0000 (15:06 +0200)]
rtpvp9depay: Support flexible mode
Stian Selnes [Mon, 6 Jun 2016 15:03:36 +0000 (17:03 +0200)]
vp9enc: Fix leak of vpx_image_t
Stian Selnes [Fri, 6 May 2016 11:33:22 +0000 (13:33 +0200)]
rtph263pdepay: Don't try to push empty frame
If the result of depayloading is an empty frame, just drop it. This is
likely the result of a buggy payloader.
Havard Graff [Fri, 6 May 2016 14:06:53 +0000 (16:06 +0200)]
rtpmux: fix PROP_TIMESTAMP_OFFSET range problems
It could not set the offset for the full guint32 range.
Havard Graff [Fri, 6 May 2016 07:44:42 +0000 (09:44 +0200)]
rtpbin: introduce max-streams property
To be able to cap the number of allowed streams for one session.
This is useful for preventing DoS attacks, where a sender can change
SSRC for every buffer, effectively bringing rtpbin to a halt.
https://bugzilla.gnome.org/show_bug.cgi?id=770292
Havard Graff [Wed, 30 Mar 2016 22:10:49 +0000 (00:10 +0200)]
rtpsource: reordered packets are very normal, and should not be a warning
Havard Graff [Fri, 5 Feb 2016 13:19:25 +0000 (14:19 +0100)]
rtpsession: degrade g_warning to GST_ERROR
So we don't blow up while investigating
Stian Selnes [Thu, 4 Feb 2016 13:16:40 +0000 (14:16 +0100)]
rtph263pdepay: Fix picture header for non-writable payload
Under certain conditions gst_rtp_buffer_get_payload() returns a copy of
the payload. In this case the payload modifications will not affect the
rtp buffer. So instead of modifying the payload buffer directly we
should modify the buffer that actually gets pushed on the adapter.
Stian Selnes [Thu, 19 Nov 2015 10:50:47 +0000 (11:50 +0100)]
rtph261depay: Fix check of valid payload length
Packets with no H.261 payload should be dropped to avoid invalid
write/reads.
Stian Selnes [Mon, 9 Nov 2015 09:06:21 +0000 (10:06 +0100)]
rtph263pay: Fix double free, invalid reads and leak
Stian Selnes [Mon, 30 Jun 2014 13:43:58 +0000 (15:43 +0200)]
rtpsession: sanity check RTT before ignoring PLI/FIR
Stian Selnes [Mon, 30 Jun 2014 13:07:45 +0000 (15:07 +0200)]
rtpsession: handle sdes messages with non-utf8 more gracefully
Stian Selnes [Tue, 17 Jun 2014 06:52:50 +0000 (08:52 +0200)]
rtph263pay: change log level on bitstream parsing messages
Mikhail Fludkov [Thu, 7 Jul 2016 09:13:18 +0000 (11:13 +0200)]
tests/rtprtx: refactor the tests to use gstharness
The functionality of all the tests was kept exactly the same. Some tests
were renamed:
test_push_forward_seq -> test_rtxsend_rtxreceive
test_drop_one_sender -> test_rtxsend_rtxreceive_with_packet_loss
test_drop_multiple_sender -> test_multi_rtxsend_rtxreceive_with_packet_loss
test_rtxreceive_data_reconstruction was testing that retransmitted
buffer produced by rtxsend was correctly transformed to the original
buffer by rtxreceive. Now we are checking for this in all the tests
where both rtxsend & rtxreceive are involved. That's why the test was
removed.
Jonas Holmberg [Thu, 25 Aug 2016 13:52:36 +0000 (15:52 +0200)]
rtph265pay: Set RTP marker bit
Set the RTP marker bit on the last RTP packet of an H.265 access unit.
https://bugzilla.gnome.org/show_bug.cgi?id=770394
Xabier Rodriguez Calvar [Tue, 26 Jul 2016 17:39:58 +0000 (19:39 +0200)]
videoflip: added GstVideoDirection interface
It implements now this interface with its video-direction
property. Values are changed to GstVideoOrientationMethod but they have
the same value than the originals.
https://bugzilla.gnome.org/show_bug.cgi?id=768687
Havard Graff [Fri, 6 Nov 2015 09:39:16 +0000 (10:39 +0100)]
gstrtpsession: refactor duplicate code into a function
Less code, easier to read, more consistent.
https://bugzilla.gnome.org/show_bug.cgi?id=770293
Vincent Penquerc'h [Tue, 23 Aug 2016 16:06:44 +0000 (17:06 +0100)]
rtpbin: fix typo in max-misorder-time property name
Tim-Philipp Müller [Sun, 21 Aug 2016 23:05:52 +0000 (00:05 +0100)]
splitmuxsink: fix printf format compiler warning in debug message
On 32-bit x86: gstsplitmuxsink.c:966:31: warning: format ‘%u’ expects
argument of type ‘unsigned int’, but argument 9 has type
‘guint64 {aka long long unsigned int}’
Nirbheek Chauhan [Fri, 12 Aug 2016 15:42:30 +0000 (21:12 +0530)]
Add support for Meson as alternative/parallel build system
https://github.com/mesonbuild/meson
With contributions from:
Tim-Philipp Müller <tim@centricular.com>
Jussi Pakkanen <jpakkane@gmail.com> (original port)
Highlights of the features provided are:
* Faster builds on Linux (~40-50% faster)
* The ability to build with MSVC on Windows
* Generate Visual Studio project files
* Generate XCode project files
* Much faster builds on Windows (on-par with Linux)
* Seriously fast configure and building on embedded
... and many more. For more details see:
http://blog.nirbheek.in/2016/05/gstreamer-and-meson-new-hope.html
http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html
Building with Meson should work on both Linux and Windows, but may
need a few more tweaks on other operating systems.
Jie Jiang [Sat, 20 Aug 2016 08:59:30 +0000 (16:59 +0800)]
Fixed splitmuxsink 32-bit overflow bug
Extend the byte tracking counters to 64-bit on
all platforms, instead of using gsize, which overflows
after 4GB.
https://bugzilla.gnome.org/show_bug.cgi?id=770019
Vivia Nikolaidou [Fri, 19 Aug 2016 14:18:16 +0000 (17:18 +0300)]
isomp4: Fix coverity warning
If atom_copy_data fails to write anything, return 0
CID #1371458
Nirbheek Chauhan [Sat, 9 Apr 2016 02:21:03 +0000 (07:51 +0530)]
v4l2: consistently check #ifdef HAVE_GUDEV instead of #if
Both work with autotools but they definitely don't mean the same thing, cause
problems with other build systems, and are bad form. Existence should always be
checked with #ifdef or #if defined.
Nirbheek Chauhan [Tue, 19 Apr 2016 05:23:05 +0000 (10:53 +0530)]
directsound: port away from old DirectX API
D3DX has been deprecated for the last 4 years and latest versions of
Windows no longer ship headers for it. This is fine as long as you're
building with Cerbero's Wine-based DirectX headers, but sucks if you
want to build against the actual Windows SDK.
We were just using it to get error strings anyway, so just use the
generic error string API.
Tim-Philipp Müller [Thu, 18 Aug 2016 11:02:01 +0000 (12:02 +0100)]
Revert "flacparse: Add maximum bitrate tag"
This reverts commit
c703ab69f526092bb26cce41ca691a896c8383d8.
https://bugzilla.gnome.org/show_bug.cgi?id=769392
Sebastian Dröge [Thu, 18 Aug 2016 06:57:51 +0000 (09:57 +0300)]
rtpjitterbuffer: Fix unit test by disabling adaptive misorder/dropout calculations
Need to set max-misorder-time and max-dropout-time to 0 so the
jitterbuffer does not base them on packet rate calculations.
If it does, out gap is big enough to be considered a new stream and
we wait for a few consecutive packets just to be sure
https://bugzilla.gnome.org/show_bug.cgi?id=751311
Vivia Nikolaidou [Tue, 9 Aug 2016 09:55:59 +0000 (12:55 +0300)]
splitmuxsink: Add option to split at exactly max-size-time
Will try to request a keyframe from the encoder to be sent at the target
running time.
https://bugzilla.gnome.org/show_bug.cgi?id=769664
Vivia Nikolaidou [Tue, 9 Aug 2016 17:16:16 +0000 (20:16 +0300)]
splitmuxsink: Allow time and bytes to reach their respective thresholds
https://bugzilla.gnome.org/show_bug.cgi?id=769664
Sebastian Dröge [Wed, 17 Aug 2016 06:49:04 +0000 (09:49 +0300)]
rtspsrc: Allow mimetypes with properties as long as they're application/sdp
Some servers add properties like charset, e.g.
application/sdp; charset=utf8
Ideally we should also parse the charset and do conversion of all messages,
but that's for a later time.
Vivia Nikolaidou [Fri, 24 Jun 2016 13:32:37 +0000 (16:32 +0300)]
qtmux: Added support for writing timecode track
https://bugzilla.gnome.org/show_bug.cgi?id=767950
Thomas Bluemel [Thu, 11 Aug 2016 22:32:21 +0000 (16:32 -0600)]
multiudpsink: Initialize bytes_sent field.
This fixes endpoints not receiving any data intermittently.
https://bugzilla.gnome.org/show_bug.cgi?id=769773
Thomas Bluemel [Wed, 10 Aug 2016 17:45:13 +0000 (11:45 -0600)]
rtpjitterbuffer: Actually calculate the packet rate for max-dropout and max-misorder calculations.
https://bugzilla.gnome.org/show_bug.cgi?id=751311
Thomas Bluemel [Wed, 10 Aug 2016 17:26:17 +0000 (11:26 -0600)]
rtpjitterbuffer: Don't warn for duplicate packets
This is a normal scenario and should not be a warning. This can
happen frequently when re-transmits of lost packets are enabled.
https://bugzilla.gnome.org/show_bug.cgi?id=762208
Jan Schmidt [Mon, 8 Aug 2016 03:49:19 +0000 (13:49 +1000)]
splitmux: Fix typo converting to running time.
Use the correct collected timestamp.
Jan Schmidt [Sun, 7 Aug 2016 16:53:48 +0000 (02:53 +1000)]
Revert "splitmuxsink: Use GstBin async-handling instead of our own."
This reverts commit
fa008f271a52f82dededc28bd81b020ca7939b47.
async-handling in GstBin causes the pipeline to spin at 100%
CPU as the top-level pipeline tries to change that state
to PLAYING constantly. This is a workaround for a core
problem, essentially, but an improvement in this case for now.
Jan Schmidt [Sun, 7 Aug 2016 14:56:38 +0000 (00:56 +1000)]
splitmux: Recheck state after unlocking mutex.
After dropping the splitmux lock, re-check the state,
don't just fall through and sleep unconditionally,
as we may have already missed the wakeup.
https://bugzilla.gnome.org/show_bug.cgi?id=769514
Jan Schmidt [Tue, 2 Aug 2016 17:32:07 +0000 (03:32 +1000)]
splitmuxsrc: Don't stop and error on EOS flow return
Don't immediately halt on EOS flow return from downstream
due to out of segment. Let the demuxer handle it and send
EOS.
Thiago Santos [Thu, 4 Aug 2016 03:36:28 +0000 (00:36 -0300)]
rtpjitterbuffer: avoid unref of null buffer
The current 'l' pointer will be NULL when the loop
is interrupted with a 'break' statement. Need to have
it advance to the next list item before interrupting.
Carlos Rafael Giani [Tue, 2 Aug 2016 12:01:14 +0000 (14:01 +0200)]
wavparse: Add tags for container format and bitrate for uncompressed PCM
The PCM bitrate is added to help downstream elements (like uridecodebin)
figure out a proper network buffer size
https://bugzilla.gnome.org/show_bug.cgi?id=769390
Carlos Rafael Giani [Mon, 1 Aug 2016 16:52:26 +0000 (18:52 +0200)]
flacparse: Add maximum bitrate tag
https://bugzilla.gnome.org/show_bug.cgi?id=769392
Sebastian Dröge [Thu, 28 Jul 2016 14:58:16 +0000 (17:58 +0300)]
qtdemux: When receiving a DISCONT buffer that does not point to a sample, remember the offset
And don't just reset everything. This makes sure that we can continue to
handle data in the following scenario:
moov: discont
moof: discont
mdat: continuous
Previously this would fail because the offset would be the accumulated offset
from moov and moof at the mdat position, while the buffer offset might be
something completely different.
Sebastian Dröge [Mon, 25 Jul 2016 10:34:02 +0000 (13:34 +0300)]
rtp: Filter with the filter caps in the payloader's getcaps
Vincent Penquerc'h [Thu, 3 Mar 2016 11:35:06 +0000 (11:35 +0000)]
souphttpsrc: include http-status-code in error message details
https://bugzilla.gnome.org/show_bug.cgi?id=763038
Jan Schmidt [Mon, 25 Jul 2016 08:20:03 +0000 (18:20 +1000)]
splitmuxsink: Fix debug statement signedness.
The ts variable is a GstClockTime, don't print it
as a GstClockTimeDiff.
Jan Schmidt [Sun, 17 Jul 2016 12:41:02 +0000 (22:41 +1000)]
splitmuxsink: Handle negative running time
Use signed clock times for running time everywhere
so that we handle negative running times without
going haywire, similar to what queue and multiqueue
do these days.
Jan Schmidt [Sun, 17 Jul 2016 14:12:55 +0000 (00:12 +1000)]
splitmuxsink: Drop lock when sending dummy event
When pushing the dummy event into the multiqueue,
drop the splitmux lock or else we might deadlock.
Jan Schmidt [Wed, 29 Jun 2016 15:56:41 +0000 (01:56 +1000)]
rtph264pay: Intersect with filter caps in getcaps function.
Always intersect with the filter caps in the getcaps function
to make sure we return a subset of what was requested.
Other payloaders also have this problem and need fixing
in future commits.
Guillaume Desmottes [Tue, 12 Jul 2016 15:30:56 +0000 (17:30 +0200)]
tests: qtdemux: fix element and pad leak
https://bugzilla.gnome.org/show_bug.cgi?id=768739
Guillaume Desmottes [Tue, 12 Jul 2016 14:45:36 +0000 (16:45 +0200)]
tests: fix bus leaks
gst_bus_add_signal_watch() takes a ref on the bus which should be
released using gst_bus_remove_signal_watch().
https://bugzilla.gnome.org/show_bug.cgi?id=768739
Ting-Wei Lan [Wed, 13 Jul 2016 19:07:11 +0000 (03:07 +0800)]
configure: Call AG_GST_PKG_CONFIG_PATH to set GST_PKG_CONFIG_PATH
GST_PKG_CONFIG_PATH is used in docs/plugins directory, so
AG_GST_PKG_CONFIG_PATH must be called to set it.
https://bugzilla.gnome.org/show_bug.cgi?id=768787
Edward Hervey [Tue, 12 Jul 2016 05:39:58 +0000 (07:39 +0200)]
souphttpsrc: Don't drop final bytes of a range request
At the end of a range request, we don't want to return GST_FLOW_EOS otherwise
the last bytes we just read will be dropped by basesrc.
Instead just return GST_FLOW_OK (which was set just before) and let basesrc
handle the fact we are at the end of the segment.
Nicolas Dufresne [Mon, 11 Jul 2016 22:30:18 +0000 (18:30 -0400)]
v4l2provider: Fix device type detection
The type detection would lead to assertion as it would try
to create a device without having found any type for it. It
also didn't detect MPLANE devices properly.
Nicolas Dufresne [Mon, 11 Jul 2016 22:29:01 +0000 (18:29 -0400)]
v4l2object: Don't assert when used by the monitor
The monitor sets the object->element object as a GstObject. This
works for debug traces, but will assert for ELEMENT_ERROR. This
was the only case where that could happen. Add a check for that.
Nicolas Dufresne [Mon, 11 Jul 2016 21:38:00 +0000 (17:38 -0400)]
v4l2object: Indent very long line
Sebastian Dröge [Mon, 11 Jul 2016 21:42:02 +0000 (00:42 +0300)]
souphttpsrc: At the end of a range request, read another time to finalize the request
If we're at the end of a range request, read again to let libsoup
finalize the request. This allows to reuse the connection again later,
otherwise we would have to cancel the message and close the connection.
Stefan Sauer [Mon, 11 Jul 2016 19:13:47 +0000 (21:13 +0200)]
Automatic update of common submodule
From f363b32 to f49c55e
Sebastian Dröge [Mon, 11 Jul 2016 16:57:18 +0000 (19:57 +0300)]
souphttpsrc: Fix keep-alive handling
We have to get rid of the message on EOS when the complete stream is read to
remember that we successfully finished handling this specific message.
Otherwise we will cancel it later and close the connection instead of reusing
it at a later time.
It might also make sense to reuse connections if a non-200 response is
received. As long as there was no connection error, the HTTP connection should
be re-usable.
Nicolas Dufresne [Mon, 11 Jul 2016 16:05:06 +0000 (12:05 -0400)]
Also enable V4L2 probe on aarch64 (aka ARM 64bit)
Olivier Crête [Mon, 11 Jul 2016 15:59:19 +0000 (11:59 -0400)]
rtp example: Fix leak
Also stop fetching the internal source as this
functionality has been broken.
Nicolas Dufresne [Fri, 8 Jul 2016 18:58:37 +0000 (14:58 -0400)]
Enable v4l2 probe on Linux/ARM
Most of those have V4L2 drivers these days enabling it make sure that it
this code is enabled in major distribution, hence that HW accelerated
decoder/encoder can be used on platforms that support it. The probes are
slightly increasing the first init of gstreamer library, though the
result is cached in the registry for later use.
Jonas Holmberg [Mon, 11 Jul 2016 07:46:49 +0000 (09:46 +0200)]
rtph265pay: Accept array_completeness=1
When parsing NAL unit type in codec_data, check the 6bits of
NAL_unit_type only and do not require the array_completeness bit to be
0, since the default and mandatory value of array_completeness is 1 for
hvc1.
https://bugzilla.gnome.org/show_bug.cgi?id=768653
Nicolas Dufresne [Mon, 11 Jul 2016 01:35:06 +0000 (21:35 -0400)]
v4l2: Also copy device_caps in gst_v4l2_dup
This fixes regression where M2M error out saying they have no output
format (the V4L2 CAPTURE side).
https://bugzilla.gnome.org/show_bug.cgi?id=768195
Sebastian Dröge [Sun, 10 Jul 2016 18:30:27 +0000 (21:30 +0300)]
udpsrc: Use correct in6_pktinfo struct instead of in_pktinfo
Fixes the build on FreeBSD, which does not have the latter.
https://bugzilla.gnome.org/show_bug.cgi?id=768623
Luis de Bethencourt [Fri, 8 Jul 2016 17:28:19 +0000 (17:28 +0000)]
v4l2: fix multiplanar capture
After switching to using V4L2_CAP_DEVICE_CAPS we lost support for
multiplanar device types. After some research, it looks like
vcap.capabilities treated the multiplanar flag of output and capture
devices equally, but not the new device_caps.
https://bugzilla.gnome.org/show_bug.cgi?id=768195
Mats Lindestam [Fri, 8 Jul 2016 12:56:30 +0000 (14:56 +0200)]
multipartmux: Use PTS and DTS instead of timestamp
And pass-through both of them.
Based on a patch by Göran Jönsson <goranjn@axis.com>
https://bugzilla.gnome.org/show_bug.cgi?id=767900
Thomas Scheuermann [Thu, 30 Jun 2016 12:40:40 +0000 (14:40 +0200)]
jack: don't wait for callbacks if the jack server shut down
Otherwise we'll wait forever.
https://bugzilla.gnome.org/show_bug.cgi?id=747275
Edward Hervey [Thu, 23 Jun 2016 13:30:19 +0000 (15:30 +0200)]
qtdemux: Let upstream events go through upstream
There's no real reason to avoid sending QOS/NAVIGATION events upstrea.
Some elements might want to have that information.
Edward Hervey [Thu, 23 Jun 2016 13:22:56 +0000 (15:22 +0200)]
avidemux: Let upstream events go through upstream
There's no real reason to avoid sending QOS/NAVIGATION events upstrea.
Some elements might want to have that information.
Edward Hervey [Thu, 23 Jun 2016 13:17:36 +0000 (15:17 +0200)]
dvdemux: Let upstream events go through upstream
There's no real reason to avoid sending QOS/NAVIGATION events upstrea.
Some elements might want to have that information.
Also remove downstream-only CAPS event handling and minimize code
Luis de Bethencourt [Thu, 7 Jul 2016 22:53:54 +0000 (23:53 +0100)]
v4l2: fix v4l2 probe build error
A typo in gst_v4l2_probe_and_register() caused a build error when building
with --enable-v4l2-probe. Fixing it.
gstv4l2.c: In function 'gst_v4l2_probe_and_register':
gstv4l2.c:150:25: error: 'struct v4l2_capability' has no member named 'capabilitites'
device_caps = vcap.capabilitites;
Reynaldo H. Verdejo Pinochet [Sat, 2 Jul 2016 05:53:33 +0000 (22:53 -0700)]
v4l2src: use gst_caps_intersect_full in negotiate()
Instead of reimplementing the GST_CAPS_INTERSECT_FIRST
interection mode.
https://bugzilla.gnome.org/show_bug.cgi?id=768195
Reynaldo H. Verdejo Pinochet [Sat, 2 Jul 2016 08:56:07 +0000 (01:56 -0700)]
v4l2: use opened device caps instead of physical device ones
The same physical device can export multiple devices. In
this case, the capabilities field now contains a union of
all caps available from all exported V4L2 devices alongside
a V4L2_CAP_DEVICE_CAPS flag that should be used to decide
what capabilities to consider. In our case, we need the
ones from the exported device we are using.
https://bugzilla.gnome.org/show_bug.cgi?id=768195
Sebastian Dröge [Thu, 7 Jul 2016 15:24:59 +0000 (18:24 +0300)]
matroskamux: Remove suspicious checks for pads being active and linked
We should add all pads, no matter if they are linked or active or not at this
point. Skipping some that are not will cause different behaviour than with
other muxers.
Sebastian Dröge [Thu, 7 Jul 2016 15:23:07 +0000 (18:23 +0300)]
matroskamux: Error out if we start writing data with some pads not having a codec id yet
This can only happen if a) upstream somehow gets around the CAPS event failing
or b) there never being any CAPS event.
The following code assumes that all pads have a codec-id.
https://bugzilla.gnome.org/show_bug.cgi?id=768509
Sebastian Dröge [Thu, 7 Jul 2016 15:14:43 +0000 (18:14 +0300)]
matroskamux: Consistently use gst_matroska_mux_set_codec_id() for setting the codec id
Jonas Holmberg [Mon, 4 Jul 2016 07:50:11 +0000 (09:50 +0200)]
rtph265pay/depay: Sync against RFC 7798
Handle sprop-vps, sprop-sps and sprop-pps in caps instead of
sprop-parameter-sets.
rtph265pay works with byte-stream and hvc1 formats but not hev1 yet. It
handles profile-id, tier-flag and level-id in caps query.
https://bugzilla.gnome.org/show_bug.cgi?id=753760
Jan Alexander Steffens (heftig) [Wed, 6 Jul 2016 07:25:00 +0000 (09:25 +0200)]
flvdemux: Push nominal bitrate tags
Add per-stream tag lists, which are used to send nominal
bitrate tags. When remuxing FLV => FLV, this now passes
through the upstream bitrate.
https://bugzilla.gnome.org/show_bug.cgi?id=768440
Jan Alexander Steffens (heftig) [Wed, 6 Jul 2016 07:24:49 +0000 (09:24 +0200)]
flvdemux: Refactor metadata tag handling
The FLV header cannot be trusted to indicate video or
audio presence, as the comments already mention. Don't
delay pushing tags waiting for streams that might never
appear.
Tags are now pushed immediately after they change:
- After parsing an onMetaData script object
- After negotiating caps on a pad
https://bugzilla.gnome.org/show_bug.cgi?id=768440
Luis de Bethencourt [Wed, 6 Jul 2016 11:44:10 +0000 (12:44 +0100)]
qtdemux: fix AAC codec_data values
As seen in the parent switch for object_type_id, the 4 possible values are
0x40, 0x66, 0x67 and 0x68. Fixing the nested switch to match these values.
Looks like it was a typo making them decimal instead of hexadecimal.
CID 1363328
Sebastian Dröge [Wed, 6 Jul 2016 10:51:03 +0000 (13:51 +0300)]
Back to development
Sebastian Dröge [Wed, 6 Jul 2016 10:06:44 +0000 (13:06 +0300)]
Release 1.9.1
Sebastian Dröge [Wed, 6 Jul 2016 08:46:26 +0000 (11:46 +0300)]
Update .po files
Steven Hoving [Wed, 6 Jul 2016 08:22:53 +0000 (11:22 +0300)]
rtspsrc: Fix error messages to first convert to doubles before division
Sebastian Dröge [Wed, 6 Jul 2016 07:18:30 +0000 (10:18 +0300)]
po: Update translations
Sebastian Dröge [Tue, 5 Jul 2016 18:11:35 +0000 (21:11 +0300)]
rtspsrc: Set to PLAYING after a seek again after setting up the segment and everything else
There's a small window for a race condition otherwise.
Sebastian Dröge [Mon, 4 Jul 2016 15:45:40 +0000 (17:45 +0200)]
qtmux: Use complete AAC caps with codec_data in the tests
Sebastian Dröge [Mon, 4 Jul 2016 14:58:38 +0000 (16:58 +0200)]
aacparse: Reject raw AAC if no codec_data is found in the caps
If necessary, a demuxer will have to invent something here but this is only a
problem with non-conformant files anyway.
Sebastian Dröge [Mon, 4 Jul 2016 14:55:32 +0000 (16:55 +0200)]
qtdemux: Invent AAC codec_data if none is present
Without, raw AAC can't be handled and we have some information available in
the decoder that most likely allows us to decode the stream in one way or
another. This is the same code already used by matroskademux for the same
reasons, and ffmpeg/vlc play such files just fine too by guesswork.
Sebastian Dröge [Mon, 4 Jul 2016 12:54:13 +0000 (14:54 +0200)]
qtmux: Reject raw AAC caps without codec_data
The resulting file is not going to be playable without guesswork and raw caps
should always have codec_data.
Edward Hervey [Tue, 10 May 2016 13:48:49 +0000 (15:48 +0200)]
qtdemux: Handle upstream GAP in push-mode/time segment
This is to handle cases where upstream handles the fragmented streaming in TIME
segments and sends us data with gaps within fragments. This would happen when dealing
with trick-modes.
When upstream (push-based, TIME SEGMENT) wishes to send discontinuous samples,
it must obey the following rules:
* The buffer containing the [moof] must have a valid GST_BUFFER_OFFSET
* The buffers containing the first sample after a gap:
* MUST start at the beginning of a sample,
* MUST have the DISCONT flag set,
* MUST have a valid GST_BUFFER_OFFSET relative to the beginning of the fragment.
https://bugzilla.gnome.org/show_bug.cgi?id=767354
Tim-Philipp Müller [Fri, 1 Jul 2016 10:54:57 +0000 (11:54 +0100)]
v4l2: fix potential double-free of error debug string
gst_v4l2_clear_error() doesn't work like g_clear_error(), it
doesn't NULLify the pointer, so set freed debug string to NULL
so it doesn't get freed again if gst_v4l2_clear_error() is
called twice on the error.
CID 1362901
Brad Lackey [Fri, 1 Jul 2016 10:05:00 +0000 (10:05 +0000)]
rtspsrc: Don't disable UDP protocols on redirecting
https://bugzilla.gnome.org/show_bug.cgi?id=768232
Seungha Yang [Fri, 1 Jul 2016 08:28:17 +0000 (17:28 +0900)]
qtdemux: Push caps only when it was updated
Commit
7873bede3134b15e5066e8d14e54d1f5054d2063 caused new caps
event per moof without consideration of duplication.
https://bugzilla.gnome.org/show_bug.cgi?id=768268