| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When playing a stream that has been protected by DASH CENC, playback
will fail if a seek is performed. Qtdemux produces the error "stream
is protected using cenc, but no cenc protection system information
has been found" and playback stops.
The problem is that gst_qtdemux_reset() gets called as part of the
FLUSH during a seek. This function frees the protection_system_ids
array. When gst_qtdemux_configure_protected_caps() is called after the
seek has completed, the protection_system_ids array is empty and
qtdemux is unable to create the correct output caps for the protected
stream.
This commit changes it to only free the protection_system_ids on
hard resets.
https://bugzilla.gnome.org/show_bug.cgi?id=761787
|
|
|
|
|
|
| |
This reverts commit 1c65828968f4b0c7c344bf46606af3404698d444.
Didn't mean to push this patch to 1.6
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 0dd46accf6d282ff07065852bd91c85c78af3394.
With some audiosinks, starting the ringbuffer on the first commit
causes audio glitches at startup by starting to output segments
from the ringbuffer before it has been filled / fully prerolled. This
doesn't usually happen with pulsesink because we map the pulseaudio
ringbuffer directly, but we should keep things consistent with
other sinks with regards to startup latency, plus it gives more
headway to avoid glitching, should the initial 2nd segment take
more than 10ms to generate.
https://bugzilla.gnome.org/show_bug.cgi?id=657076
|
|
|
|
|
|
|
|
| |
The event is named application/x-gst-dvd-frame-size instead of
application/x-gst-dvd, otherwise the clut event might be overwritten by
this one since both are sticky.
https://bugzilla.gnome.org/show_bug.cgi?id=685282
|
| |
|
| |
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=764933
|
|
|
|
|
|
|
|
| |
gst_v4l2_object_get_caps_info() always return V4L2_PIX_FMT_SBGGR8
for all bayer formats. This is obviously broken if the device use
another ordering. Fix this by properly reading the format parameter.
https://bugzilla.gnome.org/show_bug.cgi?id=763318
|
|
|
|
|
|
|
|
| |
Replicate V4L2_MAP_QUANTIZATION_DEFAULT macro behavior.
At #v4l it was described that documentation might be wrong and that
we should trust this macro instead.
https://bugzilla.gnome.org/show_bug.cgi?id=762529
|
|
|
|
|
|
|
|
| |
This time, check if it's an RGB format and sets the transformation
matrix to identity. The rest of the colorimetry information is
meaningfull and shall be kept.
https://bugzilla.gnome.org/show_bug.cgi?id=759624
|
|
|
|
|
| |
V4l2 can also use the sRGB colorspace for YUV formats and thus needs a
default matrix.
|
|
|
|
|
|
| |
On POSIX, IP_MULTICAST_LOOP is a setting for the sender socket. On Windows it
is a setting for the receiver socket. As such we will need it on udpsrc too to
allow filtering out our own multicast packets.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
DISCONT
After clearing the adapter due to a DISCONT, as might happen when some packet(s)
have been lost, the depayloader was pushing data into the adapter (which had no
header due to the clear), creating a headerless frame out of it, and sending it
downstream. The downstream decoder would then usually ignore it; unless there
were lots of DISCONTs from the jitterbuffer in which case the decoder would reach
its max_errors limit and throw an element error. Now we just discard that data.
It is probaby not worth trying to salvage this data because non-progressive
jpeg does not degrade gracefully and makes the video unwatchable even with
low packet loss such as 3-5%.
|
|
|
|
|
|
|
|
| |
RFC 2435 mentions in section 4.1 that U/V use table number 1, but this seems
just like an example. Some encoders are not following that and there seems to
be no reason to reject their streams.
https://bugzilla.gnome.org/show_bug.cgi?id=761345
|
|
|
|
|
|
|
|
| |
This allows splitmuxsink to be reused after being put to NULL.
Test included
https://bugzilla.gnome.org/show_bug.cgi?id=762893
|
|
|
|
|
|
|
|
|
|
|
| |
On Windows the socket will be bound to ANY instead of the multicast group,
as binding to a multicast group does not work. Which would mean that we
override src->addr to become ANY and won't automatically join a multicast
group anymore on Windows.
On Linux we would automatically join a multicast group, keep it consistent.
https://bugzilla.gnome.org/show_bug.cgi?id=763093
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=757569
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=755106
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=755106
|
|
|
|
|
|
|
|
|
|
|
| |
Making the event itself writable is not enough, it won't make
the actual taglist in the event writable as well. Instead, just
make a copy of the taglist and then create a new tag event from
that if required, replacing the old one. Before we would
inadvertently modify taglists upstream elements might still
be holding on to. Add unit test for this as well.
https://bugzilla.gnome.org/show_bug.cgi?id=762793
|
|
|
|
| |
udpsrc is not returning us a socket in that case.
|
|
|
|
|
|
|
|
|
|
| |
When the cenc metadata is stored outside of the moof box and the
stream is exposed it is possible that the cenc metadata hasn't been
processed yet while the first buffer is being pushed. When this
happens the buffer can't possibly be decrypted downstream so don't
push it.
https://bugzilla.gnome.org/show_bug.cgi?id=762516
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=756897
|
| |
|
|
|
|
|
|
|
|
|
|
| |
has_current_caps()
Remove calls to gst_pad_has_current_caps() which then go on to call
gst_pad_get_current_caps() as the caps can go to NULL in between. Instead just
use gst_pad_get_current_caps() and check for NULL.
https://bugzilla.gnome.org/show_bug.cgi?id=759539
|
|
|
|
|
|
| |
This can happen when the pipeline is currently shutting down.
https://bugzilla.gnome.org/show_bug.cgi?id=759539
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=762542
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=762542
|
|
|
|
|
|
|
|
|
|
| |
If we have an error during fwrite call, file stays open and thus next
incoming buffer will trigger an assert when trying to opening a new
file.
This happens if we do not restart element, file is closed at stop, and
if application handles the returned GST_FLOW_ERROR to keep bin alive.
https://bugzilla.gnome.org/show_bug.cgi?id=762434
|
|
|
|
|
|
| |
buffer being mapped is not being unmapped in some cases
https://bugzilla.gnome.org/show_bug.cgi?id=762420
|
|
|
|
|
|
| |
This is a normal scenario and should not be a warning.
https://bugzilla.gnome.org/show_bug.cgi?id=762208
|
|
|
|
|
|
| |
Instead of erroring out, just use the default color table.
https://bugzilla.gnome.org/show_bug.cgi?id=761637
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=762210
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=762209
|
| |
|
|
|
|
|
|
|
|
| |
Set GSETTINGS_BACKEND=memory, apparently there's something
about fork() and the dconf backend (or whatever else that
drags in or activates) that messes up locking and causes
timeouts due to deadlocks in g_mutex_lock(), since
everything works fine with CK_FORK=no as well.
|
|
|
|
|
|
|
| |
Otherwise it will be mapped writable all the time and we can't read from it
anywhere.
https://bugzilla.gnome.org/show_bug.cgi?id=762239
|
|
|
|
|
|
| |
codec_name is not being freed in all conditions leading to memory leak
https://bugzilla.gnome.org/show_bug.cgi?id=762117
|
|
|
|
|
|
|
|
|
| |
We already pass the entire frame to the decoder. If the decoder ask for
more data, don't pass the same data again as this leads to infinit loop.
Instead, simply fail the fill function to signal the problem with that
frame. It will then be skipped properly.
https://bugzilla.gnome.org/show_bug.cgi?id=761670
|
|
|
|
|
|
| |
For APP/JPG markers the size is following and we have to skip that. This is
not really a problem unless the marker contains e.g. a preview JPEG or
something else that we might interprete as another marker.
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 4065fcb80a49924b70f0c8fc159dec0ff47943a1.
flacparse should not push tags by itself, the base class is going to do that
while properly merging in upstream tags. It just didn't because of a bug in
the base class, which was hidden by this commit.
https://bugzilla.gnome.org/show_bug.cgi?id=763553
|
|
|
|
|
|
|
| |
Push a tag event before pre-roll if we have tags.
This issue breaks tag reading via GstDiscoverer:
https://bugzilla.gnome.org/show_bug.cgi?id=762660
|
|
|
|
|
|
| |
the resolution changes
https://bugzilla.gnome.org/show_bug.cgi?id=762765
|
| |
|
| |
|
|
|
|
| |
Otherwise we're going to dereference NULL pointers.
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=760666
|
|
|
|
|
|
|
|
| |
All code paths for handle_frame() must somehow take ownership of the frame, be
it by actually unreffing, forwarding the frame elsewhere or storing it for
later.
http://bugzilla.gnome.org/show_bug.cgi?id=760666
|
|
|
|
|
|
| |
FALSE would mean FLOW_OK
https://bugzilla.gnome.org/show_bug.cgi?id=760666
|