summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-06-07rtspsrc: uniquify stream idsHEADmasterMathieu Duponchelle2-0/+53
https://bugzilla.gnome.org/show_bug.cgi?id=783307
2017-06-07meson: Do not use path separator in test namesThibault Saunier1-2/+3
Avoiding warnings like: WARNING: Target "elements/audioamplify" has a path separator in its name.
2017-06-06Fix v4l2 exampleNicolas Dufresne1-8/+10
2017-06-06qtdemux: remove not needed codeJimmy Ohn1-3/+2
remove not needed code about res variable. https://bugzilla.gnome.org/show_bug.cgi?id=783422
2017-06-05v4l2videoenc: Make sure min_buffers is validNicolas Dufresne1-2/+3
When upstream does no use the v4l2videoenc pool, we need to activate that internal pool. Though, we relied the driver to provide a minimum required buffer, which Qualcomm Venus driver don't currently provide. https://bugzilla.gnome.org/show_bug.cgi?id=783361
2017-06-02rtph265depay: fix caps leakTim-Philipp Müller1-0/+1
2017-06-01rtph264depay: simplify buffer accumulation control flowTim-Philipp Müller1-29/+16
There is no difference between pushing out a buffer directly with gst_rtp_base_depayload_push() and returning it from the process function. The base class will just call _depayload_push() on the returned buffer as well. So instead of marshalling buffers through three layers and back, just push them from one place in handle_nal() and always return NULL from the process vfunc. This simplifies the code a little. Also rename _push_fragmentation_unit() to _finish_fragmentation_unit() for clarity. Push sounds like it means being pushed out, whereas it might just be pushed into an adapter. This change has the side-effect that multiple NALs in a single STAP (such as SPS/PPS) may no longer be pushed out as a single buffer if we output NALs in byte-stream format (i.e. not aggregate AUs), but that shouldn't really make any difference to anyone.
2017-05-31rtpsession: print value of unknown RTCP Payload TypeJuan Navarro1-1/+1
This adds printing the actual value of any unknown RTCP PT to the already existing WARNING log message. https://bugzilla.gnome.org/show_bug.cgi?id=783248
2017-05-26v4l2videoenc: Don't leak VideoCodecStateEdward Hervey1-1/+3
CID #1409852
2017-05-26dvdemux: Remove un-needed variable checkEdward Hervey1-1/+1
if pad wasn't present by now everything would have broken before CID #1409854
2017-05-25po: update POTFILESPiotr Drąg1-0/+1
https://bugzilla.gnome.org/show_bug.cgi?id=783093
2017-05-24v4l2videoenc: Remove unused functionNicolas Dufresne1-12/+0
2017-05-24v4l2: Don't redefine __bitwise if already setNicolas Dufresne1-8/+13
https://bugzilla.gnome.org/show_bug.cgi?id=728438
2017-05-24v4l2: Add Video Encoder supportAyaka7-0/+1656
This implements H264 encoding support using generic V4L2 interface. It is reported to work with Samsung MFC driver, IXM.6 CODA driver and Qualcomm mainline Venus driver. Other platform should be supported as none of this work is platform specific. The implementation consist of a GstV4l2VideoEnc base class, which implements the core streaming functionality. This base class is implemented by GstV4l2H264Enc class that implements the caps negotiation specific to H264 profiles and level. This implementation supports hardware with multiple H264 encoder. Though, to make it simplier to use, the first discovered H264 encoder will be named v4l2h264enc. Other encoder found during discovery will have a unique name like v4l2video0h264enc. This work is the combined work of multiple developpers in the last 3 years. Thanks to all of the contributors: Ayaka <ayaka@soulik.info> Frédéric Sureau <frederic.sureau@vodalys.com> Jean-Michel Hautbois <jean-michel.hautbois@veo-labs.com> Nicolas Dufresne <nicolas.dufresne@collabora.com> Pablo Anton <pablo.anton@vodalys-labs.com> https://bugzilla.gnome.org/show_bug.cgi?id=728438
2017-05-24v4l2videodec: Remove unused forward declarationNicolas Dufresne1-2/+0
https://bugzilla.gnome.org/show_bug.cgi?id=728438
2017-05-24v4l2pool: Fix wrong error messageAyaka1-1/+1
https://bugzilla.gnome.org/show_bug.cgi?id=728438
2017-05-24v4l2: increase pre-allocated encoded buffer sizeAyaka1-1/+1
As of today, the MFC encoder often need to exceed that 1 MB size for encoded buffer we fixed earlier for decoding. https://bugzilla.gnome.org/show_bug.cgi?id=728438
2017-05-24rtpopusdepay: minor perf improvementsTim-Philipp Müller1-8/+5
Use the ::process_rtp_packet() vfunc to avoid mapping the RTP buffer twice. gst_rtp_buffer_get_payload_buffer() returns a new sub-buffer which will always be writable, so no need to make it writable.
2017-05-24rtp: opus: use existing utility funcs for copying/dropping metasTim-Philipp Müller2-55/+6
We had our own copies of those while the code was in -bad, but now we can use the existing utility functions instead of re-implementing them.
2017-05-24rtp: cache meta tag quarks and add more utility functions for metasTim-Philipp Müller59-142/+124
Every g_quark_from_static_string() is a hash table lookup serialised on the global quark lock in GLib. Let's just look up the two quarks we need once and cache them locally for future use. While we're at it, add new utility functions for the two most commonly used tags (audio + video). Make first argument a gpointer so we don't have to cast and make the code ugly. These are used for logging purposes only anyway.
2017-05-24aacparse : Fix, Caps were not set while reusing aacparsevijay1-0/+6
While reusing aacparse caps were not set.This fix enables aacparse to reuse in same pipeline. https://bugzilla.gnome.org/show_bug.cgi?id=783027
2017-05-21meson: don't need config.h.meson any longerTim-Philipp Müller3-434/+2
2017-05-21shout2send: use non-blocking I/O and a configurable network operations timeoutGeorge Kiagiadakis2-4/+131
This allows timing out on network errors much earlier (currently it takes ~15min to timeout) and we can still unlock and change state in the meantime. https://bugzilla.gnome.org/show_bug.cgi?id=571722
2017-05-21meson: make C++ compiler optionalTim-Philipp Müller2-2/+2
It's only needed for the taglib plugin which is optional.
2017-05-21multifile: remove some cruftTim-Philipp Müller1-148/+0
2017-05-20osxaudio: fixes playback of mono streams with no channel-mask field in capsJosep Torra1-14/+23
Fixes a negotiation error seen when trying to playback of a .MOV file with a mono AAC audio stream decoded by avcdec_aac that doesn't set channel-mask field but sink was requiring channel-mask=0x3.
2017-05-20dvdemux: Push tag event to both padsRavi Kiran K N2-32/+43
Tags are pushed to "videosrcpad"/"audiosrcpad" in gst_dvdemux_add_pad() method, however they will be NULL in this method, hence tags are not pushed. Instead, send tag event to "pad" created gst_dvdemux_add_pad(). Signal no-more-pads when both pads are created https://bugzilla.gnome.org/show_bug.cgi?id=743657
2017-05-20meson: add options to set package name and originTim-Philipp Müller3-5/+18
https://bugzilla.gnome.org/show_bug.cgi?id=782172
2017-05-20multifilesink: fix property name in example pipelineLuis de Bethencourt1-1/+1
Since the move from CVS the property name of the documentation example has been filename instead of location. Users trying the gst-launch command as is will get: no property name "filename" in element Fixing it.
2017-05-20osxvideo: fix macOS 10.12 deprecation warningsJosep Torra2-11/+28
Add #defines to allow older versions of macOS to use the new constant names.
2017-05-18isomp4: Safely ignore [skip] atomsEdward Hervey3-1/+5
Instead of warning about them
2017-05-18souphttpsrc: Make session sharing thread-safe on our sideSebastian Dröge2-4/+17
https://bugzilla.gnome.org/show_bug.cgi?id=780140
2017-05-18Fix up package name and origin in some pluginsTim-Philipp Müller2-9/+2
2017-05-17gst: Clear floating flag in constructor of all GstObject subclasses that are ↵Sebastian Dröge2-0/+2
not owned by any parent https://bugzilla.gnome.org/show_bug.cgi?id=743062
2017-05-171394: Sink the clock reference in the constructorSebastian Dröge1-0/+3
This is now needed as GstClock does not do that internally anymore, because that broke bindings. https://bugzilla.gnome.org/show_bug.cgi?id=743062
2017-05-16pulse: Accept MPEG 1 layer 3 version 2.5Nicolas Dufresne1-1/+1
https://bugzilla.gnome.org/show_bug.cgi?id=781929
2017-05-16Remove plugin specific static build optionNicolas Dufresne70-94/+0
Static and dynamic plugins now have the same interface. The standard --enable-static/--enable-shared toggle are sufficient.
2017-05-16splitmuxsink: Add alignment-threshold argumentVivia Nikolaidou2-3/+35
If a non-reference stream is behind the reference stream by an amount of time smaller than the alignment threshold (in nsec), it counts as being after it. https://bugzilla.gnome.org/show_bug.cgi?id=782563
2017-05-16qtmux: Do not check timecode data for mp4 containerVivia Nikolaidou1-27/+38
Timecode trak is only supported for mov right now, not for mp4. That code would otherwise create an invalid trak if the muxed video contained timecode metadata. https://bugzilla.gnome.org/show_bug.cgi?id=782684
2017-05-11qtmux: When accepting renegotiation, just return TRUE and change nothingSebastian Dröge1-4/+10
We only accept new caps if they are basically the same. We don't want to reset anything as if the caps are new, otherwise various state could get out of sync with the current run.
2017-05-11qtmux: In prefill mode, only pad buffers with > 0 sized memories as neededSebastian Dröge1-7/+12
Adding a 0-byte memory has not much effect. Also add some debug output.
2017-05-10qtmux: Lateness is in QT timescale, diff in GstClockTimeSebastian Dröge1-1/+1
Print the right one in debug output to get meaningful numbers.
2017-05-10qtmux: Error out if a gap edit list has to be written in prefill modeSebastian Dröge1-0/+17
We don't have any space reserved for this in the moov and the pre-finalized moov would have broken A/V synchronization. Error out here now
2017-05-10qtmux: Calculate with reserved moov size instead of last moov sizeSebastian Dröge1-7/+2
We have some padding added after the initial moov, so a bigger updated moov can be handled to some degree and is expected. Previously we just ignored the padding and errored out in cases when the padding would've just been enough.
2017-05-10qtmux: Error out directly if sending filler data results in a flow errorSebastian Dröge1-0/+2
CID 1405994
2017-05-09qtmux: In prefill mode, handle the case when only the first chunk was ever usedSebastian Dröge1-2/+7
2017-05-09souphttpsrc: Use a in-memory cookie jar by default in sessions we createdSebastian Dröge1-0/+1
This ensures that cookies are stored and used as set by the server, and shared with other souphttpsrc that use the same SoupSession. https://bugzilla.gnome.org/show_bug.cgi?id=780140
2017-05-09souphttpsrc: Implement soup session sharingSebastian Dröge2-31/+161
souphttpsrc now shares its SoupSession with other elements in the pipeline via GstContext if possible (session-wide settings are all the defaults), or if the context was forced by the application. This allows multiple souphttpsrcs to reuse connections, cookies, etc. https://bugzilla.gnome.org/show_bug.cgi?id=780140
2017-05-09qtmux: Add new prefill recording modeSebastian Dröge4-20/+934
This sets up a moov with the correct sample positions beforehand and only works with constant framerate, I-frame only streams. Currently only support for ProRes and raw audio is implemented but adding new codecs is just a matter of defining appropriate maximum frame sizes. https://bugzilla.gnome.org/show_bug.cgi?id=781447
2017-05-09qtmux: Error out on discontinuities/gaps when muxing raw audioSebastian Dröge2-2/+53
When muxing raw audio, we have no way of storing timestamps but are just storing a continuous stream of audio samples. If the difference between the expected and the real timestamp becomes to big, we should error out instead of silently creating files with wrong A/V sync. https://bugzilla.gnome.org/show_bug.cgi?id=780679