Guillaume Desmottes [Fri, 13 May 2016 13:12:22 +0000 (15:12 +0200)]
deinterleave: fix leaks
- Flush the bus so messages aren't leaked
- Fix pad leak
https://bugzilla.gnome.org/show_bug.cgi?id=766561
Sebastian Dröge [Fri, 17 Jun 2016 12:29:16 +0000 (15:29 +0300)]
rtph264pay: Deprecated sprop-parameter-set property
This is supposed to be either in the codec_data (avc stream format) or inside
the stream, and we extract it from there. It should not be set from a
property as it's stream specific.
https://bugzilla.gnome.org/show_bug.cgi?id=767789
Aleix Conchillo Flaqué [Fri, 17 Jun 2016 19:16:32 +0000 (12:16 -0700)]
rtspsrc: make all srtp encoder properties explicit
The Session Data Protocol doesn't allow specifying a cipher for the
SRTCP, so it will use the SRTP one. In the "srtpenc" element the cipher
"aes-128-icm" is the default for SRTP and SRTCP, but if we want to have
an SRTCP with the "aes-256-icm" cipher then we also need to set the SRTP
cipher to "aes-256-icm", otherwise "aes-128-icm" will be used instead.
https://bugzilla.gnome.org/show_bug.cgi?id=767799
Tim-Philipp Müller [Fri, 17 Jun 2016 18:59:13 +0000 (19:59 +0100)]
soup: work around frequent deadlocks in GLib type initialisation
.. by registering the types from the plugin init function. This
seems to help, but we'll see if it's enough (might need similar
things elsewhere).
https://bugzilla.gnome.org/show_bug.cgi?id=693911
https://bugzilla.gnome.org/show_bug.cgi?id=674885
Sebastian Dröge [Fri, 17 Jun 2016 13:08:08 +0000 (16:08 +0300)]
qtmux: The prores variant is stored in the variant field, not format
And the caps in the sink pad template already used variant (only).
Jonas Holmberg [Fri, 17 Jun 2016 11:00:48 +0000 (13:00 +0200)]
rtph265pay: Remove sprop-parameter-sets property
There is no valid use case when this property is needed since the values
must be in either codec_data or buffer data.
https://bugzilla.gnome.org/show_bug.cgi?id=753760
Jonas Holmberg [Fri, 10 Jun 2016 14:17:26 +0000 (16:17 +0200)]
rtph265pay: Read NALU type the same way everywhere
Cosmetic change to read NALU type in gst_rtp_h265_pay_decode_nal() the
same way as in other places.
https://bugzilla.gnome.org/show_bug.cgi?id=753760
Aurélien Zanelli [Fri, 17 Jun 2016 11:58:33 +0000 (13:58 +0200)]
rtpjitterbuffer: fix RTPJitterBufferMode documentation
Documentation lacks '@' before each enum values and there was an extra
line after symbol section which confuses GTK-Doc parser.
https://bugzilla.gnome.org/show_bug.cgi?id=767788
Miguel París Díaz [Mon, 23 May 2016 08:18:48 +0000 (10:18 +0200)]
rtpsession: take the lock when changing stats
https://bugzilla.gnome.org/show_bug.cgi?id=766025
Jürgen Slowack [Wed, 15 Jun 2016 09:19:43 +0000 (11:19 +0200)]
rtph265: fix NAL unit type parsing and SPS/PPS/VPS detection
Fixes sps/pps/vps insertion via the config-interval property.
https://bugzilla.gnome.org//show_bug.cgi?id=767680
Sebastian Dröge [Sat, 11 Jun 2016 09:16:03 +0000 (12:16 +0300)]
simple-launch-lines: Use correct JPEG2000 caps
Tim-Philipp Müller [Fri, 10 Jun 2016 12:43:09 +0000 (13:43 +0100)]
flvdemux: fix indentation
Tim-Philipp Müller [Fri, 10 Jun 2016 12:42:01 +0000 (13:42 +0100)]
flvdemux: fix date parsing when there are trailing spaces
Fixes parsing of "Thu May 11 15:57:46 2006 ".
https://bugzilla.gnome.org/show_bug.cgi?id=767496
Aaron Boxer [Fri, 13 May 2016 19:08:24 +0000 (15:08 -0400)]
gstrtpj2k: set sampling field required by RFC
This field is now required in the sink caps.
https://bugzilla.gnome.org/show_bug.cgi?id=766236
Seungha Yang [Thu, 9 Jun 2016 00:30:48 +0000 (09:30 +0900)]
flvdemux: Fix unref assertion failure
Fix unref assertion failure
https://bugzilla.gnome.org/show_bug.cgi?id=767424
Olivier Crête [Sat, 14 May 2016 12:46:17 +0000 (14:46 +0200)]
rtpjitterbuffer: Work with non-TIME segments
With non-time segments, it now assumes that the arrival time of packets
is not relevant and that only the RTP timestamp matter and it produces
an output segment start at running time 0.
https://bugzilla.gnome.org/show_bug.cgi?id=766438
Nicolas Dufresne [Wed, 8 Jun 2016 00:53:34 +0000 (20:53 -0400)]
pngdec: Wait for segment event before checking it
The heuristic to choose between packetise or not was changed to use the
segment format. The problem is that this change is reading the segment
during the caps event handling. The segment event will only be sent
after. That prevented the decoder to go in packetize mode, and avoid
useless parsing.
https://bugzilla.gnome.org/show_bug.cgi?id=736252
Nicolas Dufresne [Mon, 6 Jun 2016 21:00:22 +0000 (17:00 -0400)]
jpegdec: Wait for segment event before checking it
The heuristic to choose between packetise or not was change to use the
segment format. The problem is that this change is reading the segment
during the caps event handling. The segment event will only be sent
after. That prevented the decoder to go in packetize mode, and avoid
useless parsing.
https://bugzilla.gnome.org/show_bug.cgi?id=736252
Nicolas Dufresne [Tue, 7 Jun 2016 20:42:09 +0000 (16:42 -0400)]
v4l2videodec: Keep part of the input buffer
Instead of completely getting rid of the input buffer, copy
the metadata, the flags and the timestamp into an empty buffer.
This way the decoder base class can copy that information again
to the output buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=758424
Nicolas Dufresne [Tue, 7 Jun 2016 20:41:58 +0000 (16:41 -0400)]
v4l2videodec: Coding style fixes
Nicolas Dufresne [Tue, 7 Jun 2016 20:09:23 +0000 (16:09 -0400)]
v4l2object: Coding style fixes
Nicolas Dufresne [Tue, 7 Jun 2016 20:04:52 +0000 (16:04 -0400)]
v4l2: Add an error return to _try/_set_format
This way one can easily ignore errors. Previously, error were always
posted ont he bus.
https://bugzilla.gnome.org/show_bug.cgi?id=766172
Nicolas Dufresne [Tue, 7 Jun 2016 20:01:55 +0000 (16:01 -0400)]
v4l2-util: Introduce GstV4l2Error
This is to allow returning an error that can easily be sent as
message to the application if the element needs it. Using this
also allow ignoring errors.
https://bugzilla.gnome.org/show_bug.cgi?id=766172
Nicolas Dufresne [Tue, 7 Jun 2016 16:41:19 +0000 (12:41 -0400)]
v4l2src: Avoid decide allocation on active pool
v4l2src will renegotiate only if the format have changed. As of now,
it's not possible to change the allocationw without resetting the
camera. To avoid unwanted side effect, simply keep the old allocation
if no renegotiation is taking place. This fixes assertion and possible
failures in USERPTR or DMABUF import mode (when using downstream pools).
https://bugzilla.gnome.org/show_bug.cgi?id=754042
Edward Hervey [Thu, 28 Apr 2016 11:44:49 +0000 (13:44 +0200)]
qtdemux: Show state name in debugging
Makes it easier to trace what's going on
Edward Hervey [Tue, 10 May 2016 13:45:42 +0000 (15:45 +0200)]
qtdemux: Remove useless variable
That variable is only needed for a debug statement, move it there
Edward Hervey [Tue, 10 May 2016 13:10:36 +0000 (15:10 +0200)]
qtdemux: Add/Fix comments on the various structure variables
No variables were added/removed. This was just a good excuse to:
* Comment what most variables are used for (and when)
* Order them in such a way as to show first the common variables used
in all cases, followed by those only used in push-mode
Edward Hervey [Tue, 10 May 2016 13:07:40 +0000 (15:07 +0200)]
qtdemux: Remove unused structure
Let's just remove it, been commented for 7+ years :)
Philipp Zabel [Wed, 2 Sep 2015 09:48:29 +0000 (11:48 +0200)]
v4l2videodec: use decoder stop command instead of queueing empty buffers
Only if the decoder stop command fails, keep queueing empty buffers to
signal end of stream as before.
https://bugzilla.gnome.org/show_bug.cgi?id=733864
Peter Seiderer [Fri, 12 Dec 2014 13:31:36 +0000 (14:31 +0100)]
v4l2videodec: add gst_v4l2_decoder_cmd helper
https://bugzilla.gnome.org/show_bug.cgi?id=733864
Sebastian Dröge [Wed, 1 Jun 2016 17:28:39 +0000 (20:28 +0300)]
qtdemux: Forward segments directly if we are operating in PUSH mode on fragmented streams
We shouldn't go through segment activation as we will only have a limited
understanding of how the whole stream timeline looks like from the moof. We
only know about the current fragment, while upstream knows about the whole
stream.
This fixes seeking in DASH streams, both for seeks after the current moof and
for seeks into the current moof. The former would fail because the moof ends
and we can't activate any segment, the latter would cause a segment that stops
at the moof end, and no further fragments would be played because we end up
being EOS.
https://bugzilla.gnome.org/show_bug.cgi?id=767071
Nicolas Dufresne [Mon, 6 Jun 2016 21:54:10 +0000 (17:54 -0400)]
v4l2transform: Use looser caps for upstream
When we fixate for upstream, try to not introduce new fields when not
needed. This was imported from videoconvert element.
Enrico Jorns [Wed, 28 Jan 2015 11:07:58 +0000 (12:07 +0100)]
gstv4l2transform: format fixation for preferring passthrough
* If outgoing format is unfixated, try to set it to input format.
* Call gst_caps_fixate () at end of fixation routine
https://bugzilla.gnome.org/show_bug.cgi?id=766719
Philipp Zabel [Fri, 20 May 2016 10:49:53 +0000 (12:49 +0200)]
v4l2transform: allow to change pixel aspect ratio
Scalers may change width and height independently,
allow to change pixel aspect ratio.
https://bugzilla.gnome.org/show_bug.cgi?id=766712
Philipp Zabel [Fri, 20 May 2016 10:32:25 +0000 (12:32 +0200)]
v4l2transform: fix scaling in case of fixed pixel aspect ratio
To change pixel aspect ratio from DAR to PAR, the necessary scaling factor
is DAR/PAR, not DAR*PAR.
For good measure, add debug output similar to the fixed-width and
fixed-height cases.
https://bugzilla.gnome.org/show_bug.cgi?id=766711
Philipp Zabel [Fri, 13 May 2016 14:39:25 +0000 (16:39 +0200)]
v4l2object: fill colorimetry in gst_v4l2_object_acquire_format
Instead of relying on the default colorimetry chosen by
gst_video_info_set_format(), set info.colorimetry from the
values returned by G_FMT. This allows decoders to propagate
their input colorimetry downstream.
https://bugzilla.gnome.org/show_bug.cgi?id=766383
Philipp Zabel [Wed, 18 May 2016 08:17:12 +0000 (10:17 +0200)]
v4l2object: refactor gst_v4l2_object_get_colorspace to take a v4l2_format parameter
Move the extraction of colorimetry parameters from struct v4l2_format and the
setting of the identity matrix for RGB formats into the function to avoid code
duplication.
https://bugzilla.gnome.org/show_bug.cgi?id=766383
Philipp Zabel [Fri, 13 May 2016 12:58:41 +0000 (14:58 +0200)]
v4l2videodec: use visible size, not coded size, for downstream negotiation filter
gst_v4l2_probe_caps() returns the coded size, not the visible size. Subtract
the known padding from probed caps with the coded size before using them as
filter for caps negotiation with downstream elements.
https://bugzilla.gnome.org/show_bug.cgi?id=766382
Philipp Zabel [Fri, 13 May 2016 12:45:02 +0000 (14:45 +0200)]
v4l2object: use G_SELECTION instead of G_CROP in gst_v4l2_object_acquire_format
The gst_v4l2_object_acquire_format() function is used by v4l2videodec to obtain
the currently set capture format. Since G_FMT returns the coded size, the
visible size needs to be obtained from the compose rectangle in order to
negotiate it with downstream elements. The G_CROP call hasn't worked on mem2mem
capture queues for a long time. Instead use the G_SELECTION call to obtain the
compose rectangle and only fall back to G_CROP for ancient kernels.
https://bugzilla.gnome.org/show_bug.cgi?id=766381
Andreas Naumann [Wed, 27 Jan 2016 08:57:38 +0000 (09:57 +0100)]
v4l2sink: Use V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY if driver advertises it.
On modern kernels, the G/S_FMT ioctls will always fail using
V4L2_BUF_TYPE_VIDEO_OVERLAY with VFL_DIR_TX (e.g. real overlay out drivers)
since this is not the intented use (rather rx, according to v4l2 API doc).
Probably this is why the Video Output Overlay interface was created, so if
the driver advertises it we might as well use.
For old kernels (pre 2012) the old way might still work so keeping this for
compatibility.
https://bugzilla.gnome.org/show_bug.cgi?id=761165
Kieran Bingham [Mon, 6 Jun 2016 17:52:01 +0000 (18:52 +0100)]
v4l2object: Use non-deprecated V4L2 type for RGB15
Support for the updated V4L2_PIX_FMT_XRGB555 was added in commit
2538fee2fd8fdb74b05f0a511281bc4707e7cc44 however, when setting the format
for use in v4l2 ioctls, the old deprecated format is still used. Convert
this to the new accepted format type, as the preferred format.
https://bugzilla.gnome.org/show_bug.cgi?id=767300
Michael Olbrich [Wed, 4 May 2016 12:50:32 +0000 (14:50 +0200)]
matroskademux: preserve seek flags
Without this some flags get lost in streaming mode.
https://bugzilla.gnome.org/show_bug.cgi?id=767194
Sebastian Dröge [Mon, 6 Jun 2016 07:47:52 +0000 (10:47 +0300)]
Revert "WIP revert soup"
This reverts commit
fdac3a7a231f3848665636cf8122f96103b46e3b.
Was not supposed to be pushed but a local workaround for
https://bugzilla.gnome.org/show_bug.cgi?id=693911#c13
Miguel París Díaz [Fri, 3 Jun 2016 11:09:35 +0000 (13:09 +0200)]
rtpsource: complete warn log with SSRC
https://bugzilla.gnome.org/show_bug.cgi?id=767195
Sebastian Dröge [Tue, 31 May 2016 12:29:13 +0000 (15:29 +0300)]
WIP revert soup
Sebastian Dröge [Fri, 3 Jun 2016 10:18:31 +0000 (13:18 +0300)]
dvdemux: Unref seek event in any case
It would be leaked if no seek handler was currently set.
Sebastian Dröge [Fri, 3 Jun 2016 07:49:17 +0000 (10:49 +0300)]
dvdemux: Properly set event/message sequence numbers based on the previous seek
See https://bugzilla.gnome.org/show_bug.cgi?id=765935
https://bugzilla.gnome.org/show_bug.cgi?id=767157
Sebastian Dröge [Fri, 3 Jun 2016 07:36:32 +0000 (10:36 +0300)]
dvdemux: Remember if upstream had a time segment and if not properly create time segments
Previously the segment.time was wrong, and the position was not updated
correctly, resulting in seeks in PUSH mode with upstream providing a BYTES
segment to not work at all.
https://bugzilla.gnome.org/show_bug.cgi?id=767157
Sebastian Dröge [Fri, 3 Jun 2016 06:54:53 +0000 (09:54 +0300)]
dvdemux: Implement SEEKING query so we can actually seek if upstream can't seek in TIME
https://bugzilla.gnome.org/show_bug.cgi?id=767157
Sebastian Dröge [Thu, 2 Jun 2016 11:19:15 +0000 (14:19 +0300)]
dvdemux: Recalculate the frame offsets at the beginning of each BYTE segment and whenever upstream gives us a timestamp
This fixes seeking in DV streams where upstream operates in PUSH mode with a
TIME segment (e.g. avidemux). Without this, we would generate wrong durations
and timestamps after a seek.
https://bugzilla.gnome.org/show_bug.cgi?id=767157
Sebastian Dröge [Thu, 2 Jun 2016 10:53:44 +0000 (13:53 +0300)]
dvdemux: Pass-through buffer DISCONT flags
https://bugzilla.gnome.org/show_bug.cgi?id=767157
Olivier Crête [Thu, 2 Jun 2016 20:16:45 +0000 (16:16 -0400)]
rtpvp9depay: Don't assert on flexible mode packets
Instead just post a warning on the bus for now.
Guillaume Desmottes [Thu, 2 Jun 2016 13:03:17 +0000 (15:03 +0200)]
tests: rtpbin: fix caps leak
https://bugzilla.gnome.org/show_bug.cgi?id=767156
Guillaume Desmottes [Thu, 2 Jun 2016 13:00:01 +0000 (15:00 +0200)]
tests: amrparse: clean up test
- use GST_CHECK_MAIN() to reduce boilerplate
- unref the input caps using a teardown function to prevent leaks
https://bugzilla.gnome.org/show_bug.cgi?id=767156
Edward Hervey [Fri, 20 May 2016 13:22:35 +0000 (15:22 +0200)]
deinterlace: Ensure DISCONT flag is properly propagated
The output of deinterlace at startup, or when receiving a new DISCONT
buffer, should have the DISCONT flag set on the first buffer.
Josep Torra [Tue, 31 May 2016 19:34:04 +0000 (21:34 +0200)]
v4l2src: check for valid size on raw video buffers
Discard buffers that doesn't contain enough data when dealing
with raw video inputs.
https://bugzilla.gnome.org/show_bug.cgi?id=767086
Sebastian Dröge [Tue, 31 May 2016 14:10:36 +0000 (17:10 +0300)]
qtdemux: Use the demuxer segment instead of a new one for MSS streams
Upstream might have told us something about the to be expected segment, so
let's use that information instead of coming up with a [0,-1] segment.
https://bugzilla.gnome.org/show_bug.cgi?id=767071
Sebastian Dröge [Tue, 31 May 2016 14:04:32 +0000 (17:04 +0300)]
qtdemux: Only activate segments and send SEGMENT events if we have streams
But in that case also remove the pending newsegment event, otherwise we would
later send a possibly outdated event.
https://bugzilla.gnome.org/show_bug.cgi?id=767071
Sebastian Dröge [Tue, 31 May 2016 13:53:50 +0000 (16:53 +0300)]
qtdemux: In PULL mode, nothing is ever going to send us a SEGMENT event
https://bugzilla.gnome.org/show_bug.cgi?id=767071
Sebastian Dröge [Tue, 31 May 2016 13:38:34 +0000 (16:38 +0300)]
qtdemux: Don't override TIME segments from upstream that we just saw
The point of
d8fb7a9c96b108814beeaa0e63f818d4648c7fe9 was to not have any
spurious segments stored for later if we do BYTES->TIME conversion, but
overriding any TIME segments from upstream does not make any sense.
See https://bugzilla.gnome.org/show_bug.cgi?id=763165
https://bugzilla.gnome.org/show_bug.cgi?id=767071
Prashant Gotarne [Thu, 16 Jul 2015 04:18:46 +0000 (09:48 +0530)]
multifilesrc: set position as offset from start-index
query position in GST_FORMAT_BUFFER returns
offset from start-index rather than index.
https://bugzilla.gnome.org/show_bug.cgi?id=752462
Tim-Philipp Müller [Fri, 27 May 2016 11:49:32 +0000 (12:49 +0100)]
tests: add unit test for JPEG-2000 rtp payloader leak
https://bugzilla.gnome.org/show_bug.cgi?id=766870
Pierre Lamot [Wed, 25 May 2016 15:11:13 +0000 (17:11 +0200)]
rtpj2kpay: Fix buffer memory leak
Input buffer memory was not unmapped
https://bugzilla.gnome.org/show_bug.cgi?id=766870
Guillaume Desmottes [Wed, 18 May 2016 09:12:15 +0000 (12:12 +0300)]
v4l2object: fix caps leak
gst_v4l2_object_probe_caps() was taking an extra ref on the returned
caps for no reason.
https://bugzilla.gnome.org/show_bug.cgi?id=766610
Tim-Philipp Müller [Sun, 22 May 2016 19:14:18 +0000 (20:14 +0100)]
videocrop mark crop properties as mutable in playing state
Guillaume Desmottes [Fri, 20 May 2016 13:47:35 +0000 (16:47 +0300)]
souphttpsrc: fix buffer leak when flushing
When early returning in gst_soup_http_src_read_buffer() because the
element is FLUSHING, we need to unmap and unref the buffer which was just created.
https://bugzilla.gnome.org/show_bug.cgi?id=766718
Sebastian Dröge [Fri, 20 May 2016 08:15:44 +0000 (11:15 +0300)]
qtdemux: Set seek event seqnum on all SEGMENT events
Some were forgotten.
See https://bugzilla.gnome.org/show_bug.cgi?id=765935
Sebastian Dröge [Fri, 20 May 2016 08:12:44 +0000 (11:12 +0300)]
avidemux: Pass through seek event seqnums in all SEGMENT/EOS events and SEGMENT_DONE messages/events
See https://bugzilla.gnome.org/show_bug.cgi?id=765935
Sebastian Dröge [Fri, 20 May 2016 07:56:52 +0000 (10:56 +0300)]
matroskademux: Set seek event seqnum in EOS and SEGMENT_DONE messages/events
Also actually store the seqnum in pull mode seeks.
See https://bugzilla.gnome.org/show_bug.cgi?id=765935
Guillaume Desmottes [Tue, 17 May 2016 10:40:38 +0000 (13:40 +0300)]
deinterlace: fix caps leak
The caps returned by gst_pad_get_current_caps() was never unreffed when
not early returning.
Fix a leak with the elements/deinterlace test.
https://bugzilla.gnome.org/show_bug.cgi?id=766558
Mikhail Fludkov [Mon, 25 Jan 2016 15:25:51 +0000 (16:25 +0100)]
rtpsession: don't act on suspicious BYE RTCP
Some endpoints (like Tandberg E20) can send BYE packet containing our
internal SSRC. I this case we would detect SSRC collision and get rid
of the source at some point. But because we are still sending packets
with that SSRC the source will be recreated immediately.
This brand new internal source will not have some variables incorrectly
set in its state. For example 'seqnum-base` and `clock-rate` values will be
-1.
The fix is not to act on BYE RTCP if it contains internal or unknown
SSRC.
https://bugzilla.gnome.org/show_bug.cgi?id=762219
Mikhail Fludkov [Sun, 15 Nov 2015 13:54:28 +0000 (14:54 +0100)]
rtpsession: Add test for locking of the stats signal
Keeping the lock while emitting the stats signal introduces potential
deadlock in those situations when the signal callback wants the access
to rtpsession's properties which also requre the lock.
https://bugzilla.gnome.org/show_bug.cgi?id=762216
Seungha Yang [Thu, 19 May 2016 06:36:57 +0000 (15:36 +0900)]
matroskademux: don't hold object lock whilst pushing out headers
matroskademux would take the GST_OBJECT_LOCK in
- gst_matroska_demux_push_codec_data_all()
- gst_matroska_demux_query()
Some parse element such as FLAC checks upstream seekability, and
there is some use cases that matroska-demux is linked to a parse element
(e.g.,FLAC format) without intermediate elements (e.g., queue).
In this case, matroska-demux never returns from _push_codec_data_all()
because the parser can return only after it receives the response to
the upstream query, but that's not going to happen because it's
deadlocked.
Elements must not hold the object lock whilst pushing out events
or data.
https://bugzilla.gnome.org/show_bug.cgi?id=766645
Sebastian Dröge [Thu, 19 May 2016 09:43:01 +0000 (12:43 +0300)]
souphttpclientsink: Set sent_buffers and streamheader_buffers to NULL after freeing
Otherwise we might use an already freed list later and crash or worse.
Tim-Philipp Müller [Wed, 18 May 2016 17:32:57 +0000 (18:32 +0100)]
udpsrc: fix Since version for new "loop" property
Guillaume Desmottes [Mon, 16 May 2016 14:18:37 +0000 (16:18 +0200)]
rtpdec: fix clock leak
gst_system_clock_obtain() returns a new ref.
https://bugzilla.gnome.org/show_bug.cgi?id=766521
Tim-Philipp Müller [Tue, 17 May 2016 04:33:35 +0000 (05:33 +0100)]
udpsrc: add doc blurb with since marker for new "loop" property
Dimitrios Katsaros [Fri, 13 Nov 2015 14:52:35 +0000 (15:52 +0100)]
avimux: add support for png
https://bugzilla.gnome.org/show_bug.cgi?id=758059
Jan Schmidt [Sun, 15 May 2016 12:07:14 +0000 (22:07 +1000)]
splitmuxsrc: Connect to demux signals before activating
Fix a race in splitmuxsrc by properly connecting to the
demuxer signals we're interested in *before* setting it running.
Sebastian Dröge [Sun, 15 May 2016 10:31:37 +0000 (13:31 +0300)]
docs: Update for git master
Olivier Crête [Sun, 15 May 2016 10:16:23 +0000 (12:16 +0200)]
rtpmp4gpay: Don't produce timestamps based on byte count
The GST_BUFFER_OFFSET of output buffers returned to GstRtpBasePayload
should reflect the number of "samples" in the unit of the RTP clock in this
buffer. If this is not true, then it shouldn't be set.
https://bugzilla.gnome.org/show_bug.cgi?id=761943
Edward Hervey [Sun, 15 May 2016 10:24:03 +0000 (12:24 +0200)]
matroska-mux: Fix strcmp usage
Just use g_strcmp0 which can handle NULL entries
Carlos Rafael Giani [Fri, 4 Mar 2016 09:14:00 +0000 (10:14 +0100)]
souphttpsrc: Use audio/x-unaligned-raw instead of audio/x-raw for L16 data
Directly setting audio/x-raw caps leads to problems when the delivered
data blocks do not align properly at sample boundaries (for example, a
data block with 391 bytes). So, instead, set audio/x-unaligned-raw to
let a parser be autoplugged.
https://bugzilla.gnome.org/show_bug.cgi?id=689460
Seungha Yang [Thu, 12 May 2016 02:52:09 +0000 (11:52 +0900)]
qtdemux: Parsing elst box based on version
segment_duration and media_time should be parsed based on version
of elst box. Specification defines that an elst box with version 1
has uint64 and int64 values for segment_duration and media_time,
respectively.
https://bugzilla.gnome.org/show_bug.cgi?id=766301
Thiago Santos [Sat, 14 May 2016 15:57:41 +0000 (12:57 -0300)]
souphttpsrc: check if request was cancelled when sending message
It might be that the request was aborted by the application and
we can return immediatelly
Thiago Santos [Sat, 14 May 2016 15:43:54 +0000 (12:43 -0300)]
souphttpsrc: proxy resolver is on by default
Remove from the session creation parameters
Thiago Santos [Sat, 14 May 2016 15:15:48 +0000 (12:15 -0300)]
soup: update build to warn about newer deprecated functions
We already depend on 2.48
Thiago Santos [Sat, 14 May 2016 14:09:33 +0000 (11:09 -0300)]
souphttpsrc: reduce reading latency by using non-blocking read
Non-blocking read will return the amount of data available without
blocking to wait for the full requested size.
The downside is that now it souphttpsrc needs to have a waiting
mechanism in case there is no data available yet to avoid busy
looping arond the inputstream.
Sebastian Dröge [Sun, 15 May 2016 09:30:50 +0000 (12:30 +0300)]
rtpsession: Take the lock already when reading the other stats, not just for the hash table
https://bugzilla.gnome.org/show_bug.cgi?id=766025
Tim-Philipp Müller [Sat, 14 May 2016 16:04:57 +0000 (17:04 +0100)]
matroska: use math-compat.h for NAN define
Jan Schmidt [Sat, 14 May 2016 13:39:22 +0000 (23:39 +1000)]
splitmuxsink: Use GstBin async-handling instead of our own.
Set the async-handling property on GstBin to let it manage
async-handling instead of the local handling from the previous
commit. Works because of #174a5e in core
Thiago Santos [Fri, 13 May 2016 13:17:33 +0000 (10:17 -0300)]
souphttpsrc: refactor to use Soup's sync API
Replace the async API with the sync API to remove all the extra mainloop
and context handling. Currently it blocks reading until 'blocksize'
bytes are available but that can be improved by using:
https://developer.gnome.org/gio/unstable/GPollableInputStream.html#g-pollable-input-stream-read-nonblocking
https://bugzilla.gnome.org/show_bug.cgi?id=693911
Thiago Santos [Sat, 14 May 2016 07:50:36 +0000 (04:50 -0300)]
tests: souphttpsrc: replace deprecated API
Avoid using soup_server_run_async and old get_port() APIs,
replace with me soup_server_listen and get the port through the
URIs list returned from the server.
Olivier Crête [Sat, 14 May 2016 10:34:10 +0000 (12:34 +0200)]
jitterbuffer: Upgrade debug message to error
It causes the entire pipeline to fail, it should be easier to find.
Jan Schmidt [Sat, 14 May 2016 08:32:52 +0000 (18:32 +1000)]
splitmuxsink: Hide internal async state changes.
When switching fragments, hide the async-start/async-done
messages from the parent bin, as otherwise we sometimes (very rarely)
hang in PAUSED instead of returning / continuing to PLAYING
state.
Jan Schmidt [Fri, 13 May 2016 11:20:28 +0000 (21:20 +1000)]
splitmuxsink: Remove stray carriage-return from debug
Sebastian Dröge [Fri, 13 May 2016 13:43:21 +0000 (16:43 +0300)]
rtp: Ship gstrtpj2kcommon.h file to fix distcheck
Jesper Larsen [Thu, 30 Apr 2015 12:43:04 +0000 (14:43 +0200)]
avimux: Do not write index and header if idx is NULL
Fixes criticals with e.g.
videotestsrc num-buffers=1 ! identity drop-probability=1.0 ! avimux ! fakesink
https://bugzilla.gnome.org/show_bug.cgi?id=748700
Aaron Boxer [Thu, 12 May 2016 12:43:39 +0000 (08:43 -0400)]
rtpj2kpay: manage T tile invalidation bit correctly, update tile id in header correctly.
1. according to RFC, T bit is only set when either the RTP packet only contains the J2K main header, or the packet contains tile parts from multiple tiles. This is now being managed correctly in the code. The second scenario cannot happen with our payloader, since tile headers are always placed in their own RTP packet, and so a packet cannot contain tile parts from multiple tiles.
However, I have added code to track if multiple tile parts are included in a single RTP packet, in case in the future we want to put header and data in same packet.
2. Old code would set the tile id to zero for all J2K packets. This is now set correctly to the appropriate tile id.
https://bugzilla.gnome.org/show_bug.cgi?id=745187
Aaron Boxer [Thu, 12 May 2016 12:41:51 +0000 (08:41 -0400)]
rtpj2kpay: manage fragmented headers correctly
J2K main header framentation across multiple RTP packets is now handled correctly
https://bugzilla.gnome.org/show_bug.cgi?id=745187