Edward Hervey
6b69ef24a1
qtdemux: Fix debug statement
...
It was using the non-increasing offset variable, which made that statement
not so useful :)
2014-12-12 11:06:17 +01:00
Edward Hervey
d1ae39d6d6
qtdemux: Add macros for the various timescale conversions
...
This helps make the code more readable and avoid future bad usage of
scaling function argument order.
2014-12-12 11:03:15 +01:00
Patrick Radizi
0a359cdbdc
rtph264pay: fix potential crash when shutting down
...
A race condition in the state change function may cause buffers
to be unreffed while they are still used by the streaming thread
in gst_rtp_h264_pay_send_sps_pps() resulting in a crash. Chain
up to the parent class first in the state change function to
make sure streaming has stopped and only then free those buffers.
https://bugzilla.gnome.org/show_bug.cgi?id=741381
2014-12-11 14:00:19 +00:00
Jan Schmidt
de8d00348e
qtdemux: Copy flags of the overall segment to output segments
...
Preserve the segment flags of the overall demux segment on the output
segments for each pad.
2014-12-12 00:56:49 +11:00
Matej Knopp
2505e343b1
qtmux: use 64bit chunk_offset
...
https://bugzilla.gnome.org/show_bug.cgi?id=741279
2014-12-10 18:42:30 -03:00
Edward Hervey
9a903c994f
qtdemux: Fix rounding errors in duration update
...
Make sure we store updated segment stop/duration with the same
granularity as the duration timescale.
And add more debug
2014-12-10 17:39:17 +01:00
Edward Hervey
b40cfcfffb
qtdemux: Update duration when we get more information
...
When dealing with fragmented files, we will get more accurate duration
information via the mfra and moof atoms.
In order for playback to not stop at the initial duration (from the
moov atom), we need to check and update the various duration variables
when we find more information.
Fixes playback of fragmented files in pull mode
2014-12-10 16:55:44 +01:00
Edward Hervey
799609583e
qtdemux: Remove variable assignments never read
...
As detected by clang/scan-build
2014-12-10 15:09:25 +01:00
Edward Hervey
7828f73516
qtdemux: Use GstClockTime for nanosecond-based time variables/fields
...
Avoids confusion with timescaled-based variables and bytes (offset)
variables.
And use GST_CLOCK_TIME_NONE where applicable
2014-12-10 15:09:25 +01:00
Edward Hervey
0a381b9edd
pushfilesrc: Add TIME SEGMENT capability
...
Adds a new set of properties to make pushfilesrc output a TIME SEGMENT
(instead of the filesrc BYTE SEGMENT).
When time-segment is set to True the following will happen:
* Seeks are refused (data starts from the beginning of the file)
* The BYTE segment will be replaced by a TIME segment with the values
specified in the various properties
* The first outgoing buffer will have a timestamp set on it (by default
it has a value of GST_CLOCK_TIME_NONE)
2014-12-10 15:09:25 +01:00
Sebastian Dröge
f5d26af3c9
aacparse: Also only unref caps if they're not NULL
2014-12-10 11:35:29 +01:00
Sebastian Dröge
6d6c6aac13
aacparse: gst_pad_get_allowed_caps() will return NULL if there is no peer
2014-12-10 11:35:02 +01:00
Thibault Saunier
52a1773b40
rtpsession: Use an empty iterator in iterate_internal_link when no links
...
And not a NULL Iterator, so it is consistent with the way it usually
works and avoid user to need a different code paths to handle that.
2014-12-09 20:38:22 +01:00
Patrick Radizi
fef1a8d88a
rtph264pay: Fixes buffer leak when using SPS/PPS
...
Fixes a buffer leak that would occurr if the pipeline was shutdown
while a SPS/PPS header was being created.
https://bugzilla.gnome.org/show_bug.cgi?id=741271
2014-12-09 09:47:23 +01:00
Mathieu Duponchelle
a5694b213a
agingtv: fix memcpy when no color aging requested.
...
video_size is the size in pixels, actual size of the memcpy
has to be stride * height.
2014-12-09 04:44:40 +01:00
Nicola Murino
c466ff4748
matroskademux: set framerate 0/1 when duration is not known
...
https://bugzilla.gnome.org/show_bug.cgi?id=740130
2014-12-04 18:20:37 +01:00
Jan Schmidt
f4ca3c255a
qtdemux: More fixes for reverse playback
...
When seeking or finding the previous keyframe, do
comparisons against targets and segments using composition time
to correctly decide which sample times match.
2014-12-04 22:53:07 +11:00
Thibault Saunier
aa89278ade
rtpjitterbuffer: Use an empty iterator in iterate_internal_link when no links
...
We used to setup an iterator with 1 GValue set with a NULL object
pointer which is not the normal way to do that. Instead we should make
sure that the first call to gst_iterator_next returns GST_ITERATOR_DONE.
2014-12-03 11:17:11 +01:00
Jan Schmidt
b3d1ab5267
qtdemux: Handle seeks past EOS as a seek to the end
...
Fix reverse playback of every frame by making seeks past/to EOS
find the last segment and start there.
2014-12-03 13:23:35 +11:00
Olivier Crête
e3b0fb2a5d
rtpmpadepay: Relax caps to allow any clock-rate
...
Some Wowza setups seem to send an invalid non-90000 clock-rate.
2014-12-02 15:33:25 -05:00
Thiago Santos
148da6210a
qtdemux: don't use GST_CLOCK_TIME_NONE in non GstClockTime variables
...
Use -1 instead as those are gint64/guint64 variables and not GstClockTime
2014-12-02 00:46:35 -03:00
Tim-Philipp Müller
d65c3bbe7e
qtdemux: implement seeking in fragmented mp4 files in pull mode based on the mfra table
2014-11-30 15:33:13 +00:00
Tim-Philipp Müller
77f37a6b22
qtdemux: use track fragment decoding time (tfdt) in parse_trun() for interpolation
...
As fallback if we don't have any existing samples
as reference point yet.
Based on patch by David Corvoysier <david.corvoysier@orange.com>
2014-11-30 15:33:13 +00:00
Tim-Philipp Müller
e24f903b13
qtdemux: parse mfra random access box for fragmented mp4 files
...
If it's present, and we operate in pull mode.
2014-11-30 15:33:13 +00:00
Tim-Philipp Müller
8a0f4e74e4
qtdemux: stop parsing headers for fragmented mp4s at the first moof
...
Currently during header parsing, we scan through the entire file
and skip every moof+mdat chunk for fragmented mp4s, which makes
start-up incredibly slow. Instead, just stop at the first moof
chunk when have a moov, and start exposing the streams, so we
can go and start handling the moofs for real.
2014-11-30 15:30:04 +00:00
Olivier Crête
ccac1f8c0b
rtprtxreceive: Use offset when copying header
...
The header is not always at the start of the packet, so we need to compute
the offset first.
2014-11-29 18:38:12 -05:00
Andrei Sarakeev
6348de195d
aspectratiocrop: Handle resolution changes properly
...
When an caps-event is received, we must immediately change the crop
to videocrop correctly changed caps-event dimension, otherwise the
videocrop will first use the previous value of the crop that when
resizing video to a smaller resolution may cause an error.
https://bugzilla.gnome.org/show_bug.cgi?id=740671
2014-11-28 11:19:23 +01:00
Edward Hervey
5b5e9f320f
isomp4: Check presence of mfhd in moof
...
The 'mfhd' atom is mandatory in 'moof'. We can later on check whether
the fragment number properly increases
2014-11-26 16:36:39 +01:00
Edward Hervey
5e3e97353d
isomp4: Fix mfro and tfra atom dumping
...
mfro was skipping the version/flags
tfra had wrong byte_reader return value checks
2014-11-26 16:36:39 +01:00
Edward Hervey
c45533bcd7
isomp4: Add mfhd atom dumping
2014-11-26 16:36:39 +01:00
Jan Schmidt
61bbd2d226
qtdemux: Handle empty segments when seeking in reverse play.
...
Empty segments in an edit list have a media_start time of -1,
as they don't actually play any media. Allow for that when
aligning to the reference stream in reverse play.
2014-11-27 00:17:03 +11:00
Tim-Philipp Müller
69ec922c16
icydemux: does not need to link against zlib
2014-11-23 16:24:06 +00:00
Miguel París Díaz
6daa57868f
rtpjitterbuffer: ensure rtx_retry_period >= 0
...
https://bugzilla.gnome.org/show_bug.cgi?id=739344
2014-11-22 14:48:57 +00:00
Arun Raghavan
45e716e75d
rtpbin: Fix up new_jitterbuffer signal prototype
2014-11-20 22:42:59 +05:30
Arun Raghavan
56436ccced
rtpbin: Document how to control per-SSRC retransmission
2014-11-20 20:24:42 +05:30
Wim Taymans
3d7b0f30d7
rtpgstpay: put 0-byte at the end of events
...
Put a 0-byte at the end of the event string. Does not break ABI because
old depayloaders will skip the 0 byte (which is included in the length).
Expect a 0-byte at the end of the event string or a ; for old
payloaders.
See https://bugzilla.gnome.org/show_bug.cgi?id=737591
2014-11-20 13:14:14 +01:00
Wim Taymans
9d2902d978
rtpgstdepay: avoid buffer overread.
...
Check that a caps event string is 0 terminated and the event string is
terminated with a ; to avoid buffer overreads.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=737591
2014-11-20 12:44:26 +01:00
Tim-Philipp Müller
488d0b93cd
qtmux: don't limit max video resolution to 4096x4096
...
MAX isn't entirely correct as upper limit either,
it should really be MAXUINT32, but it's unlikely
to be a problem in the near future.
https://bugzilla.gnome.org/show_bug.cgi?id=740407
2014-11-20 10:45:53 +00:00
Aleix Conchillo Flaqué
00ca83629b
rtspsrc: fix leak for mikey base64 decoded key-mgmt
...
https://bugzilla.gnome.org/show_bug.cgi?id=740392
2014-11-20 09:15:56 +01:00
Wim Taymans
e95da8410f
videobalance: fix unhandled format in passthrough
...
In passthrough we can handle all formats.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=740387
2014-11-20 09:02:36 +01:00
Jan Alexander Steffens (heftig)
bf73d834b2
flvdemux: Restrict resyncing to TS regressions
...
The behavior of resyncing video and audio indepen-
dently can cause A/V desyncs. Lets restrict resyncs
to jumps backward for now.
https://bugzilla.gnome.org/show_bug.cgi?id=736397
2014-11-19 11:58:19 -05:00
Matthew Waters
0053ad0847
videomixer: fix up QoS handling for live sources
...
Only attempt adaptive drop when we are not live
https://bugzilla.gnome.org/show_bug.cgi?id=739996
2014-11-17 23:16:03 +11:00
Arun Raghavan
1c3b233fef
rtpmanager: Trivial typo fix
2014-11-10 13:16:50 +05:30
Sebastian Dröge
7a909917b5
matroska-mux: Use G_DEFINE_TYPE() to register the pad instead of manually registering it
2014-11-09 11:04:33 +01:00
Göran Jönsson
ec05d3b6d8
matroskamux: make GstMatroskamuxPad get_type() function thread-safe
...
https://bugzilla.gnome.org/show_bug.cgi?id=739722
2014-11-07 21:20:31 +00:00
Josep Torra
038cc7b004
rtsp: fix build in gst-uninstalled setup
2014-11-06 21:38:43 +01:00
Thibault Saunier
99bbc2bbe4
imagefreeze: Handle seqnums
...
https://bugzilla.gnome.org/show_bug.cgi?id=739366
2014-11-06 12:20:25 +01:00
Wim Taymans
26d682d23f
videomixer2: reverse order of params for converter
2014-11-03 15:26:06 +01:00
Tim-Philipp Müller
c756fd6a55
goom2k1: post QoS messages when dropping frames due to QoS
2014-11-02 19:42:03 +00:00
Tim-Philipp Müller
b03056eede
goom: post QoS messages when dropping frames due to QoS
2014-11-02 19:31:01 +00:00