summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-12-07qtdemux: Stop pushing data as soon as possible in push-modeqtpushfixEdward Hervey1-0/+8
When working in push-mode, we attempt to push out everything currently buffered in the adapter. This has two pitfalls: * We could stop earlier (the moment we get a non-ok or non-not-linked) * We return the last combined flow return, which might be completely different from the previous combined flow return
2015-12-07Automatic update of common submoduleNicolas Dufresne2-1/+5
From b319909 to 86e4663
2015-12-07rtpsession: Add a warning if an empty RTCP packet is tried to be sentSebastian Dröge1-0/+3
https://bugzilla.gnome.org/show_bug.cgi?id=759119
2015-12-04vpxdec: Use GstMemory to avoid copiesNicolas Dufresne5-13/+329
With the VPX decoders it's not simple to use downstream buffer pool, because we don't know the image size and alignment when buffers get allocated. We can though use GstAllocator (for downstream, or the system allocator) to avoid a copy before pushing if downstream supports GstVideoMeta. This would still cause a copy for sink that requires specialized memory and does not have a GstAllocator for that, though it will greatly improve performance for sink like glimagesink and cluttersink. To avoid allocating for every buffer, we also use a internal buffer pool. https://bugzilla.gnome.org/show_bug.cgi?id=745372
2015-12-02aacparse: Avoid over-skipping when checking LOAS configEdward Hervey1-1/+4
There might be multiple LOAS config in a row in a full frame. The first one might be a multi-layer config (which we can't properly parse yet)... but then followed by a valid (single-layer) one. The code was previously skipping whole frames (instead of just the LOAS config we failed to read) resulting in multiple frames (seen up to 6s in some situation) being dropped before finally getting the configuration. https://bugzilla.gnome.org/show_bug.cgi?id=758826
2015-12-02avidemux: Properly set SPARSE stream flags for subpicture/subtitleEdward Hervey1-1/+7
And while we're at it, also detect 'DXSA' as being a variant fourcc of 'DXSB' for XSUB
2015-12-01tests: souphttpsrc: grammar fixReynaldo H. Verdejo Pinochet1-1/+1
2015-12-01tests: souphttpsrc: switch shoutcast stream providerReynaldo H. Verdejo Pinochet1-2/+3
Fixes failing ICY test. Previous provider has streaming disabled outside UK. https://bugzilla.gnome.org/show_bug.cgi?id=758114
2015-12-01avimux: don't crash if we never got audio caps before stoppingMichael Olbrich1-0/+2
auds.blockalign is set once the first caps arrive. If gst_avi_mux_stop_file() is called before this happens then auds.blockalign is zero and gst_avi_mux_audsink_set_fields() cause a crash: [...] avipad->parent.hdr.rate = avipad->auds.av_bps / avipad->auds.blockalign; [...] https://bugzilla.gnome.org/show_bug.cgi?id=758912
2015-12-01v4l2bufferpool: don't block when resurecting a bufferWim Taymans1-1/+3
When we are resurecting a buffer, don't block. instead let us copy a buffer.
2015-12-01wavparse: remove extra variable to improve readabilityThiago Santos1-6/+2
Makes it easier to see that the event is being replaced/unrefed
2015-12-01wavparse: respect seqnum in seek eventsThiago Santos1-4/+17
Propagate the original seek seqnum to events originated from seeking to make sure they have the same value
2015-12-01wavparse: flush upstream when seeking in pull modeThiago Santos1-0/+2
Makes sure upstream will unblock and return the thread so that seeking can continue https://bugzilla.gnome.org/show_bug.cgi?id=758861
2015-11-27rtph264pay: add "send SPS/PPS with every key frame" modeAnton Bondarenko1-1/+6
It's not enough to have timeout or event based SPS/PPS information sent in RTP packets. There are some scenarios when key frames may appear more frequently than once a second, in which case the minimum timeout for "config-interval" of 1 second for sending SPS/PPS is not sufficient. It might also be desirable in general to make sure the SPS/PPS is available with every keyframe (packet loss aside), so receivers can actually pick up decoding immediately from the first keyframe if SPS/PPS is not signaled out of band. This patch adds the possibility to send SPS/PPS with every key frame. This mode can be enabled by setting "config-interval" property to -1. In this case the payloader will add SPS and PPS before every key (IDR) frame. https://bugzilla.gnome.org/show_bug.cgi?id=757892
2015-11-27rtph264pay: change config-interval property type from uint to intTim-Philipp Müller3-5/+30
This way we can use -1 as special value, which is nicer than MAXUINT. This is backwards compatible even with the GValue API, as shown by a unit test. https://bugzilla.gnome.org/show_bug.cgi?id=757892
2015-11-26qtdemux: add support for OpusLuis de Bethencourt1-0/+36
Add support for demuxing Opus encapsulated in MP4 files, based on the following spec: https://www.opus-codec.org/docs/opus_in_isobmff.html https://bugzilla.gnome.org/show_bug.cgi?id=742643
2015-11-25qtdemux: use macro for codec_nameLuis de Bethencourt1-2/+1
Use _codec() macro instead of duplicating code.
2015-11-25v4l2: videodec: choose format from capsPhilipp Zabel1-0/+30
https://bugzilla.gnome.org/show_bug.cgi?id=733827
2015-11-25v4l2: add gst_v4l2_object_probe_capsPhilipp Zabel2-22/+38
Add a variant of gst_v4l2_object_get_caps that bypasses the probed_caps cache. https://bugzilla.gnome.org/show_bug.cgi?id=733827
2015-11-25v4l2-probe: Skip devices without supported formatsNicolas Dufresne1-0/+7
2015-11-25v4l2: Track /dev/video* to triggered required probeNicolas Dufresne2-2/+26
If something in /dev/video* get added, removed or replaced, we need to probe the devices again in order to ensure the dynamic devices are up to date. https://bugzilla.gnome.org/show_bug.cgi?id=758085
2015-11-25rtpmanager: rtpsession: don't send empty RTCP packetsAlessandro Decina1-4/+9
generate_rtcp can produce empty packets when reduced size RTCP is turned on. Skip them since it doesn't make sense to push them and they cause errors with elements that expect RTCP packets to contain data (like srtpenc).
2015-11-24qtdemux: restore the segment on case of soft resetThiago Santos1-0/+3
When seeking back to restore the mdat position a flush is pushed through and it resets downstream segment information. Make sure that after the flush (that does a soft reset) a segment will be pushed again Fixes regressions spotted at https://ci.gstreamer.net/job/GStreamer-master-validate/2100/
2015-11-23multifilesink: fix spelling of variableGraham Leggett1-4/+4
https://bugzilla.gnome.org/show_bug.cgi?id=758390
2015-11-20qtdemux: unite duplicate FourCCLuis de Bethencourt2-7/+10
Unite in fourcc.h the FourCCs that are used twice or more in qtdemux
2015-11-19v4l2: Fix capture/output-io-mode propertiesNicolas Dufresne2-5/+5
There was some miss-match in the implementation. This makes it concistent, though functionally it worked, except the video decoder output-io-mode getter.
2015-11-19atoms: remove unused argument of build_mov_wave_extension()Luis de Bethencourt1-4/+4
AtomTrak * trak argument of build_move_wave_extension() isn't used. Removing it.
2015-11-19qtdemux: remove duplicate FourCCLuis de Bethencourt2-54/+54
Use the available FourCCs in fourcc.h instead of duplicating them.
2015-11-19isomp4: centralize all FourCCLuis de Bethencourt3-23/+22
10 FourCCs generated with GST_MAKE_FOURCC() in gstqtmux.c and atoms.c already exist in fourcc.h. Don't duplicate these and use them directly. Plus moving 6 to fourcc.h, to centralize them all.
2015-11-19matroska/webmmux: fix outdated example launch linesLuis de Bethencourt1-2/+2
Update gst-launch-0.10 lines to gst-launch-1.0
2015-11-19isomp4: add support for Opus in mp4mpuxLuis de Bethencourt5-1/+97
Add support for muxing MP4 files containing Opus. Based on the spec detailed here: https://www.opus-codec.org/docs/opus_in_isobmff.html https://bugzilla.gnome.org/show_bug.cgi?id=742643
2015-11-18qtdemux: Replace tabs with spacesSebastian Dröge1-3/+3
2015-11-18qtdemux: Cast to signed integers to prevent unsigned compare between ↵Sebastian Dröge1-2/+4
negative and positive numbers This fixes seeking if the first entries in the samples table are negative. The binary search would always fail on this as the array would not be sorted if interpreting the negative numbers as huge positive numbers. This caused us to always output buffers from the beginning after a seek instead of close to the seek position. Also add a case to the comparison function for equality.
2015-11-18matroskamux: remove duplicate checkLuis de Bethencourt1-3/+1
We want 1 or 2 streamheaders, the check if (bufarr->len != 1 && bufarr->len != 2) is enough. Not need to check if bufarr->len is <= 0 or > 255.
2015-11-18souphttpclientsink: Fix error leak and handle errorVineeth TM1-1/+8
g_thread_try_new allows for possiblity of failures. In case it fails, error is not handled and leaked. https://bugzilla.gnome.org/show_bug.cgi?id=758260
2015-11-17rtpgstdepay: Properly handle backward compat for event deserializationJosep Torra1-3/+2
Actual code is checking for a NULL terminator and a ';' terminator, for backward compat, in a chained way that cause all events being rejected. The proper condition is to reject the events when terminator isn't in ['\0', ';'] set. https://bugzilla.gnome.org/show_bug.cgi?id=758151
2015-11-17tests: rtp-payloading: Test for handling of custom events in rtpgstJosep Torra1-0/+93
Add a simple test that checks proper serialization/deserialization of custom events with rtpgstpay and rtpgstdepay.
2015-11-17vpxdec: Use threads on multi-core systemsNicolas Dufresne2-8/+16
This adds an automatic mode to the threads property of vpxdec in order to use as many threads as there is CPU on the platform. This brings back GStreamer VPX decoding performance closer to what is achieved by other players, including Chromium. https://bugzilla.gnome.org/show_bug.cgi?id=758195
2015-11-17qtdemux: only send initial gaps for non-fragmented streamsThiago Santos1-3/+7
It would be unusual to have the header segment with an 'edts' atom indicating gaps at the beginning when handling fragmented streams. The header usually doesn't contain any timestamping information, this should come from the playlist/manifest and the segments with media in those scenarios. https://bugzilla.gnome.org/show_bug.cgi?id=758171
2015-11-17Revert "Revert "qtdemux: respect qt segments in push-mode for empty starts""Thiago Santos1-18/+76
This reverts commit d842ff288a9d01214a046becbfd9cbff3a4acea0. This was reverted by accident
2015-11-17udpsrc: Add "loop" property for enabling/disabling multicast loopbackSebastian Dröge2-1/+17
On POSIX, IP_MULTICAST_LOOP is a setting for the sender socket. On Windows it is a setting for the receiver socket. As such we will need it on udpsrc too to allow filtering out our own multicast packets.
2015-11-16Revert "qtdemux: respect qt segments in push-mode for empty starts"Sebastian Dröge1-76/+18
This reverts commit 142d8e2d23e5602e7382977af1043d621625f8c8.
2015-11-16qtdemux: Fix string memory leakVineeth TM1-0/+3
The string got using g_strdup_printf will be allocated memory and should be freed after use. https://bugzilla.gnome.org/show_bug.cgi?id=758161
2015-11-15v4l2/object: remove unnecessary NULL check before g_free()Reynaldo H. Verdejo Pinochet1-4/+2
2015-11-15osssrc: remove unnecessary NULL check before g_free()Reynaldo H. Verdejo Pinochet1-2/+1
2015-11-15sunaudiosrc: remove unnecessary NULL checks before g_free()Reynaldo H. Verdejo Pinochet1-2/+1
2015-11-15wavparse: remove unnecessary NULL checks before g_free()Reynaldo H. Verdejo Pinochet1-4/+2
2015-11-15matroskamux: remove unnecessary NULL checks before g_free()Reynaldo H. Verdejo Pinochet1-4/+2
2015-11-15matroska/read-common: remove unnecessary NULL checks before g_free()Reynaldo H. Verdejo Pinochet1-4/+2
2015-11-15isomp4/atoms: remove unnecessary NULL checks before g_free()Reynaldo H. Verdejo Pinochet1-5/+2