summaryrefslogtreecommitdiff
path: root/gst
Commit message (Collapse)AuthorAgeFilesLines
* compositor: update disted orc backup filesTim-Philipp Müller2018-11-022-2/+612
|
* compositor: Fix enum type mismatchVíctor Manuel Jáquez Leal2018-10-311-3/+3
| | | | | The variable blend_mode is GstCompositorBlendMode but it is assigned to a GstCompositorOperator enum value.
* compositor: fix undeclared functionsJohan Bjäreholt2018-10-301-0/+2
|
* compositor: Implement different operators via per-pad propertySebastian Dröge2018-10-285-197/+220
| | | | | | | | | | | | | This removes the crossfade-ratio property and replaces it with an operator property. Currently this implements the following operators: - SOURCE: Copy over the source and don't look at the destination - OVER: Default blending of the source over the destination - ADD: Like OVER but simply adding the alpha instead See the example for how to implement crossfading with this. https://bugzilla.gnome.org/show_bug.cgi?id=797169
* compositor: Remove extra header for the pad declarationSebastian Dröge2018-10-274-71/+38
| | | | | There's no reason for having this separate apart from making things less discoverable.
* meson: Replace empty configuration_data() with copy keywordSeungha Yang2018-10-174-8/+8
| | | | | | | | Use 'copy' keyword to avoid meson warning message. Note that 'copy' keyword in configure_file() is available since meson 0.47.0 https://bugzilla.gnome.org/show_bug.cgi?id=797298
* avwait: Fix sending of dropping=true messagesVivia Nikolaidou2018-10-041-0/+6
| | | | | | | | | If the first audio buffer to be dropped started right between two video buffers (after the end of the first but before the start of the second, as is often the case with N/1001 video frame rates), we would miss sending the dropping=true message. https://bugzilla.gnome.org/show_bug.cgi?id=797248
* mpegtsmux: add custom AC-3 descriptorMathieu Duponchelle2018-09-271-0/+4
| | | | | | | | | | | | | | | tsdemux expects a custom descriptor (GST_MTS_DESC_AC3_AUDIO_STREAM) to detect a stream as AC3 and not EAC3. Note that tsdemux expects this descriptor because mpegtsmux writes a stream with a HDMV registration descriptor. Fixes: gst-launch-1.0 -v audiotestsrc ! avenc_ac3 ! ac3parse ! mpegtsmux ! \ tsdemux ! ac3parse ! avdec_ac3 ! audioconvert ! autoaudiosink https://bugzilla.gnome.org/show_bug.cgi?id=797220
* avwait: Send dropping=true message after all streams stoppedVivia Nikolaidou2018-09-212-11/+77
| | | | | | | | | | | Previously it was dispatched before the last video buffer, and audio buffers would follow afterwards. It's misleading to send the dropping=true message before both streams have really stopped, it can lead to races when someone is e.g. waiting for that message to send EOS. Also added some debug output. https://bugzilla.gnome.org/show_bug.cgi?id=797145
* h265parse: Fix periodic SPS/PPS sending work after a seekSeungha Yang2018-09-101-1/+5
| | | | | | | Apply the commit ef71b61 See also https://bugzilla.gnome.org/show_bug.cgi?id=742212 https://bugzilla.gnome.org/show_bug.cgi?id=754124
* h265parse: Add support insert parameter set per IDRSeungha Yang2018-09-102-112/+132
| | | | | | | Apply commits 0c04e00, bf0d952 and a0876aa to h265parse. See also https://bugzilla.gnome.org/show_bug.cgi?id=766803 https://bugzilla.gnome.org/show_bug.cgi?id=754124
* h265parse: Don't discard first AU delimiterSeungha Yang2018-09-101-0/+6
| | | | | | Apply the commit 48a1f27 https://bugzilla.gnome.org/show_bug.cgi?id=754124
* h265parse: Consider SEI NALU as "HEADER" packetsSeungha Yang2018-09-101-0/+1
| | | | | | Apply the commit 69c09c3 https://bugzilla.gnome.org/show_bug.cgi?id=754124
* h265parse: Don't unref buffer that was unreffed just a few lines before alreadySeungha Yang2018-09-101-1/+0
| | | | | | Apply the commit 9b50a12 https://bugzilla.gnome.org/show_bug.cgi?id=754124
* h265parse: Reset the parser information when caps changesSeungha Yang2018-09-101-19/+36
| | | | | | Apply the commit 14f6fcd https://bugzilla.gnome.org/show_bug.cgi?id=754124
* h265parse: Fix collection of access units to preserve config headersSeungha Yang2018-09-101-2/+9
| | | | | | | Apply the commit 7d44a51 See also https://bugzilla.gnome.org/show_bug.cgi?id=732203 https://bugzilla.gnome.org/show_bug.cgi?id=754124
* h265parse: Improve conditions for skipping NAL unitsSeungha Yang2018-09-101-14/+36
| | | | | | See also https://bugzilla.gnome.org/show_bug.cgi?id=732203 https://bugzilla.gnome.org/show_bug.cgi?id=754124
* h265parse: Introduce new state tracking variablesSeungha Yang2018-09-102-1/+33
| | | | | | | | | | | | | | Direct applying the commit 7bb6443. This could fix also unexpected nal dropping when nonzero "config-interval" is set. (e.g., gst-launch-1.0 videotestsrc ! x265enc key-int-max=30 ! h265parse config-interval=30 ! avdec_h265 ! videoconvert ! autovideosink) Similar to the h264parse, have_{vps,sps,pps} variables will be used for deciding on when to submit updated caps or not, and rather mean "have new SPS/PPS to be submitted?" See also https://bugzilla.gnome.org/show_bug.cgi?id=732203 https://bugzilla.gnome.org/show_bug.cgi?id=754124
* h265parse: Fix and optimize NAL collection functionSeungha Yang2018-09-101-3/+3
| | | | | | | Adopt h264parse's _collect_nal() behavior. See also commit 5601c87 and https://bugzilla.gnome.org/show_bug.cgi?id=732154 https://bugzilla.gnome.org/show_bug.cgi?id=754124
* h265parse: Unref/replace force_key_unit_event in gst_h265_parse_resetSeungha Yang2018-09-101-1/+1
| | | | | | Apply the commit 36a2aca https://bugzilla.gnome.org/show_bug.cgi?id=754124
* h265parse: Copy over DISCONT flag from input buffersSeungha Yang2018-09-102-0/+14
| | | | | | Apply the commit 10ffa08 https://bugzilla.gnome.org/show_bug.cgi?id=754124
* watchdog: Add missing static keywordNicolas Dufresne2018-09-101-4/+2
| | | | get/set_property method should have been static.
* timecodestamper: Fix typo in set_drop_frameVivia Nikolaidou2018-09-031-1/+1
| | | | | Was checking if fps_d == 60000 (instead of fps_n), causing 60000/1001 to be always falsely interpreted as non-drop-frame
* audiobuffersplit: Fix format string warningJohan Bjäreholt2018-08-281-2/+2
| | | | | | | We have a GST_DEBUG_OBJECT, which prints a guint64 with %lu which gave a compiler warning. Used G_GUINT64_FORMAT instead. https://bugzilla.gnome.org/show_bug.cgi?id=797036
* freeverb: update for g_type_class_add_private() deprecationTim-Philipp Müller2018-08-191-8/+5
| | | | Not that the private struct is really needed here.
* audiobuffersplit: Add a gapless mode which inserts silence/drops samples on ↵Sebastian Dröge2018-08-172-11/+178
| | | | | | disconts The output is always a continguous stream without any gaps.
* audiobuffersplit: Always set DISCONT flag after resyncsSebastian Dröge2018-08-171-0/+4
|
* audiobuffersplit: Keep track of resync time separatelySebastian Dröge2018-08-172-5/+3
| | | | | | If we drain after a discont, the discont time given by the stream synchronizer is already the time after the discontinuity. But we need to drain all pending data based on the previous discont time instead.
* audiobuffersplit: Update output buffer size after each buffer to compensate ↵Sebastian Dröge2018-08-171-0/+7
| | | | | | for accumulated errors https://bugzilla.gnome.org/show_bug.cgi?id=796981
* avwait: Start video and audio together if audio starts lateVivia Nikolaidou2018-08-172-14/+72
| | | | | | Also add test to meson https://bugzilla.gnome.org/show_bug.cgi?id=796977
* compositor: Define crossfade-ratio to have range [0.0,1.0]Sebastian Dröge2018-08-161-10/+9
| | | | | | | Previously negative values had the same effect as 0.0, which was confusing. https://bugzilla.gnome.org/show_bug.cgi?id=796845
* rfbdecoder: don't free decoder dataWim Taymans2018-08-161-3/+0
| | | | The decoder data is freed when we read more data.
* avwait: Don't wait if audio_running_time_to_wait_for is NONEVivia Nikolaidou2018-08-011-12/+2
| | | | | | | | The case is properly handled a few lines below by dropping the buffer. We shouldn't perpetually block the audio chain function until the target-timecode is reached. https://bugzilla.gnome.org/show_bug.cgi?id=796906
* jpegparse: Generate timestamp if framerate is knownNicolas Dufresne2018-07-271-0/+3
| | | | | | | | | This change allow setting timestamp on streams that would otherwise have no timestamp. This is useful to make a video from bunch of JPEG files. An example of such pipeline would be: gst-launch-1.0 multifilesrc location=%05d.jpeg caps=image/jpeg,framerate=30/1 \ ! jpegparse ! fakesink silent=0 -v
* Add feature options for almost all pluginsNirbheek Chauhan2018-07-271-1/+1
| | | | | | | The only plugins remaining are those that haven't been ported to Meson yet, and msdk. Also, the tests are still automagic. https://bugzilla.gnome.org/show_bug.cgi?id=795107
* meson: Add feature options for many pluginsNirbheek Chauhan2018-07-271-63/+18
| | | | | | | The rest will be converted later, these are necessary for gst-build to set options correctly. https://bugzilla.gnome.org/show_bug.cgi?id=795107
* compositor: Don't leak all buffers while crossfading and not all pads are ↵Sebastian Dröge2018-07-261-0/+5
| | | | crossfading
* avwait: Add recording propertyVivia Nikolaidou2018-07-242-40/+164
| | | | | | | | It works like a valve in front of the actual avwait. When recording == TRUE, other rules are then examined. When recording == FALSE, nothing is passing through. https://bugzilla.gnome.org/show_bug.cgi?id=796836
* compositor: Use 255 as maximum alpha instead of 256Sebastian Dröge2018-07-231-7/+5
| | | | | | | | | | | | | | | | | | | 255 will easily become 0 in the blending function as they expect the maximum value to be 255. Can be reproduce with gst-launch-1.0 videotestsrc pattern=ball ! c.sink_0 \ videotestsrc pattern=snow ! c.sink_1 \ compositor name=c \ sink_0::zorder=0 sink_1::zorder=1 sink_0::crossfade-ratio=0.5 \ background=black ! \ videoconvert ! xvimagesink crossfade-ratio +/- 0.001 makes it work correctly and the same happens at e.g. 0.25, 0.75, N*0.0625 https://bugzilla.gnome.org/show_bug.cgi?id=796846
* compositor: Update conversion info in property setterSeungha Yang2018-07-181-4/+4
| | | | | | | ... not in getter. Otherwise, video-converter will not be updated with new width/height https://bugzilla.gnome.org/show_bug.cgi?id=796828
* ivfparse: Add the AV01 FOURCC for parsing AV1 IVFsGeorg Ottinger2018-06-291-1/+9
| | | | | | | | | | Adds AV01 FOURCC to the list of allowed media files, in order to allow parsing the IVF Container holding AV1 content. At a later point dynamic resolution change can be supported - therefore the sequence header OBU and frame header OBU of AV1 file must be parsed, which can be done in future with the help of gst-lib gstav1parse. https://bugzilla.gnome.org/show_bug.cgi?id=796677
* jpegformat: get rid of unnecessary private structsTim-Philipp Müller2018-06-234-188/+154
|
* tsdemux: Don't set invalid seqnum on segment eventNicolas Dufresne2018-06-191-1/+3
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=796623
* tsdemux: Don't query duration if program isn't activeEdward Hervey2018-06-121-0/+5
|
* mpegtsdemux: Fix SEGMENT seqnum propagationEdward Hervey2018-06-063-3/+10
| | | | | * If the seek was handled upstream, use that SEGMENT seqnum * Use the proper invalid default value
* gdp: ignore timestamp of eventKyrylo Polezhaiev2018-05-072-3/+3
| | | | | | This field is not used and will be removed in 2.0 API. https://bugzilla.gnome.org/show_bug.cgi?id=761462
* videoaggregator: Switch to a GstVideoAggregatorConvertPad subclassSebastian Dröge2018-05-062-221/+55
| | | | | | This moves all the conversion related code to a single place, allows less code-duplication inside compositor and makes the glmixer code less awkward. It's also the same pattern as used by GstAudioAggregator.
* videoaggregator: Move needs_alpha pad field to the private structSebastian Dröge2018-05-051-1/+2
| | | | | | And also trigger renegotiation if the value has changed. https://bugzilla.gnome.org/show_bug.cgi?id=795836
* videoaggregator: Move aggregated_frame and the pad buffer into the private ↵Sebastian Dröge2018-05-051-52/+46
| | | | | | | | | struct The aggregated_frame is now called prepared_frame and passed to the prepare_frame and cleanup_frame virtual methods directly. For the currently queued buffer there is a method on the video aggregator pad now.
* videoaggregator: Move GstChildProxy implementations into leaf classesSebastian Dröge2018-05-041-1/+90
| | | | | | Not every subclass will want to expose the pads via the interface. https://bugzilla.gnome.org/show_bug.cgi?id=739011