summaryrefslogtreecommitdiff
path: root/gst
Commit message (Collapse)AuthorAgeFilesLines
* h264parse: extract CEA-708 closed captionsTim-Philipp Müller2019-04-082-0/+107
| | | | | | | | | | Expose SEI data in the H.264 bitstream parser API and extract closed captions and other things that are not specified in the H.264 spec itself in the videoparser. Based on patch by: Mathieu Duponchelle <mathieu@centricular.com> https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/940
* rtponviftimestamp: prioritize PTS over DTS for NTP timestampMathieu Duponchelle2019-04-051-4/+4
| | | | | | | | | NTP timestamps are supposed to match the expected presentation time, prefering the DTS to compute them was incorrect. <https://www.onvif.org/specs/stream/ONVIF-Streaming-Spec.pdf> Section 6.3.1: NTP Timestamps
* rtponviftimestamp: buffer without PTS or DTS is not an error.Mathieu Duponchelle2019-04-051-1/+1
| | | | | For example, when plugged after rtpgstpay, serialized events will have neither.
* rtponviftimestamp: implement support for the T flagMathieu Duponchelle2019-04-052-3/+32
| | | | | | https://www.onvif.org/specs/stream/ONVIF-Streaming-Spec.pdf 6.3 RTP header extension
* h264parse, h265parse: take unit_field_based_flag into account ..Mathieu Duponchelle2019-04-022-12/+21
| | | | | | | when computing timecode metas. Depending on the value of that flag, n_frames is to be interpreted as a number of fields or a number of frames. As GstVideoTimeCodeMeta always deals with frames, we want to scale that number when needed.
* h265parse: forward time codesMathieu Duponchelle2019-04-012-4/+90
| | | | This transforms time code SEIs into GstVideoTimeCodeMeta
* h264parse: forward time codesMathieu Duponchelle2019-04-012-4/+92
| | | | | This transforms time codes from the timing SEI into GstVideoTimeCodeMeta
* mpegvideoparse: add debug code for closed captionsAaron Boxer2019-03-271-3/+42
| | | | | | This debug code will help determine why certain instances of closed captions that are present in the Picture User Data are not actually processed by the pipeline
* h265parse: ignore VUI parse fail when parse SPSHaihua Hu2019-03-261-2/+8
| | | | | VUI is an optional for SPS parse, some HEVC file has incorrect VUI parameters but still can be decoded
* mxfdemux: Avoid possible NULL caps 'dereferencing'Thibault Saunier2019-03-211-2/+4
|
* netsim: don't use G_INLINE_FUNCTim-Philipp Müller2019-03-181-2/+2
| | | | It's deprecated. Just use 'inline'.
* mpegtsmux: restore stream creation orderMathieu Duponchelle2019-02-271-7/+6
| | | | | | | | | | | | | | | In 7c767f3fcd5a7b40d205bb4d588dad6c6275c729 , stream creation was refactored to occur before potential program creation. This created issues with pipelines such as: gst-launch-1.0 videotestsrc ! video/x-raw, format=I420, width=640, height=640, framerate=25/1 ! \ x264enc ! hlssink2 target-duration=1 eg.: gst_buffer_copy_into: assertion 'bufsize >= offset + size' failed As this reordering was actually not needed for the purpose of allowing to specify a PCR stream, this reverts the reordering part of the initial commit.
* audiobuffersplit: Added max-silence-time propertyVivia Nikolaidou2019-02-212-82/+117
|
* mpegtsmux: allow specifying the PID of the PCR streamMathieu Duponchelle2019-02-201-5/+21
| | | | | The structure passed through the prog-map can now contain a PCR_<prog_id>=sink_<PID> key-value pair.
* tsdemux: Skew correction should use the upstream DTSJan Schmidt2019-02-131-3/+6
| | | | | | | The MPEG-TS packetiser should use the upstream DTS for skew correction when running in that mode, as the DTS carries the upstream arrival time. The PTS (if it's set at all) is less useful, and can be invalid.
* misc: Fix warnings on Cerbero MinGWNirbheek Chauhan2019-02-061-1/+1
| | | | | | | | | | | | | | | | | | gstladspa.c:360:5: error: zero-length ms_printf format string [-Werror=format-zero-length] vad_private.c:108:3: error: this decimal constant is unsigned only in ISO C90 [-Werror] gstdecklinkvideosink.cpp:478:32: error: comparison between 'BMDTimecodeFormat {aka enum _BMDTimecodeFormat}' and 'enum GstDecklinkTimecodeFormat' [-Werror=enum-compare] win/DeckLinkAPI_i.c:72:8: error: extra tokens at end of #endif directive [-Werror] win/DeckLinkAPIDispatch.cpp:35:10: error: unused variable 'res' [-Werror=unused-variable] gstwasapiutil.c:733:3: error: format '%x' expects argument of type 'unsigned int', but argument 8 has type 'DWORD' [-Werror=format] gstwasapiutil.c:733:3: error: format '%x' expects argument of type 'unsigned int', but argument 9 has type 'guint64' [-Werror=format] kshelpers.c:446:3: error: missing braces around initializer [-Werror=missing-braces] kshelpers.c:446:3: error: (near initialization for 'known_property_sets[0].guid.Data4') [-Werror=missing-braces]
* testbin: Do not take FlowCombiner into account when flushingThibault Saunier2019-01-311-3/+6
| | | | | | | | The way FlowCombiner combines the FLUSH doesn't work in the case we have several "sinkpads" since any flush return FLUSH. But in the case we have a seek where on one branch flush is done, we should just say OK otherwise we might return FLUSHING to a src that has already been seeked and is ready to process new buffers
* testbin: Forward seek to all sourcesThibault Saunier2019-01-311-0/+36
|
* mpegpsmux: add stream-format and alignment to H.264 capsNicola Murino2019-01-241-1/+2
|
* mpegdemux: add support for H.265Nicola Murino2019-01-242-0/+10
|
* mpegdemux: add stream format to H.264 capsNicola Murino2019-01-241-1/+2
|
* removesilence: Add $(LIBM) to librariesSebastian Dröge2019-01-171-1/+1
| | | | | | | /usr/bin/ld: .libs/libgstremovesilence_la-vad_private.o: in function `vad_set_threshold': ./gst/removesilence/vad_private.c:108: undefined reference to `pow' /usr/bin/ld: .libs/libgstremovesilence_la-vad_private.o: in function `vad_get_threshold_as_db': ./gst/removesilence/vad_private.c:114: undefined reference to `log10'
* Remove compositor plugin which was moved to -baseTim-Philipp Müller2018-12-2712-7567/+1
| | | | https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/138
* Remove GstVideoAggregator, moved into libgstvideo in -baseTim-Philipp Müller2018-12-262-3/+2
| | | | https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/137
* stereo: remove plugin which has been merged into audiofx in -goodTim-Philipp Müller2018-12-256-299/+1
| | | | https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/457
* timecodestamper: Don't use deprecated APISebastian Dröge2018-12-201-2/+9
|
* meson: install freeverb preset fileTim-Philipp Müller2018-12-171-0/+2
|
* removesilence: add libm to meson.buildNicola Murino2018-12-141-1/+1
|
* removesilence: reset filter on start and on segment eventsNicola Murino2018-12-142-8/+50
|
* removesilence: improve documentationNicola Murino2018-12-141-4/+11
|
* removesilence: add threshold propertyNicola Murino2018-12-143-5/+38
| | | | | | | silence thresold was hardcoded to -60 dB, now it is configurable using this new property Closes #63
* removesilence: add properties to detect silence only after minimum silence ↵Nicola Murino2018-12-142-3/+67
| | | | | | time/buffers Closes #63
* removesilence: add silent property to control bus message notificationsNicola Murino2018-12-142-15/+33
| | | | Closes #63
* removesilence: post bus messages when silence is detected/finishedNicola Murino2018-12-142-0/+25
| | | | Closes #63
* removesilence: add squash propertyNicola Murino2018-12-142-2/+37
| | | | | | allows to output buffers without timestamp gap when silence is removed Closes #63
* h26{4,5}parse: Don't confuse nal of codec_data with frameSeungha Yang2018-12-132-0/+9
| | | | | | vps/sps/pps in codec_data shouldn't be considered as inband data. Otherwise, h26{4,5}parse never insert them to nal when transform (packetized to byte-stream) use case
* mpegvideoparse: extract CEA-708 closed captionsTim-Philipp Müller2018-12-112-0/+85
|
* mpegtsmux: Handle zero-sized buffers correctly without going into an ↵Sebastian Dröge2018-12-101-1/+1
| | | | | | infinite loop Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/844
* h265parse: process SEI recovery pointGuillaume Desmottes2018-12-021-0/+8
| | | | | | | | | Similar change as the on I did in h264parse. We want to process SEI recovery point as keyframe so muxers will mark them as seek points and decoders will be able to start decoding from them rather than waiting for an IDR. https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/790
* h265parse: parse SEI messagesGuillaume Desmottes2018-12-021-1/+31
| | | | | | | Don't do anything with them yet. I just copied the parsing and processing logic from h264parse. https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/790
* h264parse: mark SEI Recovery Point as keyframesGuillaume Desmottes2018-12-021-0/+1
| | | | | | | | | | | | | The spec states that "recovery point SEI message assists a decoder in determining when the decoding process will produce acceptable pictures for display after the decoder initiates random access or after the encoder indicates a broken link in the coded video sequence." Mark those as keyframes so muxers will mark them as seek points and decoders will be able to start decoding from them rather than waiting for an IDR. https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/790
* h265parse: Don't duplicate VPS/SPS/PPS per config-interval if existsSeungha Yang2018-11-302-0/+17
| | | | | | Don't need to manually insert VPS/SPS/PPS since inband data could be useable. Also fixes #824
* h264parse: Don't duplicate SPS/PPS per config-interval if existsSeungha Yang2018-11-302-0/+13
| | | | | | Don't need to manually insert SPS/PPS since inband data could be useable. Fixes #824
* siren: Fix floating point invalid operationLars Petter Endresen2018-11-151-4/+4
| | | | | | Mix of single and double precision leads to zero-by-zero divide for upper 64-bit of the xmm register, even though they are not used.
* tsdemux: implement preliminary support for the bitrate queryMatthew Waters2018-11-073-0/+63
| | | | | | Return the size / total duration as a ballpark estimate. https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/60
* 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.