Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/GStreamer/gst-plugins-good.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-07-09gitignore: ignore rtph263 testThiago Santos
2015-07-09rtpjitterbuffer: fix build error with gcc (Debian 4.9.2-21) 4.9.2Thiago Santos
Replace static constants with macros to make gcc happy CC elements/elements_rtpjitterbuffer-rtpjitterbuffer.o elements/rtpjitterbuffer.c:387:1: error: initializer element is not constant static const GstClockTime PCMU_BUF_DURATION = PCMU_BUF_MS * GST_MSECOND; ^ elements/rtpjitterbuffer.c:388:1: error: initializer element is not constant static const guint PCMU_BUF_SIZE = 64000 * PCMU_BUF_MS / 1000; ^ elements/rtpjitterbuffer.c:390:5: error: initializer element is not constant PCMU_BUF_CLOCK_RATE * PCMU_BUF_MS / 1000;
2015-07-09rtpjitterbuffer: run indent and fix some commentsThiago Santos
Fix indent on this file and break some comment lines into two to make it fit 80 chars per line
2015-07-09qtdemux: rework segment event handling for adaptive streamingThiago Santos
When a new time segment is received upstream is going to restart with a new atom. Make the neededbytes and todrop variables reflect that to avoid waiting too much or dropping the initial bytes that contain the header.
2015-07-09qtdemux: push data from adapter before starting new segmentThiago Santos
The adapter might have data remaining from the previous segment, push it all before clearing the adapter and starting a new segment. It can accumulate data if it had pushed and got not-linked, returning immediately without processing all the data. Before starting a new segment this data should be handled.
2015-07-08rtpjitterbuffer: Calculate DTS from the clock if we had none for the first ↵Sebastian Dröge
packet after a reset https://bugzilla.gnome.org/show_bug.cgi?id=749536
2015-07-08rtpjitterbuffer: fix gap-time calculation and remove "late"Havard Graff
The amount of time that is completely expired and not worth waiting for, is the duration of the packets in the gap (gap * duration) - the latency (size) of the jitterbuffer (priv->latency_ns). This is the duration that we make a "multi-lost" packet for. The "late" concept made some sense in 0.10 as it reflected that a buffer coming in had not been waited for at all, but had a timestamp that was outside the jitterbuffer to wait for. With the rewrite of the waiting (timeout) mechanism in 1.0, this no longer makes any sense, and the variable no longer reflects anything meaningful (num > 0 is useless, the duration is what matters) Fixed up the tests that had been slightly modified in 1.0 to allow faulty behavior to sneak in, and port some of them to use GstHarness. https://bugzilla.gnome.org/show_bug.cgi?id=738363
2015-07-08Revert "rtpjitterbuffer: Fix expected_dts calc in calculate_expected"Stian Selnes
This reverts commit 05bd708fc5e881390fe839803b53144393d95ab0. The reverted patch is wrong and introduces a regression because there may still be time to receive some of the packets included in the gap if they are reordered.
2015-07-08qtdemux: flush samples before adding more from moofThiago Santos
Avoids accumulating all samples from a fragmented stream that could lead to a 'index-too-big' error once it goes over 50MB of data. It could reach that before 2h of playback so it doesn't take that long. As upstream elements are providing data in time format they should be the ones that have more information about the full media index and should be able to seek if possible.
2015-07-08qtdemux: rename upstream_newsegment to upstream_format_is_timeThiago Santos
upstream_newsegment isn't really clear on what it means, it is set to TRUE when the upstream element sends a segment in TIME format, so rename it to be more clear about it. It is important to know this because it means that upstream has a notion of time and qtdemux is likely being driven by an upstream element that is reading from a higher level abstraction than a file, such as a DASH, MSS or DLNA element.
2015-07-08qtdemux: fix leak by flushing previous sample info from trakThiago Santos
In fragmented streaming, multiple moov/moof will be parsed and their previously stored samples array might leak when new values are parsed. The parse_trak and callees won't free the previously stored values before parsing the new ones. In step-by-step, this is what happens: 1) initial moov is parsed, traks as well, streams are created. The trak doesn't contain samples because they are in the moof's trun boxes. n_samples is set to 0 while parsing the trak and the samples array is still NULL. 2) moofs are parsed, and their trun boxes will increase n_samples and create/extend the samples array 3) At some point a new moov might be sent (bitrate switching, for example) and parsing the trak will overwrite n_samples with the values from this trak. If the n_samples is set to 0 qtdemux will assume that the samples array is NULL and will leak it when a new one is created for the subsequent moofs. This patch makes qtdemux properly free previous sample data before creating new ones and adds an assert to catch future occurrences of this issue when the code changes.
2015-07-08qtdemux: fix index size check and debug messageThiago Santos
It is allocating samples_count + n_samples, not only n_samples
2015-07-08rtpjitterbuffer: Calculate receive time if we don't have anySebastian Dröge
This is required to properly schedule packet loss timers and make sure all our calculations work properly. https://bugzilla.gnome.org/show_bug.cgi?id=749536
2015-07-08rtpjitterbuffer: Handle seqnum gaps in TCP streams without erroring out or ↵Sebastian Dröge
overflowing calculations That is, handle DTS==GST_CLOCK_TIME_NONE correctly. https://bugzilla.gnome.org/show_bug.cgi?id=749536
2015-07-08avidemux: fix event leakVineeth T M
when seek fails in avidemux, event is not being freed. https://bugzilla.gnome.org/show_bug.cgi?id=752117
2015-07-08rtph263depay: Make sure payload is large enoughStian Selnes
Plus new unit test. https://bugzilla.gnome.org/show_bug.cgi?id=752112
2015-07-08rtpklvdepay: fix printf format compiler warningVineeth TM
v_len is of type guint64, but while print the value(16 + len_size + v_len) G_GSIZE_FORMAT is being used instead of G_GUINT64_FORMAT https://bugzilla.gnome.org/show_bug.cgi?id=752100
2015-07-07docs: add new RTP elements to docsTim-Philipp Müller
2015-07-07tests: rtp-payloading: add basic unit test for KLV payloadingTim-Philipp Müller
Also make it so that the mtu is always set if specified, not only in case of the rather weird bufferlist test code path. This allows us to easily make the payloader fragment a payload across multiple output packets by setting a small MTU on it.
2015-07-07rtpklvdepay: improve start detection and handle fragmented KLV unitsTim-Philipp Müller
2015-07-07rtp: add SMPTE 336M KLV metadata depayloaderTim-Philipp Müller
http://tools.ietf.org/html/rfc6597
2015-07-07rtp: add SMPTE 336M KLV metadata payloaderTim-Philipp Müller
http://tools.ietf.org/html/rfc6597
2015-07-07docs: fix "Symbol name not found at the start of the comment block"Stefan Sauer
Add symbols or change comment into a regular comment.
2015-07-07docs: remove outdated doc stringsStefan Sauer
2015-07-07docs: add missing plugins and ensure master doc is sortedStefan Sauer
2015-07-07Revert "imagefreeze: Remove impossible error condition"Luis de Bethencourt
This reverts commit d46631c5c7312ad613397f8238c7a9714ae3ae94. pad only handle EOS events but not EOS flow, and will push the buffer again resulting in an assertion error. So we should not handle the buffer and return EOS flow.
2015-07-07rtpg729depay: unmap rtp buffer in error pathTim-Philipp Müller
2015-07-07rtpg729pay: fix buffer leakTim-Philipp Müller
The handle_buffer vfunc takes ownership of the input buffer. Fixes elements/rtp-payloading under valgrind.
2015-07-07goom: Initialised variables to remove compiler warningsTobias Mueller
goom_core.c: In function 'goom_update': goom_core.c:685:5: error: 'param2' may be used uninitialized in this function [-Werror=maybe-uninitialized] goom_lines_switch_to (goomInfo->gmline2, mode, param2, amplitude, couleur); ^ goom_core.c:684:5: error: 'param1' may be used uninitialized in this function [-Werror=maybe-uninitialized] goom_lines_switch_to (goomInfo->gmline1, mode, param1, amplitude, couleur); ^ https://bugzilla.gnome.org/show_bug.cgi?id=752053
2015-07-07rtph261pay: fix indentationTim-Philipp Müller
2015-07-07rtph261pay: Fix uninitialized variable compiler errorJimmy Ohn
endpos variable does not correctly understand in the 4.6.3 GCC version. So compile error appears when we do compile rtph261pay using jhbuild. This patch is fixed the compile error in 4.6.3 GCC version. https://bugzilla.gnome.org/show_bug.cgi?id=751985
2015-07-06flvdemux: Handle seek flags properlyJan Alexander Steffens (heftig)
Allows for non-keyframe seeks. https://bugzilla.gnome.org/show_bug.cgi?id=738570
2015-07-06qtdemux: avoid looping reading the 'moof' atom foreverThiago Santos
It gets stuck if it only finds a moof and no mfra/mfro or moov atoms. Skip the moof to continue the parsing to have it either play or error out. https://bugzilla.gnome.org/show_bug.cgi?id=745089
2015-07-06flacdec: improve error handlingVineeth TM
for files which have corrupted header, libflac is not able to process the metadata properly. We just try to ignore the error and continue with the processing, since metadata parsing is not making much of a difference to libflac https://bugzilla.gnome.org/show_bug.cgi?id=751334
2015-07-06ximagesrc: add meta transform functionHyunjun Ko
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
2015-07-06rtph263pdepay: init debug categoryStian Selnes
https://bugzilla.gnome.org/show_bug.cgi?id=752012
2015-07-06rtpv8depay: ignore reserved bit in payload descriptorStian Selnes
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
2015-07-05rtph261pay: rtph261depay: Add documentationStian Selnes
https://bugzilla.gnome.org/show_bug.cgi?id=751982
2015-07-03Automatic update of common submoduleStefan Sauer
From f74b2df to 9aed1d7
2015-07-03rtph261pay: Fix compiler warningSebastian Dröge
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;
2015-07-03rtph261depay: Let the base class push the buffer so it can deal with the ↵Sebastian Dröge
flow return
2015-07-03rtph261pay: Remove unused adapterSebastian Dröge
2015-07-03speexpay: Directly attach payload to the output buffer instead of copying itSebastian Dröge
2015-07-03sbcpay: Attach payload directly to the output instead of copyingSebastian Dröge
2015-07-03rtp: add H.261 RTP payloader and depayloaderStian Selnes
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
2015-07-03rtpmpvdepay: Don't forget to unmap the input bufferSebastian Dröge
2015-07-03rtpmpvpay: Create buffer lists instead of pushing each buffer individuallySebastian Dröge
2015-07-03rtpmpapay: Use buffer lists instead of pushing each fragment individuallySebastian Dröge
2015-07-03rtpmp4apay: Create buffer lists and don't copy payload memorySebastian Dröge
2015-07-02rtpjitterbuffer: Consider timers len to compare with RTP_MAX_DROPOUTMiguel París Díaz
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