Age | Commit message (Collapse) | Author | Files | Lines |
|
When working in push-mode, we attempt to push out everything currently
buffered in the adapter.
This has two pitfalls:
* We could stop earlier (the moment we get a non-ok or non-not-linked)
* We return the last combined flow return, which might be completely
different from the previous combined flow return
|
|
From b319909 to 86e4663
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=759119
|
|
With the VPX decoders it's not simple to use downstream buffer pool,
because we don't know the image size and alignment when buffers get
allocated. We can though use GstAllocator (for downstream, or the system
allocator) to avoid a copy before pushing if downstream supports
GstVideoMeta. This would still cause a copy for sink that requires
specialized memory and does not have a GstAllocator for that, though
it will greatly improve performance for sink like glimagesink and
cluttersink. To avoid allocating for every buffer, we also use a
internal buffer pool.
https://bugzilla.gnome.org/show_bug.cgi?id=745372
|
|
There might be multiple LOAS config in a row in a full frame. The first
one might be a multi-layer config (which we can't properly parse yet)...
but then followed by a valid (single-layer) one.
The code was previously skipping whole frames (instead of just the LOAS
config we failed to read) resulting in multiple frames (seen up to 6s in
some situation) being dropped before finally getting the configuration.
https://bugzilla.gnome.org/show_bug.cgi?id=758826
|
|
And while we're at it, also detect 'DXSA' as being a variant fourcc
of 'DXSB' for XSUB
|
|
|
|
Fixes failing ICY test. Previous provider has
streaming disabled outside UK.
https://bugzilla.gnome.org/show_bug.cgi?id=758114
|
|
auds.blockalign is set once the first caps arrive. If
gst_avi_mux_stop_file() is called before this happens then auds.blockalign
is zero and gst_avi_mux_audsink_set_fields() cause a crash:
[...]
avipad->parent.hdr.rate = avipad->auds.av_bps / avipad->auds.blockalign;
[...]
https://bugzilla.gnome.org/show_bug.cgi?id=758912
|
|
When we are resurecting a buffer, don't block. instead let us copy a
buffer.
|
|
Makes it easier to see that the event is being replaced/unrefed
|
|
Propagate the original seek seqnum to events originated from
seeking to make sure they have the same value
|
|
Makes sure upstream will unblock and return the thread so that
seeking can continue
https://bugzilla.gnome.org/show_bug.cgi?id=758861
|
|
It's not enough to have timeout or event based SPS/PPS information sent
in RTP packets. There are some scenarios when key frames may appear
more frequently than once a second, in which case the minimum timeout
for "config-interval" of 1 second for sending SPS/PPS is not sufficient.
It might also be desirable in general to make sure the SPS/PPS is
available with every keyframe (packet loss aside), so receivers can
actually pick up decoding immediately from the first keyframe if
SPS/PPS is not signaled out of band.
This patch adds the possibility to send SPS/PPS with every key frame. This
mode can be enabled by setting "config-interval" property to -1. In this
case the payloader will add SPS and PPS before every key (IDR) frame.
https://bugzilla.gnome.org/show_bug.cgi?id=757892
|
|
This way we can use -1 as special value, which is nicer than MAXUINT.
This is backwards compatible even with the GValue API, as shown by
a unit test.
https://bugzilla.gnome.org/show_bug.cgi?id=757892
|
|
Add support for demuxing Opus encapsulated in MP4 files, based on the
following spec: https://www.opus-codec.org/docs/opus_in_isobmff.html
https://bugzilla.gnome.org/show_bug.cgi?id=742643
|
|
Use _codec() macro instead of duplicating code.
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=733827
|
|
Add a variant of gst_v4l2_object_get_caps that bypasses the probed_caps cache.
https://bugzilla.gnome.org/show_bug.cgi?id=733827
|
|
|
|
If something in /dev/video* get added, removed or replaced, we need to
probe the devices again in order to ensure the dynamic devices are up to
date.
https://bugzilla.gnome.org/show_bug.cgi?id=758085
|
|
generate_rtcp can produce empty packets when reduced size RTCP is turned on.
Skip them since it doesn't make sense to push them and they cause errors with
elements that expect RTCP packets to contain data (like srtpenc).
|
|
When seeking back to restore the mdat position a flush is pushed
through and it resets downstream segment information. Make sure
that after the flush (that does a soft reset) a segment will
be pushed again
Fixes regressions spotted at
https://ci.gstreamer.net/job/GStreamer-master-validate/2100/
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=758390
|
|
Unite in fourcc.h the FourCCs that are used twice or more in qtdemux
|
|
There was some miss-match in the implementation. This makes it
concistent, though functionally it worked, except the video decoder
output-io-mode getter.
|
|
AtomTrak * trak argument of build_move_wave_extension() isn't used.
Removing it.
|
|
Use the available FourCCs in fourcc.h instead of duplicating them.
|
|
10 FourCCs generated with GST_MAKE_FOURCC() in gstqtmux.c and atoms.c
already exist in fourcc.h. Don't duplicate these and use them directly.
Plus moving 6 to fourcc.h, to centralize them all.
|
|
Update gst-launch-0.10 lines to gst-launch-1.0
|
|
Add support for muxing MP4 files containing Opus. Based on the spec
detailed here:
https://www.opus-codec.org/docs/opus_in_isobmff.html
https://bugzilla.gnome.org/show_bug.cgi?id=742643
|
|
|
|
negative and positive numbers
This fixes seeking if the first entries in the samples table are negative. The
binary search would always fail on this as the array would not be sorted if
interpreting the negative numbers as huge positive numbers. This caused us to
always output buffers from the beginning after a seek instead of close to the
seek position.
Also add a case to the comparison function for equality.
|
|
We want 1 or 2 streamheaders, the check if (bufarr->len != 1 &&
bufarr->len != 2) is enough. Not need to check if bufarr->len is <= 0 or
> 255.
|
|
g_thread_try_new allows for possiblity of failures. In case it fails,
error is not handled and leaked.
https://bugzilla.gnome.org/show_bug.cgi?id=758260
|
|
Actual code is checking for a NULL terminator and a ';' terminator,
for backward compat, in a chained way that cause all events being rejected.
The proper condition is to reject the events when terminator isn't
in ['\0', ';'] set.
https://bugzilla.gnome.org/show_bug.cgi?id=758151
|
|
Add a simple test that checks proper serialization/deserialization
of custom events with rtpgstpay and rtpgstdepay.
|
|
This adds an automatic mode to the threads property of vpxdec in order to
use as many threads as there is CPU on the platform. This brings back
GStreamer VPX decoding performance closer to what is achieved by other
players, including Chromium.
https://bugzilla.gnome.org/show_bug.cgi?id=758195
|
|
It would be unusual to have the header segment with an 'edts' atom
indicating gaps at the beginning when handling fragmented streams.
The header usually doesn't contain any timestamping information, this
should come from the playlist/manifest and the segments with media
in those scenarios.
https://bugzilla.gnome.org/show_bug.cgi?id=758171
|
|
This reverts commit d842ff288a9d01214a046becbfd9cbff3a4acea0.
This was reverted by accident
|
|
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.
|
|
This reverts commit 142d8e2d23e5602e7382977af1043d621625f8c8.
|
|
The string got using g_strdup_printf will be allocated memory
and should be freed after use.
https://bugzilla.gnome.org/show_bug.cgi?id=758161
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|