| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Only up to timescale * G_MAXINT16 is possible as cluster duration, which
is already higher than our default value. Using higher values would
cause overflows and broken files.
Based on the investigation by Nicola Murino <nicola.murino@gmail.com>
https://bugzilla.gnome.org/show_bug.cgi?id=792775
|
|
|
|
|
|
|
|
| |
or we're muxing only audio
Based on a patch by Nicola Murino <nicola.murino@gmail.com>
https://bugzilla.gnome.org/show_bug.cgi?id=792775
|
|
|
|
| |
This reverts commit 86a56cc48c521d4fbd4c73c903a58787313458d4.
|
|
|
|
|
|
|
|
|
| |
This reverts commit 326e9549e378bcc71587ba569f73755e0abc1794.
In master/1.14 this was already disabled, and the attributes are only
ever looked at when a backchannel is used. This is necessary because
various ONVIF cameras out there are implementing the attributes the
wrong way around.
|
|
|
|
|
| |
Otherwise we'll break the event order and forward the SEGMENT event
before sending a CAPS event.
|
|
|
|
|
| |
Don't report not-linked unless all pads have
returned not-linked.
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=793067
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We can't handle recvonly streams, sendonly streams are perfectly fine.
The direction is the one from the point of view of the SDP offerer
(i.e. the RTSP server), and a recvonly stream would be one where the
server expects us to send media.
RFC 3264, section 5.1:
If the offerer wishes to only send media on a stream to its peer, it
MUST mark the stream as sendonly with the "a=sendonly" attribute.
This is mixed up in the ONVIF streaming specification examples, but
actual implementations and conformance tools seem to not care at all
about the attributes.
https://bugzilla.gnome.org/show_bug.cgi?id=792376
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Raw AAC streams might have very small frames, e.g. 6 byte frames
when encoding silence. These frames are then smaller than aacparse's
default min_frame_size of 10 bytes (ADTS_MAX_SIZE).
When passthrough is disabled or aacparse has to output ADTS, GstBaseParse
will concatenate these short frames to the following frame before
handling them to aacparse, which processes each input buffer as a single
frame, producing bad output.
To avoid this problem, set the min_frame_size to 1 when receiving a raw
stream.
https://bugzilla.gnome.org/show_bug.cgi?id=792644
|
|
|
|
|
|
|
| |
This to allow the decoder to start searching for a new
frame again.
https://bugzilla.gnome.org/show_bug.cgi?id=791473
|
| |
|
|
|
|
|
|
| |
Avoids ERROR log message.
https://bugzilla.gnome.org/show_bug.cgi?id=757449
|
|
|
|
|
|
| |
This is caused by the new type propagation for g_object_ref.
https://bugzilla.gnome.org/show_bug.cgi?id=791494
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This caused broken metadata and also looks a bit dodgy.
Revert until we can figure out a solution that works for
all cases and doesn't break anything.
This reverts commit adeee44b07a173b9ab4253216caba8f66dd43abb.
https://bugzilla.gnome.org/show_bug.cgi?id=727802
https://bugzilla.gnome.org/show_bug.cgi?id=785558
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=791074
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=784749
|
|
|
|
|
|
|
| |
left shifting signed values is undefined.
Instead of doing "x << offs" which is undefined, do the equivalent
"x * (1 << offs)" which is well defined
|
|
|
|
|
|
|
|
|
| |
Otherwise baseparse will incrementally send us bigger buffers until the
full header size is reached, which is not only pointless but also means
that baseparse will reallocate and copy into a bigger buffer for every
input buffers. In pull mode that's done in 64kb increments, in push mode
usually in much smaller increments, causing a lot of overhead for
example when parsing high-quality coverart.
|
|
|
|
|
|
| |
if QtDemuxStream is reused, then we need to reset it.
https://bugzilla.gnome.org/show_bug.cgi?id=788759
|
|
|
|
|
|
|
|
| |
Returning FALSE because we drop an event means that
internal sources like qtdemux might throw an error
and break the whole pipeline. The only time it can
happen is either flushing or shutdown, and those
will be handled anyway.
|
|
|
|
|
|
|
| |
This fixes the previous range header is remained if seek to 0 is
attempted.
https://bugzilla.gnome.org/show_bug.cgi?id=779957
|
|
|
|
|
|
|
|
|
|
|
| |
Recent GnuTLS disregards the Common Name and only looks at the Subject
Alternative Name extension. Since our test-cert has no SAN extension,
validation fails.
Generate a new certificate with SAN. In addition to 127.0.0.1, for good
measure make it valid for localhost and ::1, too.
https://bugzilla.gnome.org/show_bug.cgi?id=784005
|
|
|
|
|
|
|
|
|
|
| |
SoupSession's ssl-ca-file property is deprecated. Use the recommended
tls-database property.
This is a bit more complex as it requires creating a GTlsFileDatabase
object for an absolute (!) path to the CA certificates file.
https://bugzilla.gnome.org/show_bug.cgi?id=784005
|
|
|
|
|
|
|
| |
The ssl-cert-file and ssl-key-file properties are deprecated. Use the
soup_server_set_ssl_cert_file function to load the files.
https://bugzilla.gnome.org/show_bug.cgi?id=784005
|
|
|
|
|
|
| |
Just a bit of cleanup.
https://bugzilla.gnome.org/show_bug.cgi?id=784005
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a regression introduced by "03db374 - souphttpsrc: retry
request on early termination from the server"
The problem was that when seeking back to 0, we would not end up calling
add_range_header() which in addition to adding range headers *ALSO* sets
the read_position to the requested one.
This would result in a wide variety of later failures, like reading
again and again instead of stopping properly.
|
|
|
|
|
|
|
|
| |
This define was only added in Linux 4.8. This commit is for the stable
branch only, since we want to avoid bumping the v4l headers in fear of
regressions.
https://bugzilla.gnome.org/show_bug.cgi?id=789197
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With GST_V4L2_USE_LIBV4L2=1, my laptop's touchpad shows up as a video
source device in gst-device-monitor, but attempting to stream from it
fails because the device doesn't actually support any video formats.
name : Synaptics RMI4 Touch Sensor
class : Video/Source
caps : video/x-raw, format=(string)I420, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)0, height=(int)0, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1;
video/x-raw, format=(string)YV12, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)0, height=(int)0, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1;
video/x-raw, format=(string)BGR, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)0, height=(int)0, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1;
video/x-raw, format=(string)RGB, framerate=(fraction)[ 0/1, 2147483647/1 ], width=(int)0, height=(int)0, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1;
properties:
udev-probed = true
device.bus_path = /sys/devices/rmi4-00/rmi4-00.fn54/video4linux/v4l-touch0
sysfs.path = /sys/devices/rmi4-00/rmi4-00.fn54/video4linux/v4l-touch0
device.subsystem = video4linux
device.product.name = "Synaptics\ RMI4\ Touch\ Sensor"
device.capabilities = :capture:
device.api = v4l2
device.path = /dev/v4l-touch0
v4l2.device.driver = rmi4_f54
v4l2.device.card = "Synaptics\ RMI4\ Touch\ Sensor"
v4l2.device.bus_info = rmi4:rmi4-00.fn54
v4l2.device.version = 265480 (0x00040d08)
v4l2.device.capabilities = 2501902337 (0x95200001)
v4l2.device.device_caps = 354418689 (0x15200001)
gst-launch-1.0 v4l2src device=/dev/v4l-touch0 ! ...
v4l2-ctl -d /dev/v4l-touch0 --list-formats reports:
ioctl: VIDIOC_ENUM_FMT
Index : 0
Type : Video Capture
Pixel Format: 'TD16'
Name : 16-bit signed deltas
Index : 1
Type : Video Capture
Pixel Format: 'TD08'
Name : 8-bit signed deltas
Index : 2
Type : Video Capture
Pixel Format: 'TU16'
Name : 16-bit unsigned touch data
https://bugzilla.gnome.org/show_bug.cgi?id=789197
|
|
|
|
|
|
|
|
|
| |
This code basically skip over codec_data with empty payload. In
this case, the codec_data variable is the size of the header for
the CODEC part of Video Tag. The remaining is supposed to be the
H.264 codec data, hence should not be empty.
https://bugzilla.gnome.org/show_bug.cgi?id=787795
|
|
|
|
|
|
|
|
| |
If it's not specified, we should let the decoder figure it out.
Apparently the code was already in place, all was to make the code
conditional.
https://bugzilla.gnome.org/show_bug.cgi?id=787795
|
|
|
|
|
|
|
|
| |
When a truncated FLV is provided and processed in pull mode, we
may endup trying to pull passed EOS, causing a rather confusing
warning as the pull offset is an integer overflow.
https://bugzilla.gnome.org/show_bug.cgi?id=787795
|
|
|
|
|
|
|
| |
If the CTS is negative an would lead to a negtive PTS, clip
the CTS so the PTS will be 0.
https://bugzilla.gnome.org/show_bug.cgi?id=787795
|
|
|
|
|
| |
We're never going to receive anything from them, so don't create pads
for them. These medias are destinations where *we* could send something.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
This was not fully handled in switches and
ub gst_v4l2_object_get_colorspace();
https://bugzilla.gnome.org/show_bug.cgi?id=787313
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=787160
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=787254
|
|
|
|
|
|
|
|
| |
If one requests the send_rtcp_src_%u pad before a recv_rtcp_sink_%u pad,
the session/pad would never be created and NULL was returned.
Switching the request order would work.
https://bugzilla.gnome.org/show_bug.cgi?id=786718
|
|
|
|
| |
From 48a5d85 to dd9d403
|
|
|
|
| |
With some fixes by me.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes a memory leak. When dropframe-threshold has been set,
libvpx may output less frames than the input ones, which causes
some GstVideoCodecFrames to queue up in GstVideoEncoder's internal
frame queue with no chance of ever being all released. And because
the frames keep references to the input buffers, the input buffer
pool keeps allocating new buffers and memory usage grows very fast.
For example the following pipeline's memory usage grows at a rate
of about 1GB per minute!
videotestsrc ! capsfilter caps=video/x-raw,width=1920,height=1080,framerate=30/1,format=I420 ! \
vp8enc target-bitrate=1000000 end-usage=cbr dropframe-threshold=95 ! fakesink
https://bugzilla.gnome.org/show_bug.cgi?id=783086
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Callers of the API (rtpsource, rtpjitterbuffer) pass clock_rate
as a signed integer, and the comparison "<= 0" is used against
it, leading me to think the intention was to have the field
be typed as gint32, not guint32.
This led to situations where we could call scale_int with
a MAX_UINT32 (-1) guint32 as the denom, thus raising an
assertion.
https://bugzilla.gnome.org/show_bug.cgi?id=785991
|