Hyunjun Ko [Mon, 6 Jul 2015 11:16:38 +0000 (20:16 +0900)]
ximagesrc: add meta transform function
ximage metadata can't be transformed or copied, but provide an empty
transformation function instead of NULL to allow unconditional calling
of metas' transform functions.
https://bugzilla.gnome.org/show_bug.cgi?id=751778
Stian Selnes [Mon, 16 Jun 2014 14:14:28 +0000 (16:14 +0200)]
rtph263pdepay: init debug category
https://bugzilla.gnome.org/show_bug.cgi?id=752012
Stian Selnes [Fri, 20 Jun 2014 08:59:14 +0000 (10:59 +0200)]
rtpv8depay: ignore reserved bit in payload descriptor
Draft 16 of "RTP Payload Format for VP8" states in section 4.2 that:
R: Bit reserved for future use. MUST be set to zero and MUST be
ignored by the receiver.
https://bugzilla.gnome.org/show_bug.cgi?id=751929
Stian Selnes [Sat, 4 Jul 2015 18:56:42 +0000 (20:56 +0200)]
rtph261pay: rtph261depay: Add documentation
https://bugzilla.gnome.org/show_bug.cgi?id=751982
Stefan Sauer [Fri, 3 Jul 2015 19:58:14 +0000 (21:58 +0200)]
Automatic update of common submodule
From f74b2df to 9aed1d7
Sebastian Dröge [Fri, 3 Jul 2015 12:29:16 +0000 (14:29 +0200)]
rtph261pay: Fix compiler warning
gstrtph261pay.c: In function 'gst_rtp_h261_pay_class_init':
gstrtph261pay.c:1003:17: error: variable 'gobject_class' set but not used [-Werror=unused-but-set-variable]
GObjectClass *gobject_class;
Sebastian Dröge [Fri, 3 Jul 2015 12:03:05 +0000 (14:03 +0200)]
rtph261depay: Let the base class push the buffer so it can deal with the flow return
Sebastian Dröge [Fri, 3 Jul 2015 12:11:35 +0000 (14:11 +0200)]
rtph261pay: Remove unused adapter
Sebastian Dröge [Fri, 3 Jul 2015 11:17:24 +0000 (13:17 +0200)]
speexpay: Directly attach payload to the output buffer instead of copying it
Sebastian Dröge [Fri, 3 Jul 2015 11:07:20 +0000 (13:07 +0200)]
sbcpay: Attach payload directly to the output instead of copying
Stian Selnes [Mon, 1 Dec 2014 13:18:40 +0000 (14:18 +0100)]
rtp: add H.261 RTP payloader and depayloader
Implementation according to RFC 4587.
Payloader create fragments on MB boundaries in order to match MTU size
the best it can. Some decoders/depayloaders in the wild are very strict
about receiving a continuous bit-stream (e.g. no no-op bits between
frames), so the payloader will shift the compressed bit-stream of a
frame to align with the last significant bit of the previous frame.
Depayloader does not try to be fancy in case of packet loss. It simply
drops all packets for a frame if there is a loss, keeping it simple.
https://bugzilla.gnome.org/show_bug.cgi?id=751886
Sebastian Dröge [Fri, 3 Jul 2015 10:18:52 +0000 (12:18 +0200)]
rtpmpvdepay: Don't forget to unmap the input buffer
Sebastian Dröge [Fri, 3 Jul 2015 10:14:47 +0000 (12:14 +0200)]
rtpmpvpay: Create buffer lists instead of pushing each buffer individually
Sebastian Dröge [Fri, 3 Jul 2015 10:03:59 +0000 (12:03 +0200)]
rtpmpapay: Use buffer lists instead of pushing each fragment individually
Sebastian Dröge [Fri, 3 Jul 2015 08:51:57 +0000 (10:51 +0200)]
rtpmp4apay: Create buffer lists and don't copy payload memory
Miguel París Díaz [Mon, 29 Jun 2015 14:14:18 +0000 (16:14 +0200)]
rtpjitterbuffer: Consider timers len to compare with RTP_MAX_DROPOUT
When there are a lot of small gaps, we can consider that there is
a big gap (too losses) to reset the buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=751636
Sebastian Dröge [Mon, 29 Jun 2015 13:53:52 +0000 (15:53 +0200)]
rtpjitterbuffer: If possible, always update the current time before looping over all timers
If we have a clock, update "now" now with the very latest running time we have.
If timers are unscheduled below we otherwise wouldn't update now (it's only updated
when timers expire), and also for the very first loop iteration now would otherwise
always be 0.
Also the time is used for the timeout functions, e.g. to calculate any times
for the next timeouts and we would otherwise pass too old times there.
https://bugzilla.gnome.org/show_bug.cgi?id=751636
Luis de Bethencourt [Thu, 2 Jul 2015 13:34:57 +0000 (14:34 +0100)]
v4l2transform: fix memory leak
tmp needs to be freed before going out of scope in 'done'.
CID #1308954
Sebastian Dröge [Thu, 2 Jul 2015 10:23:45 +0000 (12:23 +0200)]
rtph263ppay: Generate buffer lists and attach the payload directly instead of copying it
Sebastian Dröge [Thu, 2 Jul 2015 07:48:02 +0000 (09:48 +0200)]
rtph263pdepay: Simplify code a bit and do less direct memcpy and let GstBuffer do that for us
Sebastian Dröge [Thu, 2 Jul 2015 07:17:59 +0000 (09:17 +0200)]
rtph263pay: Stop using an adapter and directly use the buffer
We always pushed one buffer into the adapter, then handled exactly that one
buffer and flushed it from the adapter. Now also don't memcpy() the actual
payload but just attach the input buffer's data to the output buffer.
This code still needs some serious refactoring/rewriting.
Sebastian Dröge [Wed, 1 Jul 2015 19:57:28 +0000 (21:57 +0200)]
rtpgsmpay: Remove non-existing includes for now
git add -p mistake.
Sebastian Dröge [Wed, 1 Jul 2015 17:29:07 +0000 (19:29 +0200)]
rtpgstpay: Use the return value of gst_buffer_append()
Sebastian Dröge [Wed, 1 Jul 2015 17:19:13 +0000 (19:19 +0200)]
rtpgsmpay: Attach payload to the output buffer instead of copying it
Sebastian Dröge [Wed, 1 Jul 2015 15:58:56 +0000 (17:58 +0200)]
rtpg729pay: Attach payload directly to output buffers instead of copying
Sebastian Dröge [Wed, 1 Jul 2015 15:43:51 +0000 (17:43 +0200)]
rtpg723pay: Attach payload buffer to the output instead of copying
Sebastian Dröge [Wed, 1 Jul 2015 15:30:39 +0000 (17:30 +0200)]
rtpdvdepay: Map the output buffer once instead of once every 80 bytes
Jimmy Ohn [Wed, 1 Jul 2015 12:46:46 +0000 (21:46 +0900)]
avidemux: fix return type of index_entry_offset_search()
It's a compare function and may return a negative value,
so should for correctness and consistency return a signed
integer.
https://bugzilla.gnome.org/show_bug.cgi?id=751780
Miguel París Díaz [Wed, 1 Jul 2015 12:12:57 +0000 (14:12 +0200)]
rtpjitterbuffer: refactor handle_next_buffer
The goal of this patch is making handle_next_buffer function
more readable avoiding unnecesary gotos and adding other
cosmetic changes.
Sebastian Dröge [Wed, 1 Jul 2015 13:40:25 +0000 (15:40 +0200)]
rtpac3pay: Attach the payload to the output buffer instead of copying it
Might also want to produce buffer lists here if needed.
Sebastian Dröge [Wed, 1 Jul 2015 13:38:47 +0000 (15:38 +0200)]
rtp: Fix indention
Sebastian Dröge [Wed, 1 Jul 2015 10:37:11 +0000 (12:37 +0200)]
rtp: Add examples with VTS/ATS for VP8/OPUS
Let's have an example with modern codecs.
Sebastian Dröge [Tue, 30 Jun 2015 16:11:33 +0000 (18:11 +0200)]
rtph264pay: Use GST_WARNING_OBJECT() instead of GST_WARNING()
Sebastian Dröge [Tue, 30 Jun 2015 12:06:20 +0000 (14:06 +0200)]
vp8depay: Don't lock/map every non-keyframe buffer twice
Just copy the complete header instead of first looking at the first byte
and then at the remaining 10 bytes.
Luis de Bethencourt [Mon, 29 Jun 2015 15:05:44 +0000 (16:05 +0100)]
v4l2: document fallthrough cases
Pacify coverity and document fallthrough cases in switch statements.
CID #1308948, #1308947, #1308946
Sebastian Dröge [Mon, 29 Jun 2015 08:36:58 +0000 (10:36 +0200)]
Revert "rtpjitterbuffer: If we have an immediate timeout, don't try to find an earlier timeout"
This reverts commit
0c21cd7177ea883c710999147ddcedb19004d182.
If we have multiple immediate timers, we want to first handle the one with the
lowest sequence number... which would be broken now.
Instead of this we should just use a GSequence for the timers, and have them
sorted first by timestamp, and for equal timestamps by sequence number. Then
we would always only have to take the very first timer from the list and never
have to look at any others.
Sebastian Dröge [Mon, 29 Jun 2015 08:14:05 +0000 (10:14 +0200)]
rtpjitterbuffer: If we have an immediate timeout, don't try to find an earlier timeout
If we have lots of such immediate timeouts, we would otherwise have quadratic
runtime in the number of timeouts.
Thiago Santos [Fri, 19 Jun 2015 21:01:03 +0000 (18:01 -0300)]
splitmuxsrc: sticky events are sent automatically from the pad
No need to send them explicitly from the element
https://bugzilla.gnome.org/show_bug.cgi?id=751240
Thiago Santos [Fri, 19 Jun 2015 21:00:40 +0000 (18:00 -0300)]
splitmuxsrc: make sure to push sticky events before adding pad
It allows the caps to be set on the pad before being added for
dynamic autoplugging to work.
https://bugzilla.gnome.org/show_bug.cgi?id=751240
Hyunjun Ko [Thu, 25 Jun 2015 15:05:29 +0000 (00:05 +0900)]
rtspsrc: Add new ntp-time-source property and deprecate use-pipeline-clock property
Enable to use new ntp-time-source property of rtpbin
https://bugzilla.gnome.org/show_bug.cgi?id=751496
Hyunjun Ko [Thu, 25 Jun 2015 14:19:58 +0000 (23:19 +0900)]
rtpbin/session: fix description
https://bugzilla.gnome.org/show_bug.cgi?id=751496
Luis de Bethencourt [Thu, 25 Jun 2015 09:57:25 +0000 (10:57 +0100)]
docs: decodebin2 -> decodebin
Luis de Bethencourt [Thu, 25 Jun 2015 09:47:06 +0000 (10:47 +0100)]
deinterlace: update example pipeline
Update reference to decodebin2 to decodebin
Luis de Bethencourt [Thu, 25 Jun 2015 09:45:35 +0000 (10:45 +0100)]
deinterlace: remove dead assignments
Values in fields_required and same_buffer are overwritten before used. Removing
assignment
Tim-Philipp Müller [Thu, 25 Jun 2015 09:06:07 +0000 (10:06 +0100)]
mikmod: remove ancient unported plugin
This hasn't been touched in 11 years, and
clearly no one's been missing it.
Gilbok Lee [Tue, 23 Jun 2015 11:15:13 +0000 (20:15 +0900)]
qtdemux: does not detect orientation
Most files don't contain the values for transposing the coordinates
back to the positive quadrant so qtdemux was ignoring the rotation
tag. To be able to properly handle those files qtdemux will also ignore
the transposing values to only detect the rotation using the values
abde from the transformation matrix:
[a b c]
[d e f]
[g h i]
https://bugzilla.gnome.org/show_bug.cgi?id=738681
Sebastian Dröge [Wed, 24 Jun 2015 22:04:16 +0000 (00:04 +0200)]
Back to development
Sebastian Dröge [Wed, 24 Jun 2015 21:30:41 +0000 (23:30 +0200)]
Release 1.5.2
Sebastian Dröge [Wed, 24 Jun 2015 20:56:12 +0000 (22:56 +0200)]
Update .po files
Sebastian Dröge [Wed, 24 Jun 2015 09:15:00 +0000 (11:15 +0200)]
po: Update translations
Nicolas Dufresne [Tue, 23 Jun 2015 22:42:59 +0000 (18:42 -0400)]
qtmux: Correctly test each segments
In presence of gaps, qtdemux will emit multiple segments. The
second segment start should match the CTTS.
https://bugzilla.gnome.org/show_bug.cgi?id=751361
Nicolas Dufresne [Tue, 23 Jun 2015 21:54:31 +0000 (17:54 -0400)]
qtmux: Correctly calculate the elst media start
The media start has nothing to do with the shift we have applied
but with the value of the first PTS. This is defined as:
Dt(0) = 0
Ct(0) = Dt(0) + CTTS(0)
So the media start is always the first CTTS.
https://bugzilla.gnome.org/show_bug.cgi?id=751361
Thiago Santos [Tue, 23 Jun 2015 14:49:32 +0000 (11:49 -0300)]
qtdemux: accumulate previous edts entries into segment.base
Allows playing edts editted files with proper synchronization of
streams. This patch fixes the regression introduced by
bf95f93c0189aa04f18e264b86b6527e431c5d53 that was added to fix
segment seeks handling.
Having the accumulated_base separated from the main segment.base
allows handling both segment seeks and edts editted files.
https://bugzilla.gnome.org/show_bug.cgi?id=751361
Thiago Santos [Tue, 23 Jun 2015 03:56:16 +0000 (00:56 -0300)]
qtdemux: improve some debug messages
Those messages are about the stream, use the pad as the
debug object to make it clear from the logs
https://bugzilla.gnome.org/show_bug.cgi?id=751361
Thiago Santos [Tue, 23 Jun 2015 01:22:09 +0000 (22:22 -0300)]
qtmux: store last_dts of the first buffer
Buffers need not to start at running-time 0 so the last_dts needs
to be the value of the first buffer's dts as it is used to compute
the duration of the buffers. If it was left at 0 the first buffer
would have a larger duration when it shouldn't
https://bugzilla.gnome.org/show_bug.cgi?id=751361
Vineeth TM [Tue, 23 Jun 2015 08:11:57 +0000 (17:11 +0900)]
flacparse: fix possible memory leak
when buffer is stored to seektable, and stop gets called due to
corrupt flac file, then the seektable is not being released
https://bugzilla.gnome.org/show_bug.cgi?id=751364
Jan Schmidt [Tue, 23 Jun 2015 06:28:40 +0000 (16:28 +1000)]
Revert "splitmuxsink: Mask async-start/done while switching files."
This reverts commit
d61e5393f110ed482815d77807245d78b52eff46.
Causes failures muxing larger GOP sizes for some reason. Reverting
while I figure it out
Jan Schmidt [Thu, 18 Jun 2015 13:22:06 +0000 (23:22 +1000)]
splitmuxsrc: Fix startup and shutdown races.
Fix 2 startup races when things happen too quickly, and 1
at shutdown by holding a ref to the pads in use until the
loop functions exit.
Handle errors activating file parts and publish them on
the bus.
https://bugzilla.gnome.org/show_bug.cgi?id=750747
Jan Schmidt [Wed, 17 Jun 2015 23:26:13 +0000 (09:26 +1000)]
splitmuxsink: Mask async-start/done while switching files.
Sometimes, extra async-start/done from the internal sink
while the element is still starting up can cause splitmuxsink
to stall in PAUSED state when it has been set to PLAYING
by the app. Drop the child's async-start/done messages while
switching, so they don't cause state changes at the
splitmuxsink level.
https://bugzilla.gnome.org/show_bug.cgi?id=750747
Jan Schmidt [Mon, 15 Jun 2015 06:12:10 +0000 (16:12 +1000)]
matroska-demux: Use gst_video_multiview_guess_half_aspect()
Use the gst_video_multiview_guess_half_aspect() utility function
to set the half-aspect flag (or not) on stereoscopic frame-packed
videos.
Jan Schmidt [Mon, 15 Jun 2015 06:10:37 +0000 (16:10 +1000)]
qtdemux: Move multiview caps calculations, add half-aspect heuristics
Move the multiview caps calculations to the configure_stream()
function, so the rest of the video info is available, and
use the gst_video_multiview_guess_half_aspect() function to
determine if the half-aspect flag should be set on frame-packed
video.
Nicolas Dufresne [Thu, 18 Jun 2015 20:06:02 +0000 (16:06 -0400)]
qtdemux: Add cslg support
The cslg atom provide information about the DTS shift. This is
needed in recent version of ctts atom where the offset can be
negative. When cslg is missing, we parse the CTTS table as proposed
in the spec to calculate these values.
In this implementation, we only need to know the shift. As GStreamer
cannot transport negative timestamps, we shift the timestamps forward
using that value and adapt the segment to compensate. This patch also
removes bogus offset of ctts_soffset, this offset shall be included
in the edit list.
https://bugzilla.gnome.org/show_bug.cgi?id=751103
Nicolas Dufresne [Fri, 19 Jun 2015 22:37:59 +0000 (18:37 -0400)]
qtmux: Test gaps at start of stream
https://bugzilla.gnome.org/show_bug.cgi?id=751242
Nicolas Dufresne [Fri, 19 Jun 2015 22:40:43 +0000 (18:40 -0400)]
qtmux: Use PTS to figure-out presence of gaps
We need to look at the presentation timestamp in order to conclude if
there is a gap at the start of a stream.
https://bugzilla.gnome.org/show_bug.cgi?id=751242
Nicolas Dufresne [Fri, 19 Jun 2015 20:45:02 +0000 (16:45 -0400)]
qtmux: Set edit list to compensate DTS shift
We shift DTS forward to avoid negative timestamps which cannot be
represented with version 0 of the CTTS table. To stick with that
version (backward compatibility), the spec recommend using an
edit list entry to move back the presentation time to where it
should be.
https://bugzilla.gnome.org/show_bug.cgi?id=751242
Nicolas Dufresne [Mon, 22 Jun 2015 18:35:52 +0000 (14:35 -0400)]
flvmux: Insert AVC end of sequence
This FLV specific mark is needed to prevent Flow Player (most likely
all Flash base player) from going into buffering state when near EOS.
https://bugzilla.gnome.org/show_bug.cgi?id=751320
Vineeth TM [Mon, 22 Jun 2015 04:05:29 +0000 (13:05 +0900)]
matroska: remove useless check
No need to check for context availability while freeing. We are inside
inside a code block with a condition that dereferences context.
if (context->type == 0 ...
https://bugzilla.gnome.org/show_bug.cgi?id=751306
Vineeth T M [Mon, 22 Jun 2015 10:35:57 +0000 (19:35 +0900)]
lzo: fix memory leak
the opened file is not being closed during test, which will result
in memory leak.
https://bugzilla.gnome.org/show_bug.cgi?id=751306
Vineeth T M [Mon, 22 Jun 2015 10:30:58 +0000 (19:30 +0900)]
mikmod_reader: Possible null pointer dereference:
gst_reader variable is being used before actually checking if it
allocated properly
https://bugzilla.gnome.org/show_bug.cgi?id=751306
Sangkyu Park [Mon, 22 Jun 2015 10:45:14 +0000 (19:45 +0900)]
rtpjitterbuffer: Minor clean-up
1. Fix the code which is wrong coding style.
2. Fix a typing error of comment.
https://bugzilla.gnome.org/show_bug.cgi?id=751316
Jose Antonio Santos Cadenas [Mon, 22 Jun 2015 09:28:13 +0000 (11:28 +0200)]
rtpsource: Do not try to push NULL buffers
If update_receiver_stats() fails, we can't really do anything with this buffer
anymore and have to drop it. This happens if there's a big seqnum
discontinuity for example.
https://bugzilla.gnome.org/show_bug.cgi?id=751311
Vineeth TM [Mon, 22 Jun 2015 04:10:02 +0000 (13:10 +0900)]
flvdemux: trivial cleanup
trivial patch to add proper ( while checking for if(G_UNLIKELY())
https://bugzilla.gnome.org/show_bug.cgi?id=751306
Vineeth TM [Mon, 22 Jun 2015 04:16:08 +0000 (13:16 +0900)]
dcaparse: initialize size variable
size can be used in cleanup without being initialized. Hence
setting it to 0 when declaring
https://bugzilla.gnome.org/show_bug.cgi?id=751306
Vineeth TM [Mon, 22 Jun 2015 04:13:29 +0000 (13:13 +0900)]
mpegaudioparse: initialze bpf variable
bpf variable might be used in cleanup without being intialized.
https://bugzilla.gnome.org/show_bug.cgi?id=751306
Miguel París Díaz [Fri, 19 Jun 2015 12:50:59 +0000 (14:50 +0200)]
rtprtxqueue: reverse pending list before pushing buffers
With this we send the RTX buffers in the same order
that they were requested.
https://bugzilla.gnome.org/show_bug.cgi?id=751297
Nicolas Dufresne [Sun, 21 Jun 2015 23:22:10 +0000 (19:22 -0400)]
flvmux: Fix DTS validity check
This check was up-side-down, causing a bad timestamp at start
and then all timestamp being delayed.
https://bugzilla.gnome.org/show_bug.cgi?id=751298
Nicolas Dufresne [Wed, 17 Jun 2015 19:19:47 +0000 (15:19 -0400)]
cslg: Add Composition Shift Least Greatest Atom
This simply add fourcc and dump function for the cslg Atom.
https://bugzilla.gnome.org/show_bug.cgi?id=751103
Nicolas Dufresne [Wed, 17 Jun 2015 19:18:38 +0000 (15:18 -0400)]
ctts_dump: Fix signess issues
It didn't bug, but use correct signess in traces. The number of
entries is unsigned while the offset can be signed according to
recent spec.
https://bugzilla.gnome.org/show_bug.cgi?id=751103
Nicolas Dufresne [Tue, 16 Jun 2015 21:48:08 +0000 (17:48 -0400)]
Automatic update of common submodule
From 6015d26 to f74b2df
Sebastian Dröge [Tue, 16 Jun 2015 09:43:39 +0000 (11:43 +0200)]
rtpjitterbuffer: gst_rtp_buffer_ext_timestamp() modifies its first argument, keep a copy around
Sebastian Dröge [Tue, 16 Jun 2015 08:30:34 +0000 (10:30 +0200)]
rtpjitterbuffer: Compare ext RTP times, not plain RTP time and ext RTP time when calculating elapsed time
Otherwise all RTP times after a wraparound would be considered as going
backwards, they will always be smaller than the ext RTP time.
Sebastian Dröge [Mon, 15 Jun 2015 17:25:12 +0000 (19:25 +0200)]
rtpbin: The default rtp-profile should be AVP, not AVPF
Sangkyu Park [Mon, 15 Jun 2015 05:32:21 +0000 (14:32 +0900)]
rtpjitterbuffer: Minor cleanup
1. Add Null check in 'free_item' function.
2. Fix a typing error of comment.
https://bugzilla.gnome.org/show_bug.cgi?id=750965
Nicolas Dufresne [Fri, 12 Jun 2015 21:44:51 +0000 (17:44 -0400)]
flmux: Make sure best_time is initialized
Sebastian Dröge [Fri, 12 Jun 2015 21:29:19 +0000 (23:29 +0200)]
rtpbin/session: Add new ntp-time-source property and deprecate use-pipeline-clock property
The new property allows to select the time source that should be used for the
NTP time in RTCP packets. By default it will continue to calculate the NTP
timestamp (1900 epoch) based on the realtime clock. Alternatively it can use
the UNIX timestamp (1970 epoch), the pipeline's running time or the pipeline's
clock time. The latter is especially useful for synchronizing multiple
receivers if all of them share the same clock.
If use-pipeline-clock is set to TRUE, it will override the ntp-time-source
setting and continue to use the running time plus 70 years. This is only kept
for backwards compatibility.
Thiago Santos [Tue, 7 Apr 2015 19:03:42 +0000 (16:03 -0300)]
tests: qtmux: test for muxing with DTS outside the segment
https://bugzilla.gnome.org/show_bug.cgi?id=740575
Nicolas Dufresne [Thu, 11 Jun 2015 21:26:49 +0000 (17:26 -0400)]
qtdemux: Adjust segment according to ctts offset
In presence of a CTTS, the segment start/stop must be offset so
the segment start/stop include the PTS. This is needed since the
PTS cannot be negative in this format. This fixes issues where the
running time of the first buffer isn't at the start.
https://bugzilla.gnome.org/show_bug.cgi?id=740575
Nicolas Dufresne [Sat, 4 Apr 2015 00:34:42 +0000 (20:34 -0400)]
qtmux: Handle DTS with negative running time
As QT works with duration, simply bring back first DTS to 0 and shift
forward the PTS of the same amount.
https://bugzilla.gnome.org/show_bug.cgi?id=740575
Nicolas Dufresne [Wed, 10 Jun 2015 22:15:52 +0000 (18:15 -0400)]
flvmux: Add negative runtime DTS support
This is done by using new feature of the CollectPad clip function
which sets the DTS as a gint64 in the collected data. It also simplify
the code a bit.
https://bugzilla.gnome.org/show_bug.cgi?id=740575
Sebastian Dröge [Fri, 12 Jun 2015 21:06:24 +0000 (23:06 +0200)]
rtpbin: Rename some variables and debug output to make more sense
Local and remote were mixed up in a few places, and the time we store here is
not UNIX time (1970 epoch), but NTP time (1900 epoch) in nanoseconds.
Ilya Konstantinov [Fri, 12 Jun 2015 16:21:10 +0000 (19:21 +0300)]
osxaudio: fix latency property query on RemoteIO
AudioUnitGetProperty would fail with kParamErr (-50) every time,
simply because size wasn't initialized.
Now it returns zero latency, but at least it doesn't fail.
https://bugzilla.gnome.org/show_bug.cgi?id=750868
Arun Raghavan [Tue, 7 Apr 2015 08:36:16 +0000 (14:06 +0530)]
pulsesrc: Fix mapping of latency parameters to buffer attributes
Jan Schmidt [Thu, 11 Jun 2015 15:56:37 +0000 (01:56 +1000)]
matroska-demux: Actually set detected 3D info into output caps.
Use the information read from the StereoMode info
to configure multiview-mode and multiview-flags in the
video caps.
Jan Schmidt [Thu, 11 Jun 2015 03:36:54 +0000 (13:36 +1000)]
splitmuxsink: Take released-but-not-yet-output bytes into account
When deciding whether it's time to switch to a new file, take into
account data that's been released for pushing, but hasn't yet
been pushed - because downstream is slow or the threads haven't been
scheduled.
Fixes a race in the unit test and probably in practice - sometimes
failing to switch when it should for an extra GOP or two.
Also fix a problem in splitmuxsrc where playback sometimes
stalls at startup if types are found too quickly.
https://bugzilla.gnome.org/show_bug.cgi?id=750747
Thiago Santos [Thu, 11 Jun 2015 04:04:51 +0000 (01:04 -0300)]
atoms: remove custom gst_buffer_new function in favor of core version
Remove a custom specialized version of gst_buffer_new_wrapped by
using gst_buffer_new_wrapped_full inside a macro to simplify
parameters and give it a more meaningful name.
It is only used to create temporary buffers to have its data copied.
Thiago Santos [Thu, 11 Jun 2015 03:14:41 +0000 (00:14 -0300)]
atoms: simplify free form data atoms creation
Avoid creating an intermediary buffer or memory area just
to copy into an atom's data area.
Thiago Santos [Thu, 11 Jun 2015 01:27:27 +0000 (22:27 -0300)]
qtmux: add AC-3 muxing support
Adds AC-3 muxing support. It is defined for mp4 and 3gp formats.
One extra feature that was added was the ability to add extension
atoms after set_caps as the AC-3 extension atom needs some data
that has to be extracted from the stream itself and is not
present on caps.
Thiago Santos [Thu, 11 Jun 2015 01:36:59 +0000 (22:36 -0300)]
qtmux: remove unused type MP4S
Thiago Santos [Thu, 11 Jun 2015 01:29:01 +0000 (22:29 -0300)]
qtmux: remove duplicate attribute value set
It is also set a few lines below
Jan Schmidt [Wed, 10 Jun 2015 14:22:54 +0000 (00:22 +1000)]
matroska: Implement basic stereoscopic video support
Implement support for the packed video formats WebM
uses, not all the values that Matroska might use.
In practice, it's really hard to find any samples in the
wild of any.
Supported in both the muxer and demuxer.