Copy disabled (too large)
Download .txt
Showing preview only (52,352K chars total). Download the full file to get everything.
Repository: GStreamer/gst-plugins-bad
Branch: master
Commit: ca8068c6d793
Files: 2775
Total size: 49.4 MB
Directory structure:
gitextract_5dm82u6t/
├── .gitignore
├── .gitlab-ci.yml
├── .indentignore
├── AUTHORS
├── COPYING
├── ChangeLog
├── MAINTAINERS
├── NEWS
├── README
├── README.static-linking
├── RELEASE
├── REQUIREMENTS
├── data/
│ ├── meson.build
│ └── targets/
│ ├── device/
│ │ └── dvd.gep
│ ├── file-extension/
│ │ ├── avi.gep
│ │ ├── flv.gep
│ │ ├── mkv.gep
│ │ ├── mp3.gep
│ │ ├── mp4.gep
│ │ ├── oga.gep
│ │ ├── ogv.gep
│ │ ├── ts.gep
│ │ └── webm.gep
│ └── online-service/
│ └── youtube.gep
├── docs/
│ ├── gst_api_version.in
│ ├── index.md
│ ├── libs/
│ │ ├── adaptivedemux/
│ │ │ ├── index.md
│ │ │ └── sitemap.txt
│ │ ├── audio/
│ │ │ ├── index.md
│ │ │ └── sitemap.txt
│ │ ├── base/
│ │ │ ├── index.md
│ │ │ └── sitemap.txt
│ │ ├── basecamerabinsrc/
│ │ │ ├── index.md
│ │ │ └── sitemap.txt
│ │ ├── codecparsers/
│ │ │ ├── index.md
│ │ │ └── sitemap.txt
│ │ ├── codecs/
│ │ │ ├── index.md
│ │ │ └── sitemap.txt
│ │ ├── insertbin/
│ │ │ ├── index.md
│ │ │ └── sitemap.txt
│ │ ├── mpegts/
│ │ │ ├── index.md
│ │ │ └── sitemap.txt
│ │ ├── opencv/
│ │ │ ├── index.md
│ │ │ └── sitemap.txt
│ │ ├── play/
│ │ │ ├── index.md
│ │ │ └── sitemap.txt
│ │ ├── player/
│ │ │ ├── index.md
│ │ │ └── sitemap.txt
│ │ ├── tools/
│ │ │ ├── index.md
│ │ │ └── sitemap.txt
│ │ ├── transcoder/
│ │ │ ├── index.md
│ │ │ └── sitemap.txt
│ │ ├── video/
│ │ │ ├── index.md
│ │ │ └── sitemap.txt
│ │ ├── vulkan/
│ │ │ ├── index.md
│ │ │ └── sitemap.txt
│ │ ├── vulkan-wayland/
│ │ │ ├── index.md
│ │ │ └── sitemap.txt
│ │ ├── vulkan-xcb/
│ │ │ ├── index.md
│ │ │ └── sitemap.txt
│ │ └── webrtc/
│ │ ├── index.md
│ │ └── sitemap.txt
│ ├── meson.build
│ ├── plugins/
│ │ ├── gst_plugins_cache.json
│ │ ├── index.md
│ │ ├── inspect/
│ │ │ ├── plugin-rist.xml
│ │ │ └── plugin-sctp.xml
│ │ └── sitemap.txt
│ ├── random/
│ │ ├── ChangeLog-0.8
│ │ ├── LICENSE
│ │ └── PORTED_09
│ └── sitemap.txt
├── ext/
│ ├── aes/
│ │ ├── gstaes.c
│ │ ├── gstaesdec.c
│ │ ├── gstaesdec.h
│ │ ├── gstaesenc.c
│ │ ├── gstaesenc.h
│ │ ├── gstaeshelper.c
│ │ ├── gstaeshelper.h
│ │ └── meson.build
│ ├── aom/
│ │ ├── gstaom.c
│ │ ├── gstaom.h
│ │ ├── gstav1dec.c
│ │ ├── gstav1dec.h
│ │ ├── gstav1enc.c
│ │ ├── gstav1enc.h
│ │ ├── gstav1utils.c
│ │ ├── gstav1utils.h
│ │ └── meson.build
│ ├── assrender/
│ │ ├── gstassrender.c
│ │ ├── gstassrender.h
│ │ └── meson.build
│ ├── avtp/
│ │ ├── gstavtp.c
│ │ ├── gstavtpaafdepay.c
│ │ ├── gstavtpaafdepay.h
│ │ ├── gstavtpaafpay.c
│ │ ├── gstavtpaafpay.h
│ │ ├── gstavtpbasedepayload.c
│ │ ├── gstavtpbasedepayload.h
│ │ ├── gstavtpbasepayload.c
│ │ ├── gstavtpbasepayload.h
│ │ ├── gstavtpcrfbase.c
│ │ ├── gstavtpcrfbase.h
│ │ ├── gstavtpcrfcheck.c
│ │ ├── gstavtpcrfcheck.h
│ │ ├── gstavtpcrfsync.c
│ │ ├── gstavtpcrfsync.h
│ │ ├── gstavtpcrfutil.c
│ │ ├── gstavtpcrfutil.h
│ │ ├── gstavtpcvfdepay.c
│ │ ├── gstavtpcvfdepay.h
│ │ ├── gstavtpcvfpay.c
│ │ ├── gstavtpcvfpay.h
│ │ ├── gstavtpsink.c
│ │ ├── gstavtpsink.h
│ │ ├── gstavtpsrc.c
│ │ ├── gstavtpsrc.h
│ │ └── meson.build
│ ├── bs2b/
│ │ ├── gstbs2b.c
│ │ ├── gstbs2b.h
│ │ └── meson.build
│ ├── bz2/
│ │ ├── gstbz2.c
│ │ ├── gstbz2dec.c
│ │ ├── gstbz2dec.h
│ │ ├── gstbz2enc.c
│ │ ├── gstbz2enc.h
│ │ └── meson.build
│ ├── chromaprint/
│ │ ├── gstchromaprint.c
│ │ ├── gstchromaprint.h
│ │ └── meson.build
│ ├── closedcaption/
│ │ ├── bcd.h
│ │ ├── bit_slicer.c
│ │ ├── bit_slicer.h
│ │ ├── decoder.c
│ │ ├── decoder.h
│ │ ├── gstcccombiner.c
│ │ ├── gstcccombiner.h
│ │ ├── gstccconverter.c
│ │ ├── gstccconverter.h
│ │ ├── gstccextractor.c
│ │ ├── gstccextractor.h
│ │ ├── gstcea708decoder.c
│ │ ├── gstcea708decoder.h
│ │ ├── gstceaccoverlay.c
│ │ ├── gstceaccoverlay.h
│ │ ├── gstclosedcaption.c
│ │ ├── gstline21dec.c
│ │ ├── gstline21dec.h
│ │ ├── gstline21enc.c
│ │ ├── gstline21enc.h
│ │ ├── hamm.h
│ │ ├── io-sim.c
│ │ ├── io-sim.h
│ │ ├── macros.h
│ │ ├── meson.build
│ │ ├── misc.h
│ │ ├── raw_decoder.c
│ │ ├── raw_decoder.h
│ │ ├── sampling_par.c
│ │ ├── sampling_par.h
│ │ └── sliced.h
│ ├── colormanagement/
│ │ ├── gstcolormanagement.c
│ │ ├── gstlcms.c
│ │ ├── gstlcms.h
│ │ └── meson.build
│ ├── curl/
│ │ ├── curltask.h
│ │ ├── gstcurl.c
│ │ ├── gstcurlbasesink.c
│ │ ├── gstcurlbasesink.h
│ │ ├── gstcurldefaults.h
│ │ ├── gstcurlelement.c
│ │ ├── gstcurlelements.h
│ │ ├── gstcurlfilesink.c
│ │ ├── gstcurlfilesink.h
│ │ ├── gstcurlftpsink.c
│ │ ├── gstcurlftpsink.h
│ │ ├── gstcurlhttpsink.c
│ │ ├── gstcurlhttpsink.h
│ │ ├── gstcurlhttpsrc.c
│ │ ├── gstcurlhttpsrc.h
│ │ ├── gstcurlqueue.c
│ │ ├── gstcurlqueue.h
│ │ ├── gstcurlsftpsink.c
│ │ ├── gstcurlsftpsink.h
│ │ ├── gstcurlsmtpsink.c
│ │ ├── gstcurlsmtpsink.h
│ │ ├── gstcurlsshsink.c
│ │ ├── gstcurlsshsink.h
│ │ ├── gstcurltlssink.c
│ │ ├── gstcurltlssink.h
│ │ └── meson.build
│ ├── dash/
│ │ ├── gstdash_debug.h
│ │ ├── gstdashdemux.c
│ │ ├── gstdashdemux.h
│ │ ├── gstdashsink.c
│ │ ├── gstdashsink.h
│ │ ├── gstmpdadaptationsetnode.c
│ │ ├── gstmpdadaptationsetnode.h
│ │ ├── gstmpdbaseurlnode.c
│ │ ├── gstmpdbaseurlnode.h
│ │ ├── gstmpdclient.c
│ │ ├── gstmpdclient.h
│ │ ├── gstmpdcontentcomponentnode.c
│ │ ├── gstmpdcontentcomponentnode.h
│ │ ├── gstmpddescriptortypenode.c
│ │ ├── gstmpddescriptortypenode.h
│ │ ├── gstmpdhelper.c
│ │ ├── gstmpdhelper.h
│ │ ├── gstmpdlocationnode.c
│ │ ├── gstmpdlocationnode.h
│ │ ├── gstmpdmetricsnode.c
│ │ ├── gstmpdmetricsnode.h
│ │ ├── gstmpdmetricsrangenode.c
│ │ ├── gstmpdmetricsrangenode.h
│ │ ├── gstmpdmultsegmentbasenode.c
│ │ ├── gstmpdmultsegmentbasenode.h
│ │ ├── gstmpdnode.c
│ │ ├── gstmpdnode.h
│ │ ├── gstmpdparser.c
│ │ ├── gstmpdparser.h
│ │ ├── gstmpdperiodnode.c
│ │ ├── gstmpdperiodnode.h
│ │ ├── gstmpdprograminformationnode.c
│ │ ├── gstmpdprograminformationnode.h
│ │ ├── gstmpdreportingnode.c
│ │ ├── gstmpdreportingnode.h
│ │ ├── gstmpdrepresentationbasenode.c
│ │ ├── gstmpdrepresentationbasenode.h
│ │ ├── gstmpdrepresentationnode.c
│ │ ├── gstmpdrepresentationnode.h
│ │ ├── gstmpdrootnode.c
│ │ ├── gstmpdrootnode.h
│ │ ├── gstmpdsegmentbasenode.c
│ │ ├── gstmpdsegmentbasenode.h
│ │ ├── gstmpdsegmentlistnode.c
│ │ ├── gstmpdsegmentlistnode.h
│ │ ├── gstmpdsegmenttemplatenode.c
│ │ ├── gstmpdsegmenttemplatenode.h
│ │ ├── gstmpdsegmenttimelinenode.c
│ │ ├── gstmpdsegmenttimelinenode.h
│ │ ├── gstmpdsegmenturlnode.c
│ │ ├── gstmpdsegmenturlnode.h
│ │ ├── gstmpdsnode.c
│ │ ├── gstmpdsnode.h
│ │ ├── gstmpdsubrepresentationnode.c
│ │ ├── gstmpdsubrepresentationnode.h
│ │ ├── gstmpdsubsetnode.c
│ │ ├── gstmpdsubsetnode.h
│ │ ├── gstmpdurltypenode.c
│ │ ├── gstmpdurltypenode.h
│ │ ├── gstmpdutctimingnode.c
│ │ ├── gstmpdutctimingnode.h
│ │ ├── gstplugin.c
│ │ ├── gstxmlhelper.c
│ │ ├── gstxmlhelper.h
│ │ └── meson.build
│ ├── dc1394/
│ │ ├── gstdc1394src.c
│ │ ├── gstdc1394src.h
│ │ └── meson.build
│ ├── directfb/
│ │ ├── dfb-example.c
│ │ ├── dfbvideosink.c
│ │ ├── dfbvideosink.h
│ │ └── meson.build
│ ├── dtls/
│ │ ├── README
│ │ ├── gstdtlsagent.c
│ │ ├── gstdtlsagent.h
│ │ ├── gstdtlscertificate.c
│ │ ├── gstdtlscertificate.h
│ │ ├── gstdtlsconnection.c
│ │ ├── gstdtlsconnection.h
│ │ ├── gstdtlsdec.c
│ │ ├── gstdtlsdec.h
│ │ ├── gstdtlselement.c
│ │ ├── gstdtlselements.h
│ │ ├── gstdtlsenc.c
│ │ ├── gstdtlsenc.h
│ │ ├── gstdtlssrtpbin.c
│ │ ├── gstdtlssrtpbin.h
│ │ ├── gstdtlssrtpdec.c
│ │ ├── gstdtlssrtpdec.h
│ │ ├── gstdtlssrtpdemux.c
│ │ ├── gstdtlssrtpdemux.h
│ │ ├── gstdtlssrtpenc.c
│ │ ├── gstdtlssrtpenc.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── dts/
│ │ ├── gstdtsdec.c
│ │ ├── gstdtsdec.h
│ │ └── meson.build
│ ├── faac/
│ │ ├── gstfaac.c
│ │ ├── gstfaac.h
│ │ └── meson.build
│ ├── faad/
│ │ ├── gstfaad.c
│ │ ├── gstfaad.h
│ │ └── meson.build
│ ├── fdkaac/
│ │ ├── gstfdkaac.c
│ │ ├── gstfdkaac.h
│ │ ├── gstfdkaacdec.c
│ │ ├── gstfdkaacdec.h
│ │ ├── gstfdkaacenc.c
│ │ ├── gstfdkaacenc.h
│ │ ├── gstfdkaacplugin.c
│ │ └── meson.build
│ ├── flite/
│ │ ├── gstflite.c
│ │ ├── gstflitetestsrc.c
│ │ └── meson.build
│ ├── fluidsynth/
│ │ ├── gstfluiddec.c
│ │ ├── gstfluiddec.h
│ │ └── meson.build
│ ├── gme/
│ │ ├── gstgme.c
│ │ ├── gstgme.h
│ │ └── meson.build
│ ├── gs/
│ │ ├── .clang-format
│ │ ├── README.md
│ │ ├── gstgs.cpp
│ │ ├── gstgscommon.cpp
│ │ ├── gstgscommon.h
│ │ ├── gstgssink.cpp
│ │ ├── gstgssink.h
│ │ ├── gstgssrc.cpp
│ │ ├── gstgssrc.h
│ │ └── meson.build
│ ├── gsm/
│ │ ├── gstgsm.c
│ │ ├── gstgsmdec.c
│ │ ├── gstgsmdec.h
│ │ ├── gstgsmenc.c
│ │ ├── gstgsmenc.h
│ │ └── meson.build
│ ├── hls/
│ │ ├── gsthlsdemux-util.c
│ │ ├── gsthlsdemux.c
│ │ ├── gsthlsdemux.h
│ │ ├── gsthlselement.c
│ │ ├── gsthlselements.h
│ │ ├── gsthlsplugin.c
│ │ ├── gsthlssink.c
│ │ ├── gsthlssink.h
│ │ ├── gsthlssink2.c
│ │ ├── gsthlssink2.h
│ │ ├── gstm3u8playlist.c
│ │ ├── gstm3u8playlist.h
│ │ ├── m3u8.c
│ │ ├── m3u8.h
│ │ └── meson.build
│ ├── iqa/
│ │ ├── iqa.c
│ │ ├── iqa.h
│ │ └── meson.build
│ ├── isac/
│ │ ├── gstisac.c
│ │ ├── gstisacdec.c
│ │ ├── gstisacdec.h
│ │ ├── gstisacenc.c
│ │ ├── gstisacenc.h
│ │ ├── gstisacutils.c
│ │ ├── gstisacutils.h
│ │ └── meson.build
│ ├── kate/
│ │ ├── README
│ │ ├── gstkate.c
│ │ ├── gstkatedec.c
│ │ ├── gstkatedec.h
│ │ ├── gstkateelement.c
│ │ ├── gstkateelements.h
│ │ ├── gstkateenc.c
│ │ ├── gstkateenc.h
│ │ ├── gstkateparse.c
│ │ ├── gstkateparse.h
│ │ ├── gstkatespu.c
│ │ ├── gstkatespu.h
│ │ ├── gstkatetag.c
│ │ ├── gstkatetag.h
│ │ ├── gstkatetiger.c
│ │ ├── gstkatetiger.h
│ │ ├── gstkateutil.c
│ │ ├── gstkateutil.h
│ │ └── meson.build
│ ├── ladspa/
│ │ ├── gstladspa.c
│ │ ├── gstladspa.h
│ │ ├── gstladspafilter.c
│ │ ├── gstladspafilter.h
│ │ ├── gstladspasink.c
│ │ ├── gstladspasink.h
│ │ ├── gstladspasource.c
│ │ ├── gstladspasource.h
│ │ ├── gstladspautils.c
│ │ ├── gstladspautils.h
│ │ └── meson.build
│ ├── ldac/
│ │ ├── gstldacenc.c
│ │ ├── gstldacenc.h
│ │ ├── ldac-plugin.c
│ │ └── meson.build
│ ├── libde265/
│ │ ├── gstlibde265.c
│ │ ├── libde265-dec.c
│ │ ├── libde265-dec.h
│ │ └── meson.build
│ ├── libmms/
│ │ ├── gstmms.c
│ │ ├── gstmms.h
│ │ └── meson.build
│ ├── lv2/
│ │ ├── README
│ │ ├── calf-lv2-port-groups.patch
│ │ ├── gstlv2.c
│ │ ├── gstlv2.h
│ │ ├── gstlv2filter.c
│ │ ├── gstlv2source.c
│ │ ├── gstlv2utils.c
│ │ ├── gstlv2utils.h
│ │ ├── meson.build
│ │ └── swh-lv2-port-groups.patch
│ ├── mdns/
│ │ ├── gstmicrodns.c
│ │ ├── gstmicrodnsdevice.c
│ │ ├── gstmicrodnsdevice.h
│ │ └── meson.build
│ ├── meson.build
│ ├── modplug/
│ │ ├── gstmodplug.cc
│ │ ├── gstmodplug.h
│ │ └── meson.build
│ ├── mpeg2enc/
│ │ ├── gstmpeg2enc.cc
│ │ ├── gstmpeg2enc.hh
│ │ ├── gstmpeg2encoder.cc
│ │ ├── gstmpeg2encoder.hh
│ │ ├── gstmpeg2encoptions.cc
│ │ ├── gstmpeg2encoptions.hh
│ │ ├── gstmpeg2encpicturereader.cc
│ │ ├── gstmpeg2encpicturereader.hh
│ │ ├── gstmpeg2encstreamwriter.cc
│ │ ├── gstmpeg2encstreamwriter.hh
│ │ └── meson.build
│ ├── mplex/
│ │ ├── gstmplex.cc
│ │ ├── gstmplex.hh
│ │ ├── gstmplexibitstream.cc
│ │ ├── gstmplexibitstream.hh
│ │ ├── gstmplexjob.cc
│ │ ├── gstmplexjob.hh
│ │ ├── gstmplexoutputstream.cc
│ │ ├── gstmplexoutputstream.hh
│ │ └── meson.build
│ ├── musepack/
│ │ ├── gstmusepackdec.c
│ │ ├── gstmusepackdec.h
│ │ ├── gstmusepackreader.c
│ │ ├── gstmusepackreader.h
│ │ └── meson.build
│ ├── neon/
│ │ ├── gstneonhttpsrc.c
│ │ ├── gstneonhttpsrc.h
│ │ └── meson.build
│ ├── ofa/
│ │ ├── gstofa.c
│ │ ├── gstofa.h
│ │ └── meson.build
│ ├── onnx/
│ │ ├── gstonnx.c
│ │ ├── gstonnxclient.cpp
│ │ ├── gstonnxclient.h
│ │ ├── gstonnxelement.c
│ │ ├── gstonnxelement.h
│ │ ├── gstonnxobjectdetector.cpp
│ │ ├── gstonnxobjectdetector.h
│ │ └── meson.build
│ ├── openal/
│ │ ├── gstopenal.c
│ │ ├── gstopenalelement.c
│ │ ├── gstopenalelements.h
│ │ ├── gstopenalsink.c
│ │ ├── gstopenalsink.h
│ │ ├── gstopenalsrc.c
│ │ ├── gstopenalsrc.h
│ │ └── meson.build
│ ├── openaptx/
│ │ ├── gstopenaptxdec.c
│ │ ├── gstopenaptxdec.h
│ │ ├── gstopenaptxenc.c
│ │ ├── gstopenaptxenc.h
│ │ ├── meson.build
│ │ ├── openaptx-plugin.c
│ │ └── openaptx-plugin.h
│ ├── opencv/
│ │ ├── MotionCells.cpp
│ │ ├── MotionCells.h
│ │ ├── cameraevent.cpp
│ │ ├── cameraevent.hpp
│ │ ├── camerautils.cpp
│ │ ├── camerautils.hpp
│ │ ├── fist.xml
│ │ ├── gstcameracalibrate.cpp
│ │ ├── gstcameracalibrate.h
│ │ ├── gstcameraundistort.cpp
│ │ ├── gstcameraundistort.h
│ │ ├── gstcvdilate.cpp
│ │ ├── gstcvdilate.h
│ │ ├── gstcvdilateerode.cpp
│ │ ├── gstcvdilateerode.h
│ │ ├── gstcvequalizehist.cpp
│ │ ├── gstcvequalizehist.h
│ │ ├── gstcverode.cpp
│ │ ├── gstcverode.h
│ │ ├── gstcvlaplace.cpp
│ │ ├── gstcvlaplace.h
│ │ ├── gstcvsmooth.cpp
│ │ ├── gstcvsmooth.h
│ │ ├── gstcvsobel.cpp
│ │ ├── gstcvsobel.h
│ │ ├── gstcvtracker.cpp
│ │ ├── gstcvtracker.h
│ │ ├── gstdewarp.cpp
│ │ ├── gstdewarp.h
│ │ ├── gstdisparity.cpp
│ │ ├── gstdisparity.h
│ │ ├── gstedgedetect.cpp
│ │ ├── gstedgedetect.h
│ │ ├── gstfaceblur.cpp
│ │ ├── gstfaceblur.h
│ │ ├── gstfacedetect.cpp
│ │ ├── gstfacedetect.h
│ │ ├── gstgrabcut.cpp
│ │ ├── gstgrabcut.h
│ │ ├── gsthanddetect.cpp
│ │ ├── gsthanddetect.h
│ │ ├── gstmotioncells.cpp
│ │ ├── gstmotioncells.h
│ │ ├── gstopencv.cpp
│ │ ├── gstretinex.cpp
│ │ ├── gstretinex.h
│ │ ├── gstsegmentation.cpp
│ │ ├── gstsegmentation.h
│ │ ├── gstskindetect.cpp
│ │ ├── gstskindetect.h
│ │ ├── gsttemplatematch.cpp
│ │ ├── gsttemplatematch.h
│ │ ├── gsttextoverlay.cpp
│ │ ├── gsttextoverlay.h
│ │ ├── meson.build
│ │ ├── motioncells_wrapper.cpp
│ │ ├── motioncells_wrapper.h
│ │ └── palm.xml
│ ├── openexr/
│ │ ├── gstopenexr.c
│ │ ├── gstopenexr.h
│ │ ├── gstopenexrdec.cpp
│ │ ├── gstopenexrdec.h
│ │ └── meson.build
│ ├── openh264/
│ │ ├── gstopenh264dec.cpp
│ │ ├── gstopenh264dec.h
│ │ ├── gstopenh264element.c
│ │ ├── gstopenh264elements.h
│ │ ├── gstopenh264enc.cpp
│ │ ├── gstopenh264enc.h
│ │ ├── gstopenh264plugin.c
│ │ └── meson.build
│ ├── openjpeg/
│ │ ├── gstopenjpeg.c
│ │ ├── gstopenjpeg.h
│ │ ├── gstopenjpegdec.c
│ │ ├── gstopenjpegdec.h
│ │ ├── gstopenjpegenc.c
│ │ ├── gstopenjpegenc.h
│ │ └── meson.build
│ ├── openmpt/
│ │ ├── gstopenmptdec.c
│ │ ├── gstopenmptdec.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── openni2/
│ │ ├── gstopenni2.cpp
│ │ ├── gstopenni2src.cpp
│ │ ├── gstopenni2src.h
│ │ └── meson.build
│ ├── opus/
│ │ ├── gstopus.c
│ │ ├── gstopusheader.c
│ │ ├── gstopusheader.h
│ │ ├── gstopusparse.c
│ │ ├── gstopusparse.h
│ │ └── meson.build
│ ├── qroverlay/
│ │ ├── gstbaseqroverlay.c
│ │ ├── gstbaseqroverlay.h
│ │ ├── gstdebugqroverlay.c
│ │ ├── gstdebugqroverlay.h
│ │ ├── gstqroverlay.c
│ │ ├── gstqroverlay.h
│ │ ├── gstqroverlayelement.c
│ │ ├── gstqroverlayelements.h
│ │ ├── gstqroverlayplugin.c
│ │ └── meson.build
│ ├── resindvd/
│ │ ├── gstmpegdefs.h
│ │ ├── gstmpegdemux.c
│ │ ├── gstmpegdemux.h
│ │ ├── gstmpegdesc.c
│ │ ├── gstmpegdesc.h
│ │ ├── gstpesfilter.c
│ │ ├── gstpesfilter.h
│ │ ├── meson.build
│ │ ├── plugin.c
│ │ ├── resin-play
│ │ ├── resin-play2
│ │ ├── resindvdbin.c
│ │ ├── resindvdbin.h
│ │ ├── resindvdsrc.c
│ │ ├── resindvdsrc.h
│ │ ├── rsndec.c
│ │ ├── rsndec.h
│ │ ├── rsninputselector.c
│ │ ├── rsninputselector.h
│ │ ├── rsnparsetter.c
│ │ └── rsnparsetter.h
│ ├── rsvg/
│ │ ├── gstrsvg.c
│ │ ├── gstrsvgdec.c
│ │ ├── gstrsvgdec.h
│ │ ├── gstrsvgoverlay.c
│ │ ├── gstrsvgoverlay.h
│ │ └── meson.build
│ ├── rtmp/
│ │ ├── README
│ │ ├── gstrtmp.c
│ │ ├── gstrtmpelement.c
│ │ ├── gstrtmpelements.h
│ │ ├── gstrtmpsink.c
│ │ ├── gstrtmpsink.h
│ │ ├── gstrtmpsrc.c
│ │ ├── gstrtmpsrc.h
│ │ └── meson.build
│ ├── sbc/
│ │ ├── gstsbcdec.c
│ │ ├── gstsbcdec.h
│ │ ├── gstsbcenc.c
│ │ ├── gstsbcenc.h
│ │ ├── meson.build
│ │ └── sbc-plugin.c
│ ├── sctp/
│ │ ├── gstsctpdec.c
│ │ ├── gstsctpdec.h
│ │ ├── gstsctpenc.c
│ │ ├── gstsctpenc.h
│ │ ├── gstsctpplugin.c
│ │ ├── meson.build
│ │ ├── sctpassociation.c
│ │ ├── sctpassociation.h
│ │ └── usrsctp/
│ │ ├── .gitignore
│ │ ├── LICENSE.md
│ │ ├── meson.build
│ │ ├── meson_options.txt
│ │ └── usrsctplib/
│ │ ├── Makefile.am
│ │ ├── meson.build
│ │ ├── netinet/
│ │ │ ├── meson.build
│ │ │ ├── sctp.h
│ │ │ ├── sctp_asconf.c
│ │ │ ├── sctp_asconf.h
│ │ │ ├── sctp_auth.c
│ │ │ ├── sctp_auth.h
│ │ │ ├── sctp_bsd_addr.c
│ │ │ ├── sctp_bsd_addr.h
│ │ │ ├── sctp_callout.c
│ │ │ ├── sctp_callout.h
│ │ │ ├── sctp_cc_functions.c
│ │ │ ├── sctp_constants.h
│ │ │ ├── sctp_crc32.c
│ │ │ ├── sctp_crc32.h
│ │ │ ├── sctp_header.h
│ │ │ ├── sctp_indata.c
│ │ │ ├── sctp_indata.h
│ │ │ ├── sctp_input.c
│ │ │ ├── sctp_input.h
│ │ │ ├── sctp_lock_userspace.h
│ │ │ ├── sctp_os.h
│ │ │ ├── sctp_os_userspace.h
│ │ │ ├── sctp_output.c
│ │ │ ├── sctp_output.h
│ │ │ ├── sctp_pcb.c
│ │ │ ├── sctp_pcb.h
│ │ │ ├── sctp_peeloff.c
│ │ │ ├── sctp_peeloff.h
│ │ │ ├── sctp_process_lock.h
│ │ │ ├── sctp_sha1.c
│ │ │ ├── sctp_sha1.h
│ │ │ ├── sctp_ss_functions.c
│ │ │ ├── sctp_structs.h
│ │ │ ├── sctp_sysctl.c
│ │ │ ├── sctp_sysctl.h
│ │ │ ├── sctp_timer.c
│ │ │ ├── sctp_timer.h
│ │ │ ├── sctp_uio.h
│ │ │ ├── sctp_userspace.c
│ │ │ ├── sctp_usrreq.c
│ │ │ ├── sctp_var.h
│ │ │ ├── sctputil.c
│ │ │ └── sctputil.h
│ │ ├── netinet6/
│ │ │ ├── meson.build
│ │ │ ├── sctp6_usrreq.c
│ │ │ └── sctp6_var.h
│ │ ├── user_atomic.h
│ │ ├── user_environment.c
│ │ ├── user_environment.h
│ │ ├── user_inpcb.h
│ │ ├── user_ip6_var.h
│ │ ├── user_ip_icmp.h
│ │ ├── user_malloc.h
│ │ ├── user_mbuf.c
│ │ ├── user_mbuf.h
│ │ ├── user_queue.h
│ │ ├── user_recv_thread.c
│ │ ├── user_recv_thread.h
│ │ ├── user_route.h
│ │ ├── user_socket.c
│ │ ├── user_socketvar.h
│ │ ├── user_uma.h
│ │ └── usrsctp.h
│ ├── smoothstreaming/
│ │ ├── gstmssdemux.c
│ │ ├── gstmssdemux.h
│ │ ├── gstmssfragmentparser.c
│ │ ├── gstmssfragmentparser.h
│ │ ├── gstmssmanifest.c
│ │ ├── gstmssmanifest.h
│ │ ├── gstsmoothstreaming-plugin.c
│ │ └── meson.build
│ ├── sndfile/
│ │ ├── gstsf.c
│ │ ├── gstsfdec.c
│ │ ├── gstsfdec.h
│ │ ├── gstsfelement.c
│ │ ├── gstsfelements.h
│ │ ├── gstsfsink.c
│ │ ├── gstsfsink.h
│ │ ├── gstsfsrc.c
│ │ ├── gstsfsrc.h
│ │ └── meson.build
│ ├── soundtouch/
│ │ ├── gstbpmdetect.cc
│ │ ├── gstbpmdetect.hh
│ │ ├── gstpitch.cc
│ │ ├── gstpitch.hh
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── spandsp/
│ │ ├── gstdtmfdetect.c
│ │ ├── gstdtmfdetect.h
│ │ ├── gstspandsp.c
│ │ ├── gstspanplc.c
│ │ ├── gstspanplc.h
│ │ ├── gsttonegeneratesrc.c
│ │ ├── gsttonegeneratesrc.h
│ │ └── meson.build
│ ├── srt/
│ │ ├── gstsrt-enums.h
│ │ ├── gstsrt.c
│ │ ├── gstsrtelement.c
│ │ ├── gstsrtelements.h
│ │ ├── gstsrtobject.c
│ │ ├── gstsrtobject.h
│ │ ├── gstsrtplugin.c
│ │ ├── gstsrtsink.c
│ │ ├── gstsrtsink.h
│ │ ├── gstsrtsrc.c
│ │ ├── gstsrtsrc.h
│ │ └── meson.build
│ ├── srtp/
│ │ ├── gstsrtp.c
│ │ ├── gstsrtp.h
│ │ ├── gstsrtpdec.c
│ │ ├── gstsrtpdec.h
│ │ ├── gstsrtpelement.c
│ │ ├── gstsrtpelements.h
│ │ ├── gstsrtpenc.c
│ │ ├── gstsrtpenc.h
│ │ ├── gstsrtpenums.h
│ │ ├── gstsrtpplugin.c
│ │ └── meson.build
│ ├── svthevcenc/
│ │ ├── gstsvthevcenc.c
│ │ ├── gstsvthevcenc.h
│ │ └── meson.build
│ ├── teletextdec/
│ │ ├── gstteletextdec.c
│ │ ├── gstteletextdec.h
│ │ └── meson.build
│ ├── ttml/
│ │ ├── gstttmlelement.c
│ │ ├── gstttmlelements.h
│ │ ├── gstttmlparse.c
│ │ ├── gstttmlparse.h
│ │ ├── gstttmlplugin.c
│ │ ├── gstttmlrender.c
│ │ ├── gstttmlrender.h
│ │ ├── meson.build
│ │ ├── subtitle.c
│ │ ├── subtitle.h
│ │ ├── subtitlemeta.c
│ │ ├── subtitlemeta.h
│ │ ├── ttmlparse.c
│ │ └── ttmlparse.h
│ ├── voaacenc/
│ │ ├── gstvoaac.c
│ │ ├── gstvoaacenc.c
│ │ ├── gstvoaacenc.h
│ │ └── meson.build
│ ├── voamrwbenc/
│ │ ├── GstVoAmrwbEnc.prs
│ │ ├── gstvoamrwb.c
│ │ ├── gstvoamrwbenc.c
│ │ ├── gstvoamrwbenc.h
│ │ └── meson.build
│ ├── vulkan/
│ │ ├── gstvulkan.c
│ │ ├── gstvulkanelement.c
│ │ ├── gstvulkanelements.h
│ │ ├── meson.build
│ │ ├── shaders/
│ │ │ ├── ayuv_to_rgb.frag
│ │ │ ├── bin2array.py
│ │ │ ├── color_convert_generic.glsl
│ │ │ ├── identity.frag
│ │ │ ├── identity.vert
│ │ │ ├── meson.build
│ │ │ ├── nv12_to_rgb.frag
│ │ │ ├── rgb_to_ayuv.frag
│ │ │ ├── rgb_to_nv12.frag
│ │ │ ├── rgb_to_yuy2.frag
│ │ │ ├── swizzle.frag
│ │ │ ├── swizzle.glsl
│ │ │ ├── swizzle_and_clobber_alpha.frag
│ │ │ ├── upsample_ayuv.glsl
│ │ │ ├── upsample_nv12.glsl
│ │ │ ├── upsample_yuy2.glsl
│ │ │ ├── view_convert.frag
│ │ │ ├── view_defines.h
│ │ │ └── yuy2_to_rgb.frag
│ │ ├── vkcolorconvert.c
│ │ ├── vkcolorconvert.h
│ │ ├── vkdeviceprovider.c
│ │ ├── vkdeviceprovider.h
│ │ ├── vkdownload.c
│ │ ├── vkdownload.h
│ │ ├── vkimageidentity.c
│ │ ├── vkimageidentity.h
│ │ ├── vksink.c
│ │ ├── vksink.h
│ │ ├── vkupload.c
│ │ ├── vkupload.h
│ │ ├── vkviewconvert.c
│ │ └── vkviewconvert.h
│ ├── wayland/
│ │ ├── gstwaylandsink.c
│ │ ├── gstwaylandsink.h
│ │ ├── meson.build
│ │ ├── wlbuffer.c
│ │ ├── wlbuffer.h
│ │ ├── wldisplay.c
│ │ ├── wldisplay.h
│ │ ├── wllinuxdmabuf.c
│ │ ├── wllinuxdmabuf.h
│ │ ├── wlshmallocator.c
│ │ ├── wlshmallocator.h
│ │ ├── wlvideoformat.c
│ │ ├── wlvideoformat.h
│ │ ├── wlwindow.c
│ │ └── wlwindow.h
│ ├── webp/
│ │ ├── gstwebp.c
│ │ ├── gstwebpdec.c
│ │ ├── gstwebpdec.h
│ │ ├── gstwebpenc.c
│ │ ├── gstwebpenc.h
│ │ └── meson.build
│ ├── webrtc/
│ │ ├── fwd.h
│ │ ├── gstwebrtc.c
│ │ ├── gstwebrtcbin.c
│ │ ├── gstwebrtcbin.h
│ │ ├── gstwebrtcice.c
│ │ ├── gstwebrtcice.h
│ │ ├── gstwebrtcstats.c
│ │ ├── gstwebrtcstats.h
│ │ ├── icestream.c
│ │ ├── icestream.h
│ │ ├── meson.build
│ │ ├── nicetransport.c
│ │ ├── nicetransport.h
│ │ ├── transportreceivebin.c
│ │ ├── transportreceivebin.h
│ │ ├── transportsendbin.c
│ │ ├── transportsendbin.h
│ │ ├── transportstream.c
│ │ ├── transportstream.h
│ │ ├── utils.c
│ │ ├── utils.h
│ │ ├── webrtcdatachannel.c
│ │ ├── webrtcdatachannel.h
│ │ ├── webrtcsctptransport.c
│ │ ├── webrtcsctptransport.h
│ │ ├── webrtcsdp.c
│ │ ├── webrtcsdp.h
│ │ ├── webrtctransceiver.c
│ │ └── webrtctransceiver.h
│ ├── webrtcdsp/
│ │ ├── gstwebrtcdsp.cpp
│ │ ├── gstwebrtcdsp.h
│ │ ├── gstwebrtcdspplugin.cpp
│ │ ├── gstwebrtcechoprobe.cpp
│ │ ├── gstwebrtcechoprobe.h
│ │ └── meson.build
│ ├── wildmidi/
│ │ ├── README
│ │ ├── gstwildmididec.c
│ │ ├── gstwildmididec.h
│ │ └── meson.build
│ ├── wpe/
│ │ ├── WPEThreadedView.cpp
│ │ ├── WPEThreadedView.h
│ │ ├── gstwpe.cpp
│ │ ├── gstwpe.h
│ │ ├── gstwpesrcbin.cpp
│ │ ├── gstwpesrcbin.h
│ │ ├── gstwpevideosrc.cpp
│ │ ├── gstwpevideosrc.h
│ │ ├── meson.build
│ │ └── wpe-extension/
│ │ ├── gstwpeaudiosink.c
│ │ ├── gstwpebusmsgforwarder.c
│ │ ├── gstwpeextension.c
│ │ ├── gstwpeextension.h
│ │ └── meson.build
│ ├── x265/
│ │ ├── gstx265enc.c
│ │ ├── gstx265enc.h
│ │ └── meson.build
│ ├── zbar/
│ │ ├── gstzbar.c
│ │ ├── gstzbar.h
│ │ └── meson.build
│ └── zxing/
│ ├── gstzxing.cpp
│ ├── gstzxing.h
│ ├── gstzxingplugin.c
│ └── meson.build
├── gst/
│ ├── accurip/
│ │ ├── gstaccurip.c
│ │ ├── gstaccurip.h
│ │ └── meson.build
│ ├── adpcmdec/
│ │ ├── adpcmdec.c
│ │ └── meson.build
│ ├── adpcmenc/
│ │ ├── adpcmenc.c
│ │ └── meson.build
│ ├── aiff/
│ │ ├── aiff.c
│ │ ├── aiffelements.h
│ │ ├── aiffmux.c
│ │ ├── aiffmux.h
│ │ ├── aiffparse.c
│ │ ├── aiffparse.h
│ │ ├── gstaiffelement.c
│ │ └── meson.build
│ ├── asfmux/
│ │ ├── gstasf.c
│ │ ├── gstasfmux.c
│ │ ├── gstasfmux.h
│ │ ├── gstasfobjects.c
│ │ ├── gstasfobjects.h
│ │ ├── gstasfparse.c
│ │ ├── gstasfparse.h
│ │ ├── gstrtpasfpay.c
│ │ ├── gstrtpasfpay.h
│ │ └── meson.build
│ ├── audiobuffersplit/
│ │ ├── gstaudiobuffersplit.c
│ │ ├── gstaudiobuffersplit.h
│ │ └── meson.build
│ ├── audiofxbad/
│ │ ├── gstaudiochannelmix.c
│ │ ├── gstaudiochannelmix.h
│ │ ├── gstaudiofxbad.c
│ │ └── meson.build
│ ├── audiolatency/
│ │ ├── gstaudiolatency.c
│ │ ├── gstaudiolatency.h
│ │ └── meson.build
│ ├── audiomixmatrix/
│ │ ├── gstaudiomixmatrix.c
│ │ ├── gstaudiomixmatrix.h
│ │ └── meson.build
│ ├── audiovisualizers/
│ │ ├── README
│ │ ├── gstdrawhelpers.h
│ │ ├── gstspacescope.c
│ │ ├── gstspacescope.h
│ │ ├── gstspectrascope.c
│ │ ├── gstspectrascope.h
│ │ ├── gstsynaescope.c
│ │ ├── gstsynaescope.h
│ │ ├── gstwavescope.c
│ │ ├── gstwavescope.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── autoconvert/
│ │ ├── gstautoconvert.c
│ │ ├── gstautoconvert.h
│ │ ├── gstautovideoconvert.c
│ │ ├── gstautovideoconvert.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── bayer/
│ │ ├── gstbayer.c
│ │ ├── gstbayer2rgb.c
│ │ ├── gstbayerelements.h
│ │ ├── gstbayerorc-dist.c
│ │ ├── gstbayerorc-dist.h
│ │ ├── gstbayerorc.orc
│ │ ├── gstrgb2bayer.c
│ │ ├── gstrgb2bayer.h
│ │ └── meson.build
│ ├── camerabin2/
│ │ ├── PORTING
│ │ ├── camerabin2-src.txt
│ │ ├── camerabingeneral.c
│ │ ├── camerabingeneral.h
│ │ ├── gstcamerabin2.c
│ │ ├── gstcamerabin2.h
│ │ ├── gstdigitalzoom.c
│ │ ├── gstdigitalzoom.h
│ │ ├── gstplugin.c
│ │ ├── gstviewfinderbin.c
│ │ ├── gstviewfinderbin.h
│ │ ├── gstwrappercamerabinsrc.c
│ │ ├── gstwrappercamerabinsrc.h
│ │ └── meson.build
│ ├── codecalpha/
│ │ ├── gstalphacombine.c
│ │ ├── gstalphacombine.h
│ │ ├── gstalphadecodebin.c
│ │ ├── gstalphadecodebin.h
│ │ ├── gstcodecalphademux.c
│ │ ├── gstcodecalphademux.h
│ │ ├── gstplugin.c
│ │ ├── gstvp8alphadecodebin.c
│ │ ├── gstvp8alphadecodebin.h
│ │ ├── gstvp9alphadecodebin.c
│ │ ├── gstvp9alphadecodebin.h
│ │ └── meson.build
│ ├── coloreffects/
│ │ ├── gstchromahold.c
│ │ ├── gstchromahold.h
│ │ ├── gstcoloreffects.c
│ │ ├── gstcoloreffects.h
│ │ ├── gstplugin.c
│ │ └── meson.build
│ ├── debugutils/
│ │ ├── debugutilsbad.c
│ │ ├── fpsdisplaysink.c
│ │ ├── fpsdisplaysink.h
│ │ ├── gstchecksumsink.c
│ │ ├── gstchecksumsink.h
│ │ ├── gstchopmydata.c
│ │ ├── gstchopmydata.h
│ │ ├── gstclockselect.c
│ │ ├── gstclockselect.h
│ │ ├── gstcompare.c
│ │ ├── gstcompare.h
│ │ ├── gstdebugspy.c
│ │ ├── gstdebugspy.h
│ │ ├── gstdebugutilsbadelements.h
│ │ ├── gsterrorignore.c
│ │ ├── gsterrorignore.h
│ │ ├── gstfakeaudiosink.c
│ │ ├── gstfakeaudiosink.h
│ │ ├── gstfakesinkutils.c
│ │ ├── gstfakesinkutils.h
│ │ ├── gstfakevideosink.c
│ │ ├── gstfakevideosink.h
│ │ ├── gsttestsrcbin.c
│ │ ├── gstvideocodectestsink.c
│ │ ├── gstvideocodectestsink.h
│ │ ├── gstwatchdog.c
│ │ ├── gstwatchdog.h
│ │ └── meson.build
│ ├── dvbsubenc/
│ │ ├── gstdvbsubenc-util.c
│ │ ├── gstdvbsubenc.c
│ │ ├── gstdvbsubenc.h
│ │ ├── libimagequant/
│ │ │ ├── CHANGELOG
│ │ │ ├── COPYRIGHT
│ │ │ ├── README.md
│ │ │ ├── blur.c
│ │ │ ├── blur.h
│ │ │ ├── libimagequant.c
│ │ │ ├── libimagequant.h
│ │ │ ├── mediancut.c
│ │ │ ├── mediancut.h
│ │ │ ├── mempool.c
│ │ │ ├── mempool.h
│ │ │ ├── nearest.c
│ │ │ ├── nearest.h
│ │ │ ├── pam.c
│ │ │ ├── pam.h
│ │ │ ├── viter.c
│ │ │ └── viter.h
│ │ └── meson.build
│ ├── dvbsuboverlay/
│ │ ├── TODO
│ │ ├── dvb-sub.c
│ │ ├── dvb-sub.h
│ │ ├── gstdvbsuboverlay.c
│ │ ├── gstdvbsuboverlay.h
│ │ └── meson.build
│ ├── dvdspu/
│ │ ├── Notes.txt
│ │ ├── gstdvdspu-render.c
│ │ ├── gstdvdspu.c
│ │ ├── gstdvdspu.h
│ │ ├── gstspu-common.h
│ │ ├── gstspu-pgs.c
│ │ ├── gstspu-pgs.h
│ │ ├── gstspu-vobsub-render.c
│ │ ├── gstspu-vobsub.c
│ │ ├── gstspu-vobsub.h
│ │ └── meson.build
│ ├── faceoverlay/
│ │ ├── gstfaceoverlay.c
│ │ ├── gstfaceoverlay.h
│ │ └── meson.build
│ ├── festival/
│ │ ├── gstfestival.c
│ │ ├── gstfestival.h
│ │ └── meson.build
│ ├── fieldanalysis/
│ │ ├── gstfieldanalysis.c
│ │ ├── gstfieldanalysis.h
│ │ ├── gstfieldanalysisorc-dist.c
│ │ ├── gstfieldanalysisorc-dist.h
│ │ ├── gstfieldanalysisorc.orc
│ │ └── meson.build
│ ├── freeverb/
│ │ ├── GstFreeverb.prs
│ │ ├── gstfreeverb.c
│ │ ├── gstfreeverb.h
│ │ └── meson.build
│ ├── frei0r/
│ │ ├── frei0r.h
│ │ ├── gstfrei0r.c
│ │ ├── gstfrei0r.h
│ │ ├── gstfrei0rfilter.c
│ │ ├── gstfrei0rfilter.h
│ │ ├── gstfrei0rmixer.c
│ │ ├── gstfrei0rmixer.h
│ │ ├── gstfrei0rsrc.c
│ │ ├── gstfrei0rsrc.h
│ │ └── meson.build
│ ├── gaudieffects/
│ │ ├── blur-example.py
│ │ ├── burn-example.py
│ │ ├── gstburn.c
│ │ ├── gstburn.h
│ │ ├── gstchromium.c
│ │ ├── gstchromium.h
│ │ ├── gstdilate.c
│ │ ├── gstdilate.h
│ │ ├── gstdodge.c
│ │ ├── gstdodge.h
│ │ ├── gstexclusion.c
│ │ ├── gstexclusion.h
│ │ ├── gstgaudieffectsorc-dist.c
│ │ ├── gstgaudieffectsorc-dist.h
│ │ ├── gstgaudieffectsorc.orc
│ │ ├── gstgaussblur.c
│ │ ├── gstgaussblur.h
│ │ ├── gstplugin.c
│ │ ├── gstsolarize.c
│ │ ├── gstsolarize.h
│ │ └── meson.build
│ ├── gdp/
│ │ ├── README
│ │ ├── dataprotocol.c
│ │ ├── dataprotocol.h
│ │ ├── dp-private.h
│ │ ├── gstgdp.c
│ │ ├── gstgdpdepay.c
│ │ ├── gstgdpdepay.h
│ │ ├── gstgdpelement.c
│ │ ├── gstgdpelements.h
│ │ ├── gstgdppay.c
│ │ ├── gstgdppay.h
│ │ └── meson.build
│ ├── geometrictransform/
│ │ ├── geometricmath.c
│ │ ├── geometricmath.h
│ │ ├── gstbulge.c
│ │ ├── gstbulge.h
│ │ ├── gstcircle.c
│ │ ├── gstcircle.h
│ │ ├── gstcirclegeometrictransform.c
│ │ ├── gstcirclegeometrictransform.h
│ │ ├── gstdiffuse.c
│ │ ├── gstdiffuse.h
│ │ ├── gstfisheye.c
│ │ ├── gstfisheye.h
│ │ ├── gstgeometrictransform.c
│ │ ├── gstgeometrictransform.h
│ │ ├── gstkaleidoscope.c
│ │ ├── gstkaleidoscope.h
│ │ ├── gstmarble.c
│ │ ├── gstmarble.h
│ │ ├── gstmirror.c
│ │ ├── gstmirror.h
│ │ ├── gstperspective.c
│ │ ├── gstperspective.h
│ │ ├── gstpinch.c
│ │ ├── gstpinch.h
│ │ ├── gstrotate.c
│ │ ├── gstrotate.h
│ │ ├── gstsphere.c
│ │ ├── gstsphere.h
│ │ ├── gstsquare.c
│ │ ├── gstsquare.h
│ │ ├── gststretch.c
│ │ ├── gststretch.h
│ │ ├── gsttunnel.c
│ │ ├── gsttunnel.h
│ │ ├── gsttwirl.c
│ │ ├── gsttwirl.h
│ │ ├── gstwaterripple.c
│ │ ├── gstwaterripple.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── id3tag/
│ │ ├── gstid3mux.c
│ │ ├── gstid3mux.h
│ │ ├── id3tag.c
│ │ ├── id3tag.h
│ │ └── meson.build
│ ├── inter/
│ │ ├── gstinter.c
│ │ ├── gstinteraudiosink.c
│ │ ├── gstinteraudiosink.h
│ │ ├── gstinteraudiosrc.c
│ │ ├── gstinteraudiosrc.h
│ │ ├── gstintersubsink.c
│ │ ├── gstintersubsink.h
│ │ ├── gstintersubsrc.c
│ │ ├── gstintersubsrc.h
│ │ ├── gstintersurface.c
│ │ ├── gstintersurface.h
│ │ ├── gstintertest.c
│ │ ├── gstintervideosink.c
│ │ ├── gstintervideosink.h
│ │ ├── gstintervideosrc.c
│ │ ├── gstintervideosrc.h
│ │ └── meson.build
│ ├── interlace/
│ │ ├── gstinterlace.c
│ │ └── meson.build
│ ├── ivfparse/
│ │ ├── gstivfparse.c
│ │ ├── gstivfparse.h
│ │ └── meson.build
│ ├── ivtc/
│ │ ├── gstcombdetect.c
│ │ ├── gstcombdetect.h
│ │ ├── gstivtc.c
│ │ ├── gstivtc.h
│ │ └── meson.build
│ ├── jp2kdecimator/
│ │ ├── gstjp2kdecimator.c
│ │ ├── gstjp2kdecimator.h
│ │ ├── jp2kcodestream.c
│ │ ├── jp2kcodestream.h
│ │ └── meson.build
│ ├── jpegformat/
│ │ ├── gstjifmux.c
│ │ ├── gstjifmux.h
│ │ ├── gstjpegformat.c
│ │ ├── gstjpegformat.h
│ │ ├── gstjpegparse.c
│ │ ├── gstjpegparse.h
│ │ └── meson.build
│ ├── librfb/
│ │ ├── d3des.c
│ │ ├── d3des.h
│ │ ├── gstrfbsrc.c
│ │ ├── gstrfbsrc.h
│ │ ├── meson.build
│ │ ├── rfbdecoder.c
│ │ └── rfbdecoder.h
│ ├── meson.build
│ ├── midi/
│ │ ├── meson.build
│ │ ├── midi.c
│ │ ├── midiparse.c
│ │ └── midiparse.h
│ ├── mpegdemux/
│ │ ├── gstmpegdefs.h
│ │ ├── gstmpegdemux.c
│ │ ├── gstmpegdemux.h
│ │ ├── gstpesfilter.c
│ │ ├── gstpesfilter.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── mpegpsmux/
│ │ ├── bits.h
│ │ ├── crc.h
│ │ ├── meson.build
│ │ ├── mpegpsmux.c
│ │ ├── mpegpsmux.h
│ │ ├── mpegpsmux_aac.c
│ │ ├── mpegpsmux_aac.h
│ │ ├── mpegpsmux_h264.c
│ │ ├── mpegpsmux_h264.h
│ │ ├── psmux.c
│ │ ├── psmux.h
│ │ ├── psmuxcommon.h
│ │ ├── psmuxstream.c
│ │ └── psmuxstream.h
│ ├── mpegtsdemux/
│ │ ├── TODO
│ │ ├── gstmpegdefs.h
│ │ ├── gstmpegdesc.h
│ │ ├── gsttsdemux.c
│ │ ├── meson.build
│ │ ├── mpegtsbase.c
│ │ ├── mpegtsbase.h
│ │ ├── mpegtspacketizer.c
│ │ ├── mpegtspacketizer.h
│ │ ├── mpegtsparse.c
│ │ ├── mpegtsparse.h
│ │ ├── pesparse.c
│ │ ├── pesparse.h
│ │ ├── tsdemux.c
│ │ └── tsdemux.h
│ ├── mpegtsmux/
│ │ ├── gstatscmux.c
│ │ ├── gstatscmux.h
│ │ ├── gstbasetsmux.c
│ │ ├── gstbasetsmux.h
│ │ ├── gstbasetsmuxaac.c
│ │ ├── gstbasetsmuxaac.h
│ │ ├── gstbasetsmuxjpeg2000.c
│ │ ├── gstbasetsmuxjpeg2000.h
│ │ ├── gstbasetsmuxopus.c
│ │ ├── gstbasetsmuxopus.h
│ │ ├── gstbasetsmuxttxt.c
│ │ ├── gstbasetsmuxttxt.h
│ │ ├── gstmpegtsmux.c
│ │ ├── gstmpegtsmux.h
│ │ ├── gstmpegtsmuxplugin.c
│ │ ├── meson.build
│ │ └── tsmux/
│ │ ├── tsmux.c
│ │ ├── tsmux.h
│ │ ├── tsmuxcommon.h
│ │ ├── tsmuxstream.c
│ │ └── tsmuxstream.h
│ ├── mxf/
│ │ ├── gstmxfelement.c
│ │ ├── gstmxfelements.h
│ │ ├── meson.build
│ │ ├── mxf.c
│ │ ├── mxfaes-bwf.c
│ │ ├── mxfaes-bwf.h
│ │ ├── mxfalaw.c
│ │ ├── mxfalaw.h
│ │ ├── mxfd10.c
│ │ ├── mxfd10.h
│ │ ├── mxfdemux.c
│ │ ├── mxfdemux.h
│ │ ├── mxfdms1.c
│ │ ├── mxfdms1.h
│ │ ├── mxfdv-dif.c
│ │ ├── mxfdv-dif.h
│ │ ├── mxfessence.c
│ │ ├── mxfessence.h
│ │ ├── mxfjpeg2000.c
│ │ ├── mxfjpeg2000.h
│ │ ├── mxfmetadata.c
│ │ ├── mxfmetadata.h
│ │ ├── mxfmpeg.c
│ │ ├── mxfmpeg.h
│ │ ├── mxfmux.c
│ │ ├── mxfmux.h
│ │ ├── mxfprores.c
│ │ ├── mxfprores.h
│ │ ├── mxfquark.c
│ │ ├── mxfquark.h
│ │ ├── mxftypes.c
│ │ ├── mxftypes.h
│ │ ├── mxful.c
│ │ ├── mxful.h
│ │ ├── mxfup.c
│ │ ├── mxfup.h
│ │ ├── mxfvanc.c
│ │ ├── mxfvanc.h
│ │ ├── mxfvc3.c
│ │ └── mxfvc3.h
│ ├── netsim/
│ │ ├── gstnetsim.c
│ │ ├── gstnetsim.h
│ │ └── meson.build
│ ├── onvif/
│ │ ├── gstrtponvif.c
│ │ ├── gstrtponvifparse.c
│ │ ├── gstrtponvifparse.h
│ │ ├── gstrtponviftimestamp.c
│ │ ├── gstrtponviftimestamp.h
│ │ └── meson.build
│ ├── pcapparse/
│ │ ├── gstirtspparse.c
│ │ ├── gstirtspparse.h
│ │ ├── gstpcapparse.c
│ │ ├── gstpcapparse.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── pnm/
│ │ ├── gstpnm.c
│ │ ├── gstpnmdec.c
│ │ ├── gstpnmdec.h
│ │ ├── gstpnmenc.c
│ │ ├── gstpnmenc.h
│ │ ├── gstpnmutils.c
│ │ ├── gstpnmutils.h
│ │ └── meson.build
│ ├── proxy/
│ │ ├── gstproxy-priv.h
│ │ ├── gstproxy.c
│ │ ├── gstproxysink.c
│ │ ├── gstproxysink.h
│ │ ├── gstproxysrc.c
│ │ ├── gstproxysrc.h
│ │ └── meson.build
│ ├── rawparse/
│ │ ├── README
│ │ ├── gstaudioparse.c
│ │ ├── gstaudioparse.h
│ │ ├── gstvideoparse.c
│ │ ├── gstvideoparse.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── removesilence/
│ │ ├── gstremovesilence.c
│ │ ├── gstremovesilence.h
│ │ ├── meson.build
│ │ ├── vad_private.c
│ │ └── vad_private.h
│ ├── rist/
│ │ ├── gstrist.c
│ │ ├── gstrist.h
│ │ ├── gstristplugin.c
│ │ ├── gstristrtpdeext.c
│ │ ├── gstristrtpext.c
│ │ ├── gstristrtxreceive.c
│ │ ├── gstristrtxsend.c
│ │ ├── gstristsink.c
│ │ ├── gstristsrc.c
│ │ ├── gstroundrobin.c
│ │ ├── gstroundrobin.h
│ │ └── meson.build
│ ├── rtmp2/
│ │ ├── TODO
│ │ ├── gstrtmp2.c
│ │ ├── gstrtmp2element.c
│ │ ├── gstrtmp2elements.h
│ │ ├── gstrtmp2locationhandler.c
│ │ ├── gstrtmp2locationhandler.h
│ │ ├── gstrtmp2sink.c
│ │ ├── gstrtmp2sink.h
│ │ ├── gstrtmp2src.c
│ │ ├── gstrtmp2src.h
│ │ ├── meson.build
│ │ └── rtmp/
│ │ ├── amf.c
│ │ ├── amf.h
│ │ ├── rtmpchunkstream.c
│ │ ├── rtmpchunkstream.h
│ │ ├── rtmpclient.c
│ │ ├── rtmpclient.h
│ │ ├── rtmpconnection.c
│ │ ├── rtmpconnection.h
│ │ ├── rtmphandshake.c
│ │ ├── rtmphandshake.h
│ │ ├── rtmpmessage.c
│ │ ├── rtmpmessage.h
│ │ ├── rtmputils.c
│ │ └── rtmputils.h
│ ├── rtp/
│ │ ├── gstrtp-utils.c
│ │ ├── gstrtp-utils.h
│ │ ├── gstrtpsink.c
│ │ ├── gstrtpsink.h
│ │ ├── gstrtpsrc.c
│ │ ├── gstrtpsrc.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── sdp/
│ │ ├── gstsdpdemux.c
│ │ ├── gstsdpdemux.h
│ │ ├── gstsdpelem.c
│ │ ├── gstsdpsrc.c
│ │ ├── gstsdpsrc.h
│ │ └── meson.build
│ ├── segmentclip/
│ │ ├── gstaudiosegmentclip.c
│ │ ├── gstaudiosegmentclip.h
│ │ ├── gstsegmentclip.c
│ │ ├── gstsegmentclip.h
│ │ ├── gstvideosegmentclip.c
│ │ ├── gstvideosegmentclip.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── siren/
│ │ ├── common.c
│ │ ├── common.h
│ │ ├── dct4.c
│ │ ├── dct4.h
│ │ ├── decoder.c
│ │ ├── decoder.h
│ │ ├── encoder.c
│ │ ├── encoder.h
│ │ ├── gstsiren.c
│ │ ├── gstsiren.h
│ │ ├── gstsirendec.c
│ │ ├── gstsirendec.h
│ │ ├── gstsirenenc.c
│ │ ├── gstsirenenc.h
│ │ ├── huffman.c
│ │ ├── huffman.h
│ │ ├── huffman_consts.h
│ │ ├── meson.build
│ │ ├── rmlt.c
│ │ ├── rmlt.h
│ │ └── siren7.h
│ ├── smooth/
│ │ ├── gstsmooth.c
│ │ ├── gstsmooth.h
│ │ └── meson.build
│ ├── speed/
│ │ ├── gstspeed.c
│ │ ├── gstspeed.h
│ │ └── meson.build
│ ├── subenc/
│ │ ├── gstsrtenc.c
│ │ ├── gstsrtenc.h
│ │ ├── gstsubenc.c
│ │ ├── gstwebvttenc.c
│ │ ├── gstwebvttenc.h
│ │ └── meson.build
│ ├── switchbin/
│ │ ├── gstswitchbin.c
│ │ ├── gstswitchbin.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── timecode/
│ │ ├── gstavwait.c
│ │ ├── gstavwait.h
│ │ ├── gsttimecodestamper.c
│ │ ├── gsttimecodestamper.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── transcode/
│ │ ├── gst-cpu-throttling-clock.c
│ │ ├── gst-cpu-throttling-clock.h
│ │ ├── gsttranscodebin.c
│ │ ├── gsttranscodeelement.c
│ │ ├── gsttranscodeelements.h
│ │ ├── gsttranscodeplugin.c
│ │ ├── gsttranscoding.h
│ │ ├── gsturitranscodebin.c
│ │ └── meson.build
│ ├── videofilters/
│ │ ├── gstscenechange.c
│ │ ├── gstscenechange.h
│ │ ├── gstscenechangeorc-dist.c
│ │ ├── gstscenechangeorc-dist.h
│ │ ├── gstscenechangeorc.orc
│ │ ├── gstvideodiff.c
│ │ ├── gstvideodiff.h
│ │ ├── gstvideofiltersbad.c
│ │ ├── gstzebrastripe.c
│ │ ├── gstzebrastripe.h
│ │ └── meson.build
│ ├── videoframe_audiolevel/
│ │ ├── gstvideoframe-audiolevel.c
│ │ ├── gstvideoframe-audiolevel.h
│ │ └── meson.build
│ ├── videoparsers/
│ │ ├── dirac_parse.c
│ │ ├── dirac_parse.h
│ │ ├── gstav1parse.c
│ │ ├── gstav1parse.h
│ │ ├── gstdiracparse.c
│ │ ├── gstdiracparse.h
│ │ ├── gsth263parse.c
│ │ ├── gsth263parse.h
│ │ ├── gsth264parse.c
│ │ ├── gsth264parse.h
│ │ ├── gsth265parse.c
│ │ ├── gsth265parse.h
│ │ ├── gstjpeg2000parse.c
│ │ ├── gstjpeg2000parse.h
│ │ ├── gstmpeg4videoparse.c
│ │ ├── gstmpeg4videoparse.h
│ │ ├── gstmpegvideoparse.c
│ │ ├── gstmpegvideoparse.h
│ │ ├── gstpngparse.c
│ │ ├── gstpngparse.h
│ │ ├── gstvc1parse.c
│ │ ├── gstvc1parse.h
│ │ ├── gstvideoparserselement.c
│ │ ├── gstvideoparserselements.h
│ │ ├── gstvideoparseutils.c
│ │ ├── gstvideoparseutils.h
│ │ ├── gstvp9parse.c
│ │ ├── gstvp9parse.h
│ │ ├── h263parse.c
│ │ ├── h263parse.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── videosignal/
│ │ ├── gstsimplevideomark.c
│ │ ├── gstsimplevideomark.h
│ │ ├── gstsimplevideomarkdetect.c
│ │ ├── gstsimplevideomarkdetect.h
│ │ ├── gstvideoanalyse.c
│ │ ├── gstvideoanalyse.h
│ │ ├── gstvideosignal.c
│ │ ├── gstvideosignal.h
│ │ └── meson.build
│ ├── vmnc/
│ │ ├── meson.build
│ │ ├── vmncdec.c
│ │ └── vmncdec.h
│ └── y4m/
│ ├── gsty4mdec.c
│ ├── gsty4mdec.h
│ └── meson.build
├── gst-libs/
│ ├── gst/
│ │ ├── adaptivedemux/
│ │ │ ├── adaptive-demux-prelude.h
│ │ │ ├── gstadaptivedemux.c
│ │ │ ├── gstadaptivedemux.h
│ │ │ └── meson.build
│ │ ├── audio/
│ │ │ ├── audio-bad-prelude.h
│ │ │ ├── gstnonstreamaudiodecoder.c
│ │ │ ├── gstnonstreamaudiodecoder.h
│ │ │ ├── gstplanaraudioadapter.c
│ │ │ ├── gstplanaraudioadapter.h
│ │ │ └── meson.build
│ │ ├── basecamerabinsrc/
│ │ │ ├── basecamerabinsrc-prelude.h
│ │ │ ├── gstbasecamerasrc.c
│ │ │ ├── gstbasecamerasrc.h
│ │ │ ├── gstcamerabin-enum.c
│ │ │ ├── gstcamerabin-enum.h
│ │ │ ├── gstcamerabinpreview.c
│ │ │ ├── gstcamerabinpreview.h
│ │ │ └── meson.build
│ │ ├── codecparsers/
│ │ │ ├── codecparsers-prelude.h
│ │ │ ├── dboolhuff.AUTHORS
│ │ │ ├── dboolhuff.LICENSE
│ │ │ ├── dboolhuff.PATENTS
│ │ │ ├── dboolhuff.c
│ │ │ ├── dboolhuff.h
│ │ │ ├── gstav1parser.c
│ │ │ ├── gstav1parser.h
│ │ │ ├── gsth264parser.c
│ │ │ ├── gsth264parser.h
│ │ │ ├── gsth265parser.c
│ │ │ ├── gsth265parser.h
│ │ │ ├── gstjpeg2000sampling.c
│ │ │ ├── gstjpeg2000sampling.h
│ │ │ ├── gstjpegparser.c
│ │ │ ├── gstjpegparser.h
│ │ │ ├── gstmpeg4parser.c
│ │ │ ├── gstmpeg4parser.h
│ │ │ ├── gstmpegvideometa.c
│ │ │ ├── gstmpegvideometa.h
│ │ │ ├── gstmpegvideoparser.c
│ │ │ ├── gstmpegvideoparser.h
│ │ │ ├── gstvc1parser.c
│ │ │ ├── gstvc1parser.h
│ │ │ ├── gstvp8parser.c
│ │ │ ├── gstvp8parser.h
│ │ │ ├── gstvp8rangedecoder.c
│ │ │ ├── gstvp8rangedecoder.h
│ │ │ ├── gstvp9parser.c
│ │ │ ├── gstvp9parser.h
│ │ │ ├── meson.build
│ │ │ ├── nalutils.c
│ │ │ ├── nalutils.h
│ │ │ ├── parserutils.c
│ │ │ ├── parserutils.h
│ │ │ ├── vp8utils.c
│ │ │ ├── vp8utils.h
│ │ │ ├── vp9utils.c
│ │ │ └── vp9utils.h
│ │ ├── codecs/
│ │ │ ├── codecs-prelude.h
│ │ │ ├── gstav1decoder.c
│ │ │ ├── gstav1decoder.h
│ │ │ ├── gstav1picture.c
│ │ │ ├── gstav1picture.h
│ │ │ ├── gsth264decoder.c
│ │ │ ├── gsth264decoder.h
│ │ │ ├── gsth264picture.c
│ │ │ ├── gsth264picture.h
│ │ │ ├── gsth265decoder.c
│ │ │ ├── gsth265decoder.h
│ │ │ ├── gsth265picture.c
│ │ │ ├── gsth265picture.h
│ │ │ ├── gstmpeg2decoder.c
│ │ │ ├── gstmpeg2decoder.h
│ │ │ ├── gstmpeg2picture.c
│ │ │ ├── gstmpeg2picture.h
│ │ │ ├── gstvp8decoder.c
│ │ │ ├── gstvp8decoder.h
│ │ │ ├── gstvp8picture.c
│ │ │ ├── gstvp8picture.h
│ │ │ ├── gstvp9decoder.c
│ │ │ ├── gstvp9decoder.h
│ │ │ ├── gstvp9picture.c
│ │ │ ├── gstvp9picture.h
│ │ │ ├── gstvp9statefulparser.c
│ │ │ ├── gstvp9statefulparser.h
│ │ │ └── meson.build
│ │ ├── d3d11/
│ │ │ ├── d3d11-prelude.h
│ │ │ ├── gstd3d11.h
│ │ │ ├── gstd3d11_fwd.h
│ │ │ ├── gstd3d11_private.h
│ │ │ ├── gstd3d11bufferpool.cpp
│ │ │ ├── gstd3d11bufferpool.h
│ │ │ ├── gstd3d11config.h.meson
│ │ │ ├── gstd3d11device.cpp
│ │ │ ├── gstd3d11device.h
│ │ │ ├── gstd3d11format.cpp
│ │ │ ├── gstd3d11format.h
│ │ │ ├── gstd3d11memory.cpp
│ │ │ ├── gstd3d11memory.h
│ │ │ ├── gstd3d11utils.cpp
│ │ │ ├── gstd3d11utils.h
│ │ │ └── meson.build
│ │ ├── gettext.h
│ │ ├── glib-compat-private.h
│ │ ├── gst-i18n-plugin.h
│ │ ├── insertbin/
│ │ │ ├── gstinsertbin.c
│ │ │ ├── gstinsertbin.h
│ │ │ └── meson.build
│ │ ├── interfaces/
│ │ │ ├── meson.build
│ │ │ ├── photography-prelude.h
│ │ │ ├── photography.c
│ │ │ └── photography.h
│ │ ├── isoff/
│ │ │ ├── gstisoff.c
│ │ │ ├── gstisoff.h
│ │ │ └── meson.build
│ │ ├── meson.build
│ │ ├── mpegts/
│ │ │ ├── gst-atsc-descriptor.h
│ │ │ ├── gst-atsc-section.c
│ │ │ ├── gst-atsc-section.h
│ │ │ ├── gst-dvb-descriptor.c
│ │ │ ├── gst-dvb-descriptor.h
│ │ │ ├── gst-dvb-section.c
│ │ │ ├── gst-dvb-section.h
│ │ │ ├── gst-hdmv-section.h
│ │ │ ├── gst-isdb-descriptor.h
│ │ │ ├── gst-scte-section.c
│ │ │ ├── gst-scte-section.h
│ │ │ ├── gstmpegts-private.h
│ │ │ ├── gstmpegtsdescriptor.c
│ │ │ ├── gstmpegtsdescriptor.h
│ │ │ ├── gstmpegtssection.c
│ │ │ ├── gstmpegtssection.h
│ │ │ ├── meson.build
│ │ │ ├── mpegts-prelude.h
│ │ │ ├── mpegts.c
│ │ │ └── mpegts.h
│ │ ├── opencv/
│ │ │ ├── gstopencvutils.cpp
│ │ │ ├── gstopencvutils.h
│ │ │ ├── gstopencvvideofilter.cpp
│ │ │ ├── gstopencvvideofilter.h
│ │ │ ├── meson.build
│ │ │ └── opencv-prelude.h
│ │ ├── play/
│ │ │ ├── gstplay-media-info-private.h
│ │ │ ├── gstplay-media-info.c
│ │ │ ├── gstplay-media-info.h
│ │ │ ├── gstplay-message-private.h
│ │ │ ├── gstplay-signal-adapter.c
│ │ │ ├── gstplay-signal-adapter.h
│ │ │ ├── gstplay-types.h
│ │ │ ├── gstplay-video-overlay-video-renderer.c
│ │ │ ├── gstplay-video-overlay-video-renderer.h
│ │ │ ├── gstplay-video-renderer-private.h
│ │ │ ├── gstplay-video-renderer.c
│ │ │ ├── gstplay-video-renderer.h
│ │ │ ├── gstplay-visualization.c
│ │ │ ├── gstplay-visualization.h
│ │ │ ├── gstplay.c
│ │ │ ├── gstplay.h
│ │ │ ├── meson.build
│ │ │ ├── play-prelude.h
│ │ │ └── play.h
│ │ ├── player/
│ │ │ ├── gstplayer-g-main-context-signal-dispatcher.c
│ │ │ ├── gstplayer-g-main-context-signal-dispatcher.h
│ │ │ ├── gstplayer-media-info-private.h
│ │ │ ├── gstplayer-media-info.c
│ │ │ ├── gstplayer-media-info.h
│ │ │ ├── gstplayer-signal-dispatcher-private.h
│ │ │ ├── gstplayer-signal-dispatcher.c
│ │ │ ├── gstplayer-signal-dispatcher.h
│ │ │ ├── gstplayer-types.h
│ │ │ ├── gstplayer-video-overlay-video-renderer.c
│ │ │ ├── gstplayer-video-overlay-video-renderer.h
│ │ │ ├── gstplayer-video-renderer-private.h
│ │ │ ├── gstplayer-video-renderer.c
│ │ │ ├── gstplayer-video-renderer.h
│ │ │ ├── gstplayer-visualization.c
│ │ │ ├── gstplayer-visualization.h
│ │ │ ├── gstplayer-wrapped-video-renderer-private.h
│ │ │ ├── gstplayer-wrapped-video-renderer.c
│ │ │ ├── gstplayer.c
│ │ │ ├── gstplayer.h
│ │ │ ├── meson.build
│ │ │ ├── player-prelude.h
│ │ │ └── player.h
│ │ ├── sctp/
│ │ │ ├── meson.build
│ │ │ ├── sctp-prelude.h
│ │ │ ├── sctpreceivemeta.c
│ │ │ ├── sctpreceivemeta.h
│ │ │ ├── sctpsendmeta.c
│ │ │ └── sctpsendmeta.h
│ │ ├── transcoder/
│ │ │ ├── gsttranscoder-private.h
│ │ │ ├── gsttranscoder-signal-adapter.c
│ │ │ ├── gsttranscoder-signal-adapter.h
│ │ │ ├── gsttranscoder.c
│ │ │ ├── gsttranscoder.h
│ │ │ ├── meson.build
│ │ │ └── transcoder-prelude.h
│ │ ├── uridownloader/
│ │ │ ├── gstfragment.c
│ │ │ ├── gstfragment.h
│ │ │ ├── gsturidownloader.c
│ │ │ ├── gsturidownloader.h
│ │ │ ├── gsturidownloader_debug.h
│ │ │ ├── meson.build
│ │ │ └── uridownloader-prelude.h
│ │ ├── va/
│ │ │ ├── gstvadisplay.c
│ │ │ ├── gstvadisplay.h
│ │ │ ├── gstvadisplay_drm.c
│ │ │ ├── gstvadisplay_drm.h
│ │ │ ├── gstvadisplay_wrapped.c
│ │ │ ├── gstvadisplay_wrapped.h
│ │ │ ├── meson.build
│ │ │ ├── va-prelude.h
│ │ │ └── va_fwd.h
│ │ ├── vulkan/
│ │ │ ├── android/
│ │ │ │ ├── gstvkdisplay_android.c
│ │ │ │ ├── gstvkdisplay_android.h
│ │ │ │ ├── gstvkwindow_android.c
│ │ │ │ └── gstvkwindow_android.h
│ │ │ ├── cocoa/
│ │ │ │ ├── gstvkcocoa_utils.h
│ │ │ │ ├── gstvkdisplay_cocoa.h
│ │ │ │ ├── gstvkdisplay_cocoa.m
│ │ │ │ ├── gstvkwindow_cocoa.h
│ │ │ │ └── gstvkwindow_cocoa.m
│ │ │ ├── gstvkapi.h
│ │ │ ├── gstvkbarrier.h
│ │ │ ├── gstvkbuffermemory.c
│ │ │ ├── gstvkbuffermemory.h
│ │ │ ├── gstvkbufferpool.c
│ │ │ ├── gstvkbufferpool.h
│ │ │ ├── gstvkcommandbuffer.c
│ │ │ ├── gstvkcommandbuffer.h
│ │ │ ├── gstvkcommandpool-private.h
│ │ │ ├── gstvkcommandpool.c
│ │ │ ├── gstvkcommandpool.h
│ │ │ ├── gstvkconfig.h.meson
│ │ │ ├── gstvkdebug-private.h
│ │ │ ├── gstvkdebug.c
│ │ │ ├── gstvkdebug.h
│ │ │ ├── gstvkdescriptorcache.c
│ │ │ ├── gstvkdescriptorcache.h
│ │ │ ├── gstvkdescriptorpool.c
│ │ │ ├── gstvkdescriptorpool.h
│ │ │ ├── gstvkdescriptorset.c
│ │ │ ├── gstvkdescriptorset.h
│ │ │ ├── gstvkdevice.c
│ │ │ ├── gstvkdevice.h
│ │ │ ├── gstvkdisplay.c
│ │ │ ├── gstvkdisplay.h
│ │ │ ├── gstvkerror.c
│ │ │ ├── gstvkerror.h
│ │ │ ├── gstvkfence.c
│ │ │ ├── gstvkfence.h
│ │ │ ├── gstvkformat.c
│ │ │ ├── gstvkformat.h
│ │ │ ├── gstvkfullscreenquad.c
│ │ │ ├── gstvkfullscreenquad.h
│ │ │ ├── gstvkhandle.c
│ │ │ ├── gstvkhandle.h
│ │ │ ├── gstvkhandlepool.c
│ │ │ ├── gstvkhandlepool.h
│ │ │ ├── gstvkimagebufferpool.c
│ │ │ ├── gstvkimagebufferpool.h
│ │ │ ├── gstvkimagememory.c
│ │ │ ├── gstvkimagememory.h
│ │ │ ├── gstvkimageview.c
│ │ │ ├── gstvkimageview.h
│ │ │ ├── gstvkinstance.c
│ │ │ ├── gstvkinstance.h
│ │ │ ├── gstvkmemory.c
│ │ │ ├── gstvkmemory.h
│ │ │ ├── gstvkphysicaldevice.c
│ │ │ ├── gstvkphysicaldevice.h
│ │ │ ├── gstvkqueue.c
│ │ │ ├── gstvkqueue.h
│ │ │ ├── gstvkswapper.c
│ │ │ ├── gstvkswapper.h
│ │ │ ├── gstvktrash.c
│ │ │ ├── gstvktrash.h
│ │ │ ├── gstvkutils.c
│ │ │ ├── gstvkutils.h
│ │ │ ├── gstvkvideofilter.c
│ │ │ ├── gstvkvideofilter.h
│ │ │ ├── gstvkwindow.c
│ │ │ ├── gstvkwindow.h
│ │ │ ├── ios/
│ │ │ │ ├── gstvkdisplay_ios.h
│ │ │ │ ├── gstvkdisplay_ios.m
│ │ │ │ ├── gstvkios_utils.h
│ │ │ │ ├── gstvkwindow_ios.h
│ │ │ │ └── gstvkwindow_ios.m
│ │ │ ├── meson.build
│ │ │ ├── vulkan-prelude.h
│ │ │ ├── vulkan.h
│ │ │ ├── vulkan_fwd.h
│ │ │ ├── vulkan_mkenum.py
│ │ │ ├── wayland/
│ │ │ │ ├── gstvkdisplay_wayland.c
│ │ │ │ ├── gstvkdisplay_wayland.h
│ │ │ │ ├── gstvkwindow_wayland.c
│ │ │ │ ├── gstvkwindow_wayland.h
│ │ │ │ ├── wayland.h
│ │ │ │ ├── wayland_event_source.c
│ │ │ │ └── wayland_event_source.h
│ │ │ ├── win32/
│ │ │ │ ├── gstvkwindow_win32.c
│ │ │ │ └── gstvkwindow_win32.h
│ │ │ └── xcb/
│ │ │ ├── gstvkdisplay_xcb.c
│ │ │ ├── gstvkdisplay_xcb.h
│ │ │ ├── gstvkwindow_xcb.c
│ │ │ ├── gstvkwindow_xcb.h
│ │ │ ├── xcb.h
│ │ │ ├── xcb_event_source.c
│ │ │ └── xcb_event_source.h
│ │ ├── wayland/
│ │ │ ├── meson.build
│ │ │ ├── wayland.c
│ │ │ └── wayland.h
│ │ └── webrtc/
│ │ ├── datachannel.c
│ │ ├── datachannel.h
│ │ ├── dtlstransport.c
│ │ ├── dtlstransport.h
│ │ ├── icetransport.c
│ │ ├── icetransport.h
│ │ ├── meson.build
│ │ ├── rtcsessiondescription.c
│ │ ├── rtcsessiondescription.h
│ │ ├── rtpreceiver.c
│ │ ├── rtpreceiver.h
│ │ ├── rtpsender.c
│ │ ├── rtpsender.h
│ │ ├── rtptransceiver.c
│ │ ├── rtptransceiver.h
│ │ ├── sctptransport.c
│ │ ├── sctptransport.h
│ │ ├── webrtc-priv.h
│ │ ├── webrtc.h
│ │ └── webrtc_fwd.h
│ └── meson.build
├── gst-plugins-bad.doap
├── hooks/
│ └── pre-commit.hook
├── meson.build
├── meson_options.txt
├── po/
│ ├── LINGUAS
│ ├── POTFILES
│ ├── POTFILES.skip
│ ├── af.po
│ ├── ast.po
│ ├── az.po
│ ├── bg.po
│ ├── ca.po
│ ├── cs.po
│ ├── da.po
│ ├── de.po
│ ├── el.po
│ ├── en_GB.po
│ ├── eo.po
│ ├── es.po
│ ├── eu.po
│ ├── fi.po
│ ├── fr.po
│ ├── fur.po
│ ├── gl.po
│ ├── hr.po
│ ├── hu.po
│ ├── id.po
│ ├── it.po
│ ├── ja.po
│ ├── ky.po
│ ├── lt.po
│ ├── lv.po
│ ├── meson.build
│ ├── mt.po
│ ├── nb.po
│ ├── nl.po
│ ├── or.po
│ ├── pl.po
│ ├── pt_BR.po
│ ├── ro.po
│ ├── ru.po
│ ├── sk.po
│ ├── sl.po
│ ├── sq.po
│ ├── sr.po
│ ├── sv.po
│ ├── tr.po
│ ├── uk.po
│ ├── vi.po
│ └── zh_CN.po
├── scripts/
│ ├── dist-translations.py
│ ├── extract-release-date-from-doap-file.py
│ ├── meson.build
│ └── update-orc-dist-files.py
├── sys/
│ ├── androidmedia/
│ │ ├── gst-android-graphics-imageformat.c
│ │ ├── gst-android-graphics-imageformat.h
│ │ ├── gst-android-hardware-camera.c
│ │ ├── gst-android-hardware-camera.h
│ │ ├── gst-android-hardware-sensor.c
│ │ ├── gst-android-hardware-sensor.h
│ │ ├── gstahcsrc.c
│ │ ├── gstahcsrc.h
│ │ ├── gstahssrc.c
│ │ ├── gstahssrc.h
│ │ ├── gstamc-codec.h
│ │ ├── gstamc-codeclist.h
│ │ ├── gstamc-constants.h
│ │ ├── gstamc-format.h
│ │ ├── gstamc.c
│ │ ├── gstamc.h
│ │ ├── gstamcaudiodec.c
│ │ ├── gstamcaudiodec.h
│ │ ├── gstamcsurfacetexture.c
│ │ ├── gstamcsurfacetexture.h
│ │ ├── gstamcvideodec.c
│ │ ├── gstamcvideodec.h
│ │ ├── gstamcvideoenc.c
│ │ ├── gstamcvideoenc.h
│ │ ├── gstjniutils.c
│ │ ├── gstjniutils.h
│ │ ├── gstsensors.h
│ │ ├── jni/
│ │ │ ├── gstamc-codec-jni.c
│ │ │ ├── gstamc-codeclist-jni.c
│ │ │ ├── gstamc-format-jni.c
│ │ │ ├── gstamc-internal-jni.h
│ │ │ ├── gstamcsurface.c
│ │ │ ├── gstamcsurface.h
│ │ │ ├── gstamcsurfacetexture-jni.c
│ │ │ └── gstamcsurfacetexture-jni.h
│ │ ├── magicleap/
│ │ │ ├── gstamc-codec-ml.c
│ │ │ ├── gstamc-codeclist-ml.c
│ │ │ ├── gstamc-format-ml.c
│ │ │ ├── gstamc-internal-ml.h
│ │ │ ├── gstamc-surfacetexture-ml.c
│ │ │ └── gstamc-surfacetexture-ml.h
│ │ ├── meson.build
│ │ └── org/
│ │ └── freedesktop/
│ │ └── gstreamer/
│ │ └── androidmedia/
│ │ ├── GstAhcCallback.java
│ │ ├── GstAhsCallback.java
│ │ └── GstAmcOnFrameAvailableListener.java
│ ├── applemedia/
│ │ ├── atdec.c
│ │ ├── atdec.h
│ │ ├── avfassetsrc.h
│ │ ├── avfassetsrc.m
│ │ ├── avfdeviceprovider.h
│ │ ├── avfdeviceprovider.m
│ │ ├── avfvideosrc.h
│ │ ├── avfvideosrc.m
│ │ ├── avsamplevideosink.h
│ │ ├── avsamplevideosink.m
│ │ ├── coremediabuffer.c
│ │ ├── coremediabuffer.h
│ │ ├── corevideobuffer.c
│ │ ├── corevideobuffer.h
│ │ ├── corevideomemory.c
│ │ ├── corevideomemory.h
│ │ ├── glcontexthelper.c
│ │ ├── glcontexthelper.h
│ │ ├── iosassetsrc.h
│ │ ├── iosassetsrc.m
│ │ ├── iosglmemory.c
│ │ ├── iosglmemory.h
│ │ ├── iosurfaceglmemory.c
│ │ ├── iosurfaceglmemory.h
│ │ ├── iosurfacevulkanmemory.c
│ │ ├── iosurfacevulkanmemory.h
│ │ ├── meson.build
│ │ ├── metal-helpers.h
│ │ ├── plugin.m
│ │ ├── videotexturecache-gl.h
│ │ ├── videotexturecache-gl.m
│ │ ├── videotexturecache-vulkan.h
│ │ ├── videotexturecache-vulkan.mm
│ │ ├── videotexturecache.h
│ │ ├── videotexturecache.m
│ │ ├── vtdec.c
│ │ ├── vtdec.h
│ │ ├── vtenc.c
│ │ ├── vtenc.h
│ │ ├── vtutil.c
│ │ └── vtutil.h
│ ├── asio/
│ │ ├── gstasiodeviceprovider.cpp
│ │ ├── gstasiodeviceprovider.h
│ │ ├── gstasioobject.cpp
│ │ ├── gstasioobject.h
│ │ ├── gstasioringbuffer.cpp
│ │ ├── gstasioringbuffer.h
│ │ ├── gstasiosink.cpp
│ │ ├── gstasiosink.h
│ │ ├── gstasiosrc.cpp
│ │ ├── gstasiosrc.h
│ │ ├── gstasioutils.cpp
│ │ ├── gstasioutils.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── bluez/
│ │ ├── a2dp-codecs.h
│ │ ├── bluez-plugin.c
│ │ ├── gsta2dpsink.c
│ │ ├── gsta2dpsink.h
│ │ ├── gstavdtpsink.c
│ │ ├── gstavdtpsink.h
│ │ ├── gstavdtpsrc.c
│ │ ├── gstavdtpsrc.h
│ │ ├── gstavdtputil.c
│ │ ├── gstavdtputil.h
│ │ ├── gstavrcputil.c
│ │ ├── gstavrcputil.h
│ │ ├── gstbluezelement.c
│ │ ├── gstbluezelements.h
│ │ ├── meson.build
│ │ └── org.bluez.xml
│ ├── d3d11/
│ │ ├── gstd3d11av1dec.cpp
│ │ ├── gstd3d11av1dec.h
│ │ ├── gstd3d11basefilter.cpp
│ │ ├── gstd3d11basefilter.h
│ │ ├── gstd3d11compositor.cpp
│ │ ├── gstd3d11compositor.h
│ │ ├── gstd3d11compositorbin.cpp
│ │ ├── gstd3d11compositorbin.h
│ │ ├── gstd3d11convert.cpp
│ │ ├── gstd3d11convert.h
│ │ ├── gstd3d11converter.cpp
│ │ ├── gstd3d11converter.h
│ │ ├── gstd3d11decoder.cpp
│ │ ├── gstd3d11decoder.h
│ │ ├── gstd3d11deinterlace.cpp
│ │ ├── gstd3d11deinterlace.h
│ │ ├── gstd3d11desktopdup.cpp
│ │ ├── gstd3d11desktopdup.h
│ │ ├── gstd3d11desktopdupsrc.cpp
│ │ ├── gstd3d11desktopdupsrc.h
│ │ ├── gstd3d11download.cpp
│ │ ├── gstd3d11download.h
│ │ ├── gstd3d11h264dec.cpp
│ │ ├── gstd3d11h264dec.h
│ │ ├── gstd3d11h265dec.cpp
│ │ ├── gstd3d11h265dec.h
│ │ ├── gstd3d11mpeg2dec.cpp
│ │ ├── gstd3d11mpeg2dec.h
│ │ ├── gstd3d11overlaycompositor.cpp
│ │ ├── gstd3d11overlaycompositor.h
│ │ ├── gstd3d11pluginutils.cpp
│ │ ├── gstd3d11pluginutils.h
│ │ ├── gstd3d11shader.cpp
│ │ ├── gstd3d11shader.h
│ │ ├── gstd3d11upload.cpp
│ │ ├── gstd3d11upload.h
│ │ ├── gstd3d11videoprocessor.cpp
│ │ ├── gstd3d11videoprocessor.h
│ │ ├── gstd3d11videosink.cpp
│ │ ├── gstd3d11videosink.h
│ │ ├── gstd3d11vp8dec.cpp
│ │ ├── gstd3d11vp8dec.h
│ │ ├── gstd3d11vp9dec.cpp
│ │ ├── gstd3d11vp9dec.h
│ │ ├── gstd3d11window.cpp
│ │ ├── gstd3d11window.h
│ │ ├── gstd3d11window_corewindow.cpp
│ │ ├── gstd3d11window_corewindow.h
│ │ ├── gstd3d11window_dummy.cpp
│ │ ├── gstd3d11window_dummy.h
│ │ ├── gstd3d11window_swapchainpanel.cpp
│ │ ├── gstd3d11window_swapchainpanel.h
│ │ ├── gstd3d11window_win32.cpp
│ │ ├── gstd3d11window_win32.h
│ │ ├── meson.build
│ │ └── plugin.cpp
│ ├── d3dvideosink/
│ │ ├── d3dhelpers.c
│ │ ├── d3dhelpers.h
│ │ ├── d3dvideosink.c
│ │ ├── d3dvideosink.h
│ │ ├── gstd3d9overlay.c
│ │ ├── gstd3d9overlay.h
│ │ └── meson.build
│ ├── decklink/
│ │ ├── gstdecklink.cpp
│ │ ├── gstdecklink.h
│ │ ├── gstdecklinkaudiosink.cpp
│ │ ├── gstdecklinkaudiosink.h
│ │ ├── gstdecklinkaudiosrc.cpp
│ │ ├── gstdecklinkaudiosrc.h
│ │ ├── gstdecklinkdeviceprovider.cpp
│ │ ├── gstdecklinkdeviceprovider.h
│ │ ├── gstdecklinkplugin.cpp
│ │ ├── gstdecklinkvideosink.cpp
│ │ ├── gstdecklinkvideosink.h
│ │ ├── gstdecklinkvideosrc.cpp
│ │ ├── gstdecklinkvideosrc.h
│ │ ├── linux/
│ │ │ ├── DeckLinkAPI.h
│ │ │ ├── DeckLinkAPIConfiguration.h
│ │ │ ├── DeckLinkAPIDeckControl.h
│ │ │ ├── DeckLinkAPIDiscovery.h
│ │ │ ├── DeckLinkAPIDispatch.cpp
│ │ │ ├── DeckLinkAPIModes.h
│ │ │ ├── DeckLinkAPITypes.h
│ │ │ ├── DeckLinkAPIVersion.h
│ │ │ └── LinuxCOM.h
│ │ ├── meson.build
│ │ ├── osx/
│ │ │ ├── DeckLinkAPI.h
│ │ │ ├── DeckLinkAPIConfiguration.h
│ │ │ ├── DeckLinkAPIDeckControl.h
│ │ │ ├── DeckLinkAPIDiscovery.h
│ │ │ ├── DeckLinkAPIDispatch.cpp
│ │ │ ├── DeckLinkAPIModes.h
│ │ │ ├── DeckLinkAPIStreaming.h
│ │ │ ├── DeckLinkAPITypes.h
│ │ │ └── DeckLinkAPIVersion.h
│ │ └── win/
│ │ ├── DeckLinkAPI.h
│ │ ├── DeckLinkAPIDispatch.cpp
│ │ └── DeckLinkAPI_i.c
│ ├── directsound/
│ │ ├── gstdirectsounddevice.c
│ │ ├── gstdirectsounddevice.h
│ │ ├── gstdirectsoundplugin.c
│ │ ├── gstdirectsoundsrc.c
│ │ ├── gstdirectsoundsrc.h
│ │ └── meson.build
│ ├── dshowdecwrapper/
│ │ ├── CMakeLists.txt
│ │ ├── gstdshowaudiodec.cpp
│ │ ├── gstdshowaudiodec.h
│ │ ├── gstdshowdecwrapper.cpp
│ │ ├── gstdshowdecwrapper.h
│ │ ├── gstdshowfakesrc.cpp
│ │ ├── gstdshowfakesrc.h
│ │ ├── gstdshowutil.cpp
│ │ ├── gstdshowutil.h
│ │ ├── gstdshowvideodec.cpp
│ │ └── gstdshowvideodec.h
│ ├── dshowsrcwrapper/
│ │ ├── BUILD.txt
│ │ ├── CMakeLists.txt
│ │ ├── dshowdeviceprovider.cpp
│ │ ├── dshowdeviceprovider.h
│ │ ├── gstdshow.cpp
│ │ ├── gstdshow.h
│ │ ├── gstdshowaudiosrc.cpp
│ │ ├── gstdshowaudiosrc.h
│ │ ├── gstdshowfakesink.cpp
│ │ ├── gstdshowfakesink.h
│ │ ├── gstdshowsrcwrapper.cpp
│ │ ├── gstdshowvideosrc.cpp
│ │ └── gstdshowvideosrc.h
│ ├── dshowvideosink/
│ │ ├── README
│ │ ├── dshowvideofakesrc.cpp
│ │ ├── dshowvideofakesrc.h
│ │ ├── dshowvideosink.cpp
│ │ └── dshowvideosink.h
│ ├── dvb/
│ │ ├── AUTHORS
│ │ ├── cam.c
│ │ ├── cam.h
│ │ ├── camapplication.c
│ │ ├── camapplication.h
│ │ ├── camapplicationinfo.c
│ │ ├── camapplicationinfo.h
│ │ ├── camconditionalaccess.c
│ │ ├── camconditionalaccess.h
│ │ ├── camdevice.c
│ │ ├── camdevice.h
│ │ ├── camresourcemanager.c
│ │ ├── camresourcemanager.h
│ │ ├── camsession.c
│ │ ├── camsession.h
│ │ ├── camswclient.c
│ │ ├── camswclient.h
│ │ ├── camtransport.c
│ │ ├── camtransport.h
│ │ ├── camutils.c
│ │ ├── camutils.h
│ │ ├── dvbbasebin.c
│ │ ├── dvbbasebin.h
│ │ ├── gstdvb.c
│ │ ├── gstdvbelement.c
│ │ ├── gstdvbelements.h
│ │ ├── gstdvbsrc.c
│ │ ├── gstdvbsrc.h
│ │ ├── meson.build
│ │ ├── parsechannels.c
│ │ └── parsechannels.h
│ ├── fbdev/
│ │ ├── gstfbdevsink.c
│ │ ├── gstfbdevsink.h
│ │ └── meson.build
│ ├── ipcpipeline/
│ │ ├── gstipcpipeline.c
│ │ ├── gstipcpipelinecomm.c
│ │ ├── gstipcpipelinecomm.h
│ │ ├── gstipcpipelineelement.c
│ │ ├── gstipcpipelineelements.h
│ │ ├── gstipcpipelinesink.c
│ │ ├── gstipcpipelinesink.h
│ │ ├── gstipcpipelinesrc.c
│ │ ├── gstipcpipelinesrc.h
│ │ ├── gstipcslavepipeline.c
│ │ ├── gstipcslavepipeline.h
│ │ ├── meson.build
│ │ └── protocol.txt
│ ├── kms/
│ │ ├── gstkmsallocator.c
│ │ ├── gstkmsallocator.h
│ │ ├── gstkmsbufferpool.c
│ │ ├── gstkmsbufferpool.h
│ │ ├── gstkmssink.c
│ │ ├── gstkmssink.h
│ │ ├── gstkmsutils.c
│ │ ├── gstkmsutils.h
│ │ └── meson.build
│ ├── magicleap/
│ │ ├── meson.build
│ │ ├── mlaudiosink.c
│ │ ├── mlaudiosink.h
│ │ ├── mlaudiowrapper.cpp
│ │ ├── mlaudiowrapper.h
│ │ └── plugin.c
│ ├── mediafoundation/
│ │ ├── AsyncOperations.h
│ │ ├── gstmfaacenc.cpp
│ │ ├── gstmfaacenc.h
│ │ ├── gstmfaudioenc.cpp
│ │ ├── gstmfaudioenc.h
│ │ ├── gstmfcapturewinrt.cpp
│ │ ├── gstmfcapturewinrt.h
│ │ ├── gstmfdevice.c
│ │ ├── gstmfdevice.h
│ │ ├── gstmfh264enc.cpp
│ │ ├── gstmfh264enc.h
│ │ ├── gstmfh265enc.cpp
│ │ ├── gstmfh265enc.h
│ │ ├── gstmfmp3enc.cpp
│ │ ├── gstmfmp3enc.h
│ │ ├── gstmfsourceobject.c
│ │ ├── gstmfsourceobject.h
│ │ ├── gstmfsourcereader.cpp
│ │ ├── gstmfsourcereader.h
│ │ ├── gstmftransform.cpp
│ │ ├── gstmftransform.h
│ │ ├── gstmfutils.cpp
│ │ ├── gstmfutils.h
│ │ ├── gstmfvideobuffer.cpp
│ │ ├── gstmfvideobuffer.h
│ │ ├── gstmfvideoenc.cpp
│ │ ├── gstmfvideoenc.h
│ │ ├── gstmfvideosrc.c
│ │ ├── gstmfvideosrc.h
│ │ ├── gstmfvp9enc.cpp
│ │ ├── gstmfvp9enc.h
│ │ ├── gststrmif.h
│ │ ├── mediacapturewrapper.cpp
│ │ ├── mediacapturewrapper.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── meson.build
│ ├── msdk/
│ │ ├── gstmsdk.c
│ │ ├── gstmsdkallocator.h
│ │ ├── gstmsdkallocator_d3d.c
│ │ ├── gstmsdkallocator_libva.c
│ │ ├── gstmsdkallocator_libva.h
│ │ ├── gstmsdkav1dec.c
│ │ ├── gstmsdkav1dec.h
│ │ ├── gstmsdkbufferpool.c
│ │ ├── gstmsdkbufferpool.h
│ │ ├── gstmsdkcontext.c
│ │ ├── gstmsdkcontext.h
│ │ ├── gstmsdkcontextutil.c
│ │ ├── gstmsdkcontextutil.h
│ │ ├── gstmsdkdec.c
│ │ ├── gstmsdkdec.h
│ │ ├── gstmsdkdecproputil.c
│ │ ├── gstmsdkdecproputil.h
│ │ ├── gstmsdkenc.c
│ │ ├── gstmsdkenc.h
│ │ ├── gstmsdkh264dec.c
│ │ ├── gstmsdkh264dec.h
│ │ ├── gstmsdkh264enc.c
│ │ ├── gstmsdkh264enc.h
│ │ ├── gstmsdkh265dec.c
│ │ ├── gstmsdkh265dec.h
│ │ ├── gstmsdkh265enc.c
│ │ ├── gstmsdkh265enc.h
│ │ ├── gstmsdkmjpegdec.c
│ │ ├── gstmsdkmjpegdec.h
│ │ ├── gstmsdkmjpegenc.c
│ │ ├── gstmsdkmjpegenc.h
│ │ ├── gstmsdkmpeg2dec.c
│ │ ├── gstmsdkmpeg2dec.h
│ │ ├── gstmsdkmpeg2enc.c
│ │ ├── gstmsdkmpeg2enc.h
│ │ ├── gstmsdksystemmemory.c
│ │ ├── gstmsdksystemmemory.h
│ │ ├── gstmsdkvc1dec.c
│ │ ├── gstmsdkvc1dec.h
│ │ ├── gstmsdkvideomemory.c
│ │ ├── gstmsdkvideomemory.h
│ │ ├── gstmsdkvp8dec.c
│ │ ├── gstmsdkvp8dec.h
│ │ ├── gstmsdkvp9dec.c
│ │ ├── gstmsdkvp9dec.h
│ │ ├── gstmsdkvp9enc.c
│ │ ├── gstmsdkvp9enc.h
│ │ ├── gstmsdkvpp.c
│ │ ├── gstmsdkvpp.h
│ │ ├── gstmsdkvpputil.c
│ │ ├── gstmsdkvpputil.h
│ │ ├── meson.build
│ │ ├── msdk-enums.c
│ │ ├── msdk-enums.h
│ │ ├── msdk.c
│ │ ├── msdk.h
│ │ ├── msdk_d3d.c
│ │ ├── msdk_libva.c
│ │ └── msdk_libva.h
│ ├── nvcodec/
│ │ ├── cuda-converter.c
│ │ ├── cuda-converter.h
│ │ ├── cuviddec.h
│ │ ├── gstcudabasefilter.c
│ │ ├── gstcudabasefilter.h
│ │ ├── gstcudabasetransform.c
│ │ ├── gstcudabasetransform.h
│ │ ├── gstcudabufferpool.c
│ │ ├── gstcudabufferpool.h
│ │ ├── gstcudacontext.c
│ │ ├── gstcudacontext.h
│ │ ├── gstcudaconvert.c
│ │ ├── gstcudaconvert.h
│ │ ├── gstcudadownload.c
│ │ ├── gstcudadownload.h
│ │ ├── gstcudafilter.c
│ │ ├── gstcudafilter.h
│ │ ├── gstcudaloader.c
│ │ ├── gstcudaloader.h
│ │ ├── gstcudamemory.c
│ │ ├── gstcudamemory.h
│ │ ├── gstcudanvrtc.c
│ │ ├── gstcudanvrtc.h
│ │ ├── gstcudascale.c
│ │ ├── gstcudascale.h
│ │ ├── gstcudaupload.c
│ │ ├── gstcudaupload.h
│ │ ├── gstcudautils.c
│ │ ├── gstcudautils.h
│ │ ├── gstcuvidloader.c
│ │ ├── gstcuvidloader.h
│ │ ├── gstnvbaseenc.c
│ │ ├── gstnvbaseenc.h
│ │ ├── gstnvdec.c
│ │ ├── gstnvdec.h
│ │ ├── gstnvdecoder.c
│ │ ├── gstnvdecoder.h
│ │ ├── gstnvenc.c
│ │ ├── gstnvenc.h
│ │ ├── gstnvh264dec.c
│ │ ├── gstnvh264dec.h
│ │ ├── gstnvh264enc.c
│ │ ├── gstnvh264enc.h
│ │ ├── gstnvh265dec.c
│ │ ├── gstnvh265dec.h
│ │ ├── gstnvh265enc.c
│ │ ├── gstnvh265enc.h
│ │ ├── gstnvrtcloader.c
│ │ ├── gstnvrtcloader.h
│ │ ├── gstnvvp8dec.c
│ │ ├── gstnvvp8dec.h
│ │ ├── gstnvvp9dec.c
│ │ ├── gstnvvp9dec.h
│ │ ├── meson.build
│ │ ├── nvEncodeAPI.h
│ │ ├── nvcuvid.h
│ │ ├── plugin.c
│ │ └── stub/
│ │ ├── cuda.h
│ │ └── nvrtc.h
│ ├── opensles/
│ │ ├── meson.build
│ │ ├── opensles.c
│ │ ├── opensles.h
│ │ ├── openslescommon.c
│ │ ├── openslescommon.h
│ │ ├── openslesplugin.c
│ │ ├── openslesringbuffer.c
│ │ ├── openslesringbuffer.h
│ │ ├── openslessink.c
│ │ ├── openslessink.h
│ │ ├── openslessrc.c
│ │ └── openslessrc.h
│ ├── shm/
│ │ ├── gstshm.c
│ │ ├── gstshmsink.c
│ │ ├── gstshmsink.h
│ │ ├── gstshmsrc.c
│ │ ├── gstshmsrc.h
│ │ ├── meson.build
│ │ ├── shmalloc.c
│ │ ├── shmalloc.h
│ │ ├── shmpipe.c
│ │ └── shmpipe.h
│ ├── tinyalsa/
│ │ ├── meson.build
│ │ ├── tinyalsa.c
│ │ ├── tinyalsasink.c
│ │ └── tinyalsasink.h
│ ├── uvch264/
│ │ ├── gstuvch264.c
│ │ ├── gstuvch264_mjpgdemux.c
│ │ ├── gstuvch264_mjpgdemux.h
│ │ ├── gstuvch264_src.c
│ │ ├── gstuvch264_src.h
│ │ ├── gstuvch264deviceprovider.c
│ │ ├── gstuvch264deviceprovider.h
│ │ ├── meson.build
│ │ ├── uvc_h264.c
│ │ └── uvc_h264.h
│ ├── v4l2codecs/
│ │ ├── gstv4l2codecallocator.c
│ │ ├── gstv4l2codecallocator.h
│ │ ├── gstv4l2codecalphadecodebin.c
│ │ ├── gstv4l2codecalphadecodebin.h
│ │ ├── gstv4l2codecdevice.c
│ │ ├── gstv4l2codecdevice.h
│ │ ├── gstv4l2codech264dec.c
│ │ ├── gstv4l2codech264dec.h
│ │ ├── gstv4l2codecpool.c
│ │ ├── gstv4l2codecpool.h
│ │ ├── gstv4l2codecvp8dec.c
│ │ ├── gstv4l2codecvp8dec.h
│ │ ├── gstv4l2decoder.c
│ │ ├── gstv4l2decoder.h
│ │ ├── gstv4l2format.c
│ │ ├── gstv4l2format.h
│ │ ├── linux/
│ │ │ ├── media.h
│ │ │ ├── types-compat.h
│ │ │ ├── v4l2-common.h
│ │ │ ├── v4l2-controls.h
│ │ │ └── videodev2.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── va/
│ │ ├── gstvaallocator.c
│ │ ├── gstvaallocator.h
│ │ ├── gstvaav1dec.c
│ │ ├── gstvaav1dec.h
│ │ ├── gstvabasedec.c
│ │ ├── gstvabasedec.h
│ │ ├── gstvabasetransform.c
│ │ ├── gstvabasetransform.h
│ │ ├── gstvacaps.c
│ │ ├── gstvacaps.h
│ │ ├── gstvadecoder.c
│ │ ├── gstvadecoder.h
│ │ ├── gstvadeinterlace.c
│ │ ├── gstvadeinterlace.h
│ │ ├── gstvadevice.c
│ │ ├── gstvadevice.h
│ │ ├── gstvadisplay_priv.c
│ │ ├── gstvadisplay_priv.h
│ │ ├── gstvafilter.c
│ │ ├── gstvafilter.h
│ │ ├── gstvah264dec.c
│ │ ├── gstvah264dec.h
│ │ ├── gstvah265dec.c
│ │ ├── gstvah265dec.h
│ │ ├── gstvampeg2dec.c
│ │ ├── gstvampeg2dec.h
│ │ ├── gstvapool.c
│ │ ├── gstvapool.h
│ │ ├── gstvaprofile.c
│ │ ├── gstvaprofile.h
│ │ ├── gstvautils.c
│ │ ├── gstvautils.h
│ │ ├── gstvavideoformat.c
│ │ ├── gstvavideoformat.h
│ │ ├── gstvavp8dec.c
│ │ ├── gstvavp8dec.h
│ │ ├── gstvavp9dec.c
│ │ ├── gstvavp9dec.h
│ │ ├── gstvavpp.c
│ │ ├── gstvavpp.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── wasapi/
│ │ ├── gstaudioclient3.h
│ │ ├── gstmmdeviceenumerator.cpp
│ │ ├── gstmmdeviceenumerator.h
│ │ ├── gstwasapi.c
│ │ ├── gstwasapidevice.c
│ │ ├── gstwasapidevice.h
│ │ ├── gstwasapisink.c
│ │ ├── gstwasapisink.h
│ │ ├── gstwasapisrc.c
│ │ ├── gstwasapisrc.h
│ │ ├── gstwasapiutil.c
│ │ ├── gstwasapiutil.h
│ │ └── meson.build
│ ├── wasapi2/
│ │ ├── AsyncOperations.h
│ │ ├── gstwasapi2client.cpp
│ │ ├── gstwasapi2client.h
│ │ ├── gstwasapi2device.c
│ │ ├── gstwasapi2device.h
│ │ ├── gstwasapi2ringbuffer.cpp
│ │ ├── gstwasapi2ringbuffer.h
│ │ ├── gstwasapi2sink.c
│ │ ├── gstwasapi2sink.h
│ │ ├── gstwasapi2src.c
│ │ ├── gstwasapi2src.h
│ │ ├── gstwasapi2util.c
│ │ ├── gstwasapi2util.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── winks/
│ │ ├── gstksclock.c
│ │ ├── gstksclock.h
│ │ ├── gstksvideodevice.c
│ │ ├── gstksvideodevice.h
│ │ ├── gstksvideosrc.c
│ │ ├── gstksvideosrc.h
│ │ ├── ksdeviceprovider.c
│ │ ├── ksdeviceprovider.h
│ │ ├── kshelpers.c
│ │ ├── kshelpers.h
│ │ ├── ksvideohelpers.c
│ │ ├── ksvideohelpers.h
│ │ └── meson.build
│ └── winscreencap/
│ ├── dxgicapture.c
│ ├── dxgicapture.h
│ ├── gstdx9screencapsrc.c
│ ├── gstdx9screencapsrc.h
│ ├── gstdxgiscreencapsrc.c
│ ├── gstdxgiscreencapsrc.h
│ ├── gstgdiscreencapsrc.c
│ ├── gstgdiscreencapsrc.h
│ ├── gstwinscreencap.c
│ ├── gstwinscreencap.h
│ └── meson.build
├── tests/
│ ├── check/
│ │ ├── elements/
│ │ │ ├── adaptive_demux_common.c
│ │ │ ├── adaptive_demux_common.h
│ │ │ ├── adaptive_demux_engine.c
│ │ │ ├── adaptive_demux_engine.h
│ │ │ ├── aesdec.c
│ │ │ ├── aesenc.c
│ │ │ ├── aiffparse.c
│ │ │ ├── asfmux.c
│ │ │ ├── assrender.c
│ │ │ ├── autoconvert.c
│ │ │ ├── autovideoconvert.c
│ │ │ ├── av1parse.c
│ │ │ ├── av1parse.h
│ │ │ ├── avtpaafdepay.c
│ │ │ ├── avtpaafpay.c
│ │ │ ├── avtpcrfbase.c
│ │ │ ├── avtpcrfcheck.c
│ │ │ ├── avtpcrfsync.c
│ │ │ ├── avtpcrfutil.c
│ │ │ ├── avtpcvfdepay.c
│ │ │ ├── avtpcvfpay.c
│ │ │ ├── avtpsink.c
│ │ │ ├── avtpsrc.c
│ │ │ ├── avwait.c
│ │ │ ├── camerabin.c
│ │ │ ├── cccombiner.c
│ │ │ ├── ccconverter.c
│ │ │ ├── ccextractor.c
│ │ │ ├── clockselect.c
│ │ │ ├── cudaconvert.c
│ │ │ ├── cudafilter.c
│ │ │ ├── curlfilesink.c
│ │ │ ├── curlftpsink.c
│ │ │ ├── curlhttpsink.c
│ │ │ ├── curlhttpsrc.c
│ │ │ ├── curlsftpsink.c
│ │ │ ├── curlsmtpsink.c
│ │ │ ├── d3d11colorconvert.c
│ │ │ ├── dash_demux.c
│ │ │ ├── dash_mpd.c
│ │ │ ├── dash_mpd_data/
│ │ │ │ ├── xlink_double_period.period
│ │ │ │ └── xlink_single_period.period
│ │ │ ├── dtls.c
│ │ │ ├── faac.c
│ │ │ ├── faad.c
│ │ │ ├── gdpdepay.c
│ │ │ ├── gdppay.c
│ │ │ ├── h263parse.c
│ │ │ ├── h264parse.c
│ │ │ ├── h265parse.c
│ │ │ ├── hls_demux.c
│ │ │ ├── hlsdemux_m3u8.c
│ │ │ ├── id3mux.c
│ │ │ ├── interlace.c
│ │ │ ├── jifmux.c
│ │ │ ├── jpeg2000parse.c
│ │ │ ├── jpegparse.c
│ │ │ ├── kate.c
│ │ │ ├── line21.c
│ │ │ ├── mfvideosrc.c
│ │ │ ├── mpeg2enc.c
│ │ │ ├── mpeg4videoparse.c
│ │ │ ├── mpegtsdemux.c
│ │ │ ├── mpegtsmux.c
│ │ │ ├── mpegvideoparse.c
│ │ │ ├── mplex.c
│ │ │ ├── msdkh264enc.c
│ │ │ ├── mssdemux.c
│ │ │ ├── mxfdemux.c
│ │ │ ├── mxfdemux.h
│ │ │ ├── mxfmux.c
│ │ │ ├── neonhttpsrc.c
│ │ │ ├── netsim.c
│ │ │ ├── nvdec.c
│ │ │ ├── nvenc.c
│ │ │ ├── ofa.c
│ │ │ ├── openjpeg.c
│ │ │ ├── parser.c
│ │ │ ├── parser.h
│ │ │ ├── pcapparse.c
│ │ │ ├── pnm.c
│ │ │ ├── ristrtpext.c
│ │ │ ├── rtponvifparse.c
│ │ │ ├── rtponviftimestamp.c
│ │ │ ├── rtpsink.c
│ │ │ ├── rtpsrc.c
│ │ │ ├── shm.c
│ │ │ ├── srtp.c
│ │ │ ├── svthevcenc.c
│ │ │ ├── switchbin.c
│ │ │ ├── templatematch.c
│ │ │ ├── test_http_src.c
│ │ │ ├── test_http_src.h
│ │ │ ├── uvch264demux.c
│ │ │ ├── uvch264demux_data/
│ │ │ │ ├── valid_h264_jpg.h264
│ │ │ │ ├── valid_h264_jpg.mjpg
│ │ │ │ ├── valid_h264_yuy2.h264
│ │ │ │ ├── valid_h264_yuy2.mjpg
│ │ │ │ └── valid_h264_yuy2.yuy2
│ │ │ ├── videoframe-audiolevel.c
│ │ │ ├── viewfinderbin.c
│ │ │ ├── vkcolorconvert.c
│ │ │ ├── vkdeviceprovider.c
│ │ │ ├── voaacenc.c
│ │ │ ├── voamrwbenc.c
│ │ │ ├── vp9parse.c
│ │ │ ├── vp9parse.h
│ │ │ ├── wasapi.c
│ │ │ ├── wasapi2.c
│ │ │ ├── webrtcbin.c
│ │ │ ├── x265enc.c
│ │ │ ├── zbar.c
│ │ │ └── zxing.c
│ │ ├── generic/
│ │ │ └── states.c
│ │ ├── gst-plugins-bad.supp
│ │ ├── libs/
│ │ │ ├── av1parser.c
│ │ │ ├── h264parser.c
│ │ │ ├── h265parser.c
│ │ │ ├── insertbin.c
│ │ │ ├── isoff.c
│ │ │ ├── isoff.h
│ │ │ ├── mpegts.c
│ │ │ ├── mpegvideoparser.c
│ │ │ ├── nalutils.c
│ │ │ ├── planaraudioadapter.c
│ │ │ ├── play.c
│ │ │ ├── vc1parser.c
│ │ │ ├── vkcommandpool.c
│ │ │ ├── vkdevice.c
│ │ │ ├── vkimage.c
│ │ │ ├── vkinstance.c
│ │ │ ├── vkmemory.c
│ │ │ ├── vkwindow.c
│ │ │ ├── vp8parser.c
│ │ │ └── vp9parser.c
│ │ ├── media/
│ │ │ ├── download-media
│ │ │ └── meson.build
│ │ ├── meson.build
│ │ └── pipelines/
│ │ ├── ipcpipeline.c
│ │ ├── mxf.c
│ │ └── streamheader.c
│ ├── examples/
│ │ ├── audiomixmatrix/
│ │ │ ├── meson.build
│ │ │ └── test-audiomixmatrix.c
│ │ ├── avsamplesink/
│ │ │ ├── main.m
│ │ │ └── meson.build
│ │ ├── camerabin2/
│ │ │ ├── gst-camera2.c
│ │ │ ├── gst-camera2.h
│ │ │ ├── gst-camera2.ui
│ │ │ ├── gst-camerabin2-test.c
│ │ │ └── meson.build
│ │ ├── codecparsers/
│ │ │ ├── meson.build
│ │ │ ├── parse-jpeg.c
│ │ │ └── parse-vp8.c
│ │ ├── d3d11videosink/
│ │ │ ├── d3d11device.cpp
│ │ │ ├── d3d11device.h
│ │ │ ├── d3d11videosink-kb.c
│ │ │ ├── d3d11videosink-kb.h
│ │ │ ├── d3d11videosink-shared-texture-d3d9ex.cpp
│ │ │ ├── d3d11videosink-shared-texture.cpp
│ │ │ ├── d3d11videosink.c
│ │ │ └── meson.build
│ │ ├── directfb/
│ │ │ ├── gstdfb.c
│ │ │ └── meson.build
│ │ ├── ipcpipeline/
│ │ │ ├── ipc-play.c
│ │ │ ├── ipcpipeline1.c
│ │ │ └── meson.build
│ │ ├── meson.build
│ │ ├── mpegts/
│ │ │ ├── meson.build
│ │ │ ├── ts-parser.c
│ │ │ ├── ts-scte-writer.c
│ │ │ ├── ts-section-writer.c
│ │ │ └── tsmux-prog-map.c
│ │ ├── msdk/
│ │ │ ├── meson.build
│ │ │ └── test-roi.c
│ │ ├── mxf/
│ │ │ ├── meson.build
│ │ │ └── mxfdemux-structure.c
│ │ ├── nvcodec/
│ │ │ ├── meson.build
│ │ │ ├── nvcodec-kb.c
│ │ │ ├── nvcodec.c
│ │ │ └── nvcodec.h
│ │ ├── opencv/
│ │ │ ├── gstfacedetect_test.c
│ │ │ ├── gsthanddetect_test.c
│ │ │ ├── gstmotioncells_dynamic_test.c
│ │ │ └── meson.build
│ │ ├── playout.c
│ │ ├── uvch264/
│ │ │ ├── boolean_property.glade
│ │ │ ├── enum_property.glade
│ │ │ ├── enum_property_gtk2.glade
│ │ │ ├── int_property.glade
│ │ │ ├── meson.build
│ │ │ ├── test-uvch264.c
│ │ │ └── window.glade
│ │ ├── va/
│ │ │ ├── main.c
│ │ │ ├── meson.build
│ │ │ └── multiple-vpp.c
│ │ ├── waylandsink/
│ │ │ ├── main.c
│ │ │ ├── meson.build
│ │ │ ├── wayland-threads.c
│ │ │ └── window.ui
│ │ ├── webrtc/
│ │ │ ├── meson.build
│ │ │ ├── webrtc.c
│ │ │ ├── webrtcbidirectional.c
│ │ │ ├── webrtcrenego.c
│ │ │ ├── webrtcswap.c
│ │ │ └── webrtctransceiver.c
│ │ └── wpe/
│ │ ├── meson.build
│ │ └── wpe.c
│ ├── files/
│ │ ├── s16be-id3v2.aiff
│ │ └── test.ts
│ ├── icles/
│ │ ├── meson.build
│ │ └── pitch-test.c
│ ├── meson.build
│ └── validate/
│ ├── meson.build
│ └── opencv/
│ ├── cvtracker/
│ │ └── flow-expectations/
│ │ └── log-tracker-src-expected
│ └── cvtracker.validatetest
└── tools/
├── element-templates/
│ ├── audiodecoder
│ ├── audioencoder
│ ├── audiofilter
│ ├── audiosink
│ ├── audiosrc
│ ├── baseparse
│ ├── basesink
│ ├── basesrc
│ ├── basetransform
│ ├── element
│ ├── gobject
│ ├── sinkpad
│ ├── sinkpad-audio
│ ├── sinkpad-simple
│ ├── sinkpad-template
│ ├── sinkpad-template-video
│ ├── srcpad
│ ├── srcpad-audio
│ ├── srcpad-simple
│ ├── srcpad-template
│ ├── srcpad-template-video
│ ├── videodecoder
│ ├── videoencoder
│ ├── videofilter
│ └── videosink
├── gst-app-maker
├── gst-element-maker
├── gst-element-maker-test.sh
├── gst-project-maker
├── gst-transcoder.c
├── meson.build
├── utils.c
└── utils.h
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
*~
Build
*.user
*.suo
*.ipch
*.sdf
*.opensdf
*.DS_Store
# Meson
/build
/subprojects
# hotdoc
docs/hotdoc/libs/generated_sitemap.txt
================================================
FILE: .gitlab-ci.yml
================================================
include: "https://gitlab.freedesktop.org/gstreamer/gst-ci/raw/master/gitlab/ci_template.yml"
================================================
FILE: .indentignore
================================================
ext/sctp/usrsctp/usrsctplib/
================================================
FILE: AUTHORS
================================================
Erik Walthinsen <omega@temple-baptist.com>
Matt Howell <mhowell@users.sourceforge.net>
Brent Bradburn <bbradburn@users.sourceforge.net>
Wim Taymans <wim.taymans@chello.be>
Richard Boulton <richard@tartarus.org>
Zaheer Abbas Merali <zaheerabbas at merali dot org>
David I. Lehn <dlehn@users.sourceforge.net>
Chris Emerson <chris@tartarus.org>
Jens Thiele <karme@unforgettable.com>
Thomas Nyberg <thomas@codefactory.se>
Bastien Nocera <hadess@hadess.net>
Christian Fredrik Kalager Schaller <Uraeus@linuxrising.org>
Thomas Vander Stichele <thomas@apestaart.org>
Andy Wingo <wingo@pobox.com>
Cameron Hutchison <camh@xdna.net>
David Schleef <ds@schleef.org>
Benjamin Otte <in7y118@public.uni-hamburg.de>
Ronald Bultje <rbultje@ronald.bitfreak.net>
Julien MOUTTE <julien@moutte.net>
Jan Schmidt <thaytan@mad.scientist.com>
Arwed v. Merkatz <v.merkatz@gmx.net>
================================================
FILE: COPYING
================================================
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts
as the successor of the GNU Library Public License, version 2, hence
the version number 2.1.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it. You
can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use,
not price. Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of
it in new free programs; and that you are informed that you can do
these things.
To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that
there is no warranty for the free library. Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License. We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.
When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. The Lesser General
Public License permits more lax criteria for linking other code with
the library.
We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General
Public License. It also provides other free software developers Less
of an advantage over competing non-free programs. These disadvantages
are the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes
a de-facto standard. To achieve this, non-free programs must be
allowed to use the library. A more frequent case is that a free
library does the same job as widely used non-free libraries. In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software. For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.
Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License").
Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
e) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the materials to be distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!
================================================
FILE: ChangeLog
================================================
=== release 1.19.2 ===
2021-09-23 01:34:47 +0100 Tim-Philipp Müller <tim@centricular.com>
* ChangeLog:
* NEWS:
* RELEASE:
* gst-plugins-bad.doap:
* meson.build:
Release 1.19.2
2021-09-22 14:17:35 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* gst/audiobuffersplit/gstaudiobuffersplit.c:
audiobuffersplit: Remove unneeded buffer_clip wrapper
This is just a small cleanup noticed while reading.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2544>
2020-07-10 19:31:13 +0530 Vivek R <123vivekr@gmail.com>
* ext/opencv/gstcvtracker.cpp:
* ext/opencv/gstcvtracker.h:
opencv: cvtracker: add draw property
This property controls the drawing of rectangle around the tracked object.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2454>
2020-05-24 23:37:25 +0530 Vivek R <123vivekr@gmail.com>
* docs/plugins/gst_plugins_cache.json:
* ext/opencv/gstcvtracker.cpp:
* ext/opencv/gstcvtracker.h:
* ext/opencv/gstopencv.cpp:
* ext/opencv/meson.build:
* tests/meson.build:
* tests/validate/meson.build:
* tests/validate/opencv/cvtracker.validatetest:
* tests/validate/opencv/cvtracker/flow-expectations/log-tracker-src-expected:
opencv: add cvtracker plugin
This adds an object tracker plugin.
Tracker implementations from https://docs.opencv.org/3.4/d0/d0a/classcv_1_1Tracker.html
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2454>
2020-05-25 10:35:30 +0530 Vivek R <123vivekr@gmail.com>
* ext/opencv/meson.build:
opencv: patch to ensure headers are detected
This patch is used to ensure opencv headers are detected.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2454>
2021-09-19 01:18:00 +0100 Tim-Philipp Müller <tim@centricular.com>
* gst/mpegpsmux/mpegpsmux_aac.c:
* gst/mpegpsmux/mpegpsmux_aac.h:
* gst/mpegpsmux/mpegpsmux_h264.c:
* gst/mpegpsmux/mpegpsmux_h264.h:
* gst/mpegtsmux/gstatscmux.c:
* gst/mpegtsmux/gstatscmux.h:
* gst/mpegtsmux/gstbasetsmux.c:
* gst/mpegtsmux/gstbasetsmux.h:
* gst/mpegtsmux/gstbasetsmuxaac.c:
* gst/mpegtsmux/gstbasetsmuxaac.h:
* gst/mpegtsmux/gstbasetsmuxjpeg2000.c:
* gst/mpegtsmux/gstbasetsmuxjpeg2000.h:
* gst/mpegtsmux/gstbasetsmuxopus.c:
* gst/mpegtsmux/gstbasetsmuxopus.h:
* gst/mpegtsmux/gstbasetsmuxttxt.c:
* gst/mpegtsmux/gstbasetsmuxttxt.h:
* gst/mpegtsmux/gstmpegtsmux.c:
* gst/mpegtsmux/gstmpegtsmux.h:
* gst/mpegtsmux/gstmpegtsmuxplugin.c:
* gst/mpegtsmux/tsmux/tsmux.c:
* gst/mpegtsmux/tsmux/tsmux.h:
* gst/mpegtsmux/tsmux/tsmuxcommon.h:
* gst/mpegtsmux/tsmux/tsmuxstream.c:
* gst/mpegtsmux/tsmux/tsmuxstream.h:
mpegtsmux, mpegpsmux: remove GPL from choice of licenses and add SPDX license identifiers
Some people need to avoid inclusion of GPL code for their use cases and thus
get easily spooked by GPL license headers. This code is actually licensed
under different licenses, only one of which is GPL, and it's already possible
to just upgrade from LGPL to GPL anyway so having the GPL listed explicitly
as one of the choices doesn't really add anything. So remove GPL from the list
and also add SPDX license identifiers while we're at it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2539>
2021-08-24 03:54:27 +0900 Seungha Yang <seungha@centricular.com>
* sys/wasapi/gstmmdeviceenumerator.cpp:
* sys/wasapi/gstmmdeviceenumerator.h:
* sys/wasapi/gstwasapidevice.c:
* sys/wasapi/gstwasapidevice.h:
* sys/wasapi/gstwasapisink.c:
* sys/wasapi/gstwasapisink.h:
* sys/wasapi/gstwasapisrc.c:
* sys/wasapi/gstwasapisrc.h:
* sys/wasapi/gstwasapiutil.c:
* sys/wasapi/gstwasapiutil.h:
* sys/wasapi/meson.build:
* tests/check/elements/wasapi.c:
wasapideviceprovider: Add support for dynamic device add/remove
Adding IMMDeviceEnumerator::RegisterEndpointNotificationCallback
in order to support device monitoring.
On OnDeviceAdded(), OnDeviceRemoved(), and OnDefaultDeviceChanged()
callback, wasapi device provider implementation will enumerate
devices again and will notify newly added and removed device
via GstDeviceProvider API.
As a bonus point, this IMMDeviceEnumerator abstraction object
will spawn a dedicated internal COM thread, so various COM thread
related issues of WASAPI plugin can be resolved by this commit.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1649
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1110
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2484>
2021-02-01 16:21:59 +0100 Stéphane Cerveau <scerveau@collabora.com>
* tests/check/elements/openjpeg.c:
* tests/check/meson.build:
openjpeg: add unit test
Test various format supported with subframes.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/979>
2021-01-22 10:39:56 +0100 Stéphane Cerveau <scerveau@collabora.com>
* docs/plugins/gst_plugins_cache.json:
* ext/openjpeg/gstopenjpegdec.c:
* ext/openjpeg/gstopenjpegenc.c:
* gst/videoparsers/gstjpeg2000parse.c:
jpeg2000parse + openjpeg: Switch striped mode to its own caps
It's not compatible with any other element that use the non-striped
mode. In addition, in this mode, we require that every frame have the
same number of stripes or that the MARKER bit be present, which is
different from the other
formats too.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/979>
2020-12-23 11:03:34 +0100 Stéphane Cerveau <scerveau@collabora.com>
* ext/openjpeg/gstopenjpegdec.c:
openjpegdec: Fix crash with AYUV64 in subframe mode
Remove useless generic fill_frame methods to use
the packed one for AYUV and AYUV64.
Fix gst-launch-1.0 -v videotestsrc !
video/x-raw,width=640,height=480,format=AYUV64 ! openjpegenc
num-stripes=8 ! openjpegdec max-threads=8 ! videoconvert !
autovideosink sync=false
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/979>
2020-04-24 16:15:42 +0200 Stéphane Cerveau <scerveau@collabora.com>
* ext/openjpeg/gstopenjpeg.h:
* ext/openjpeg/gstopenjpegdec.c:
* ext/openjpeg/gstopenjpegdec.h:
openjpegdec: support for a multithreaded decoding.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/979>
2020-01-13 14:02:39 -0500 Aaron Boxer <aaron.boxer@collabora.com>
* ext/openjpeg/gstopenjpegdec.c:
* ext/openjpeg/gstopenjpegdec.h:
openjpegdec: enable sub frame mode
Rebuild output frame from multiple stripes input.
Keep the first frame and fill it with the following stripes to finish
a complete frame only once.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/979>
2020-12-22 18:19:40 -0500 Olivier Crête <olivier.crete@collabora.com>
* docs/plugins/gst_plugins_cache.json:
* gst/mpegtsmux/gstmpegtsmux.c:
mpegtsmux: Require frame alignment for JPEG 2000
We have yet to implement stripe alignment with the required descriptor.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/979>
2020-12-22 18:15:52 -0500 Olivier Crête <olivier.crete@collabora.com>
* docs/plugins/gst_plugins_cache.json:
* ext/openjpeg/gstopenjpegdec.c:
openjpegdec: Reject stripes for now
They're not implemented.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/979>
2020-12-22 18:20:35 -0500 Olivier Crête <olivier.crete@collabora.com>
* ext/openjpeg/gstopenjpegenc.c:
openjpegenc: Only allow stripe with image/x-jpc format
It's the only format that our MPEG-TS muxer allows and the carriage of
JPEG 2000 stripes is only defined for MPEG-TS as far as I know.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/979>
2020-04-21 20:56:03 +0200 Stéphane Cerveau <scerveau@collabora.com>
* docs/plugins/gst_plugins_cache.json:
* ext/openjpeg/gstopenjpeg.h:
* ext/openjpeg/gstopenjpegenc.c:
* ext/openjpeg/gstopenjpegenc.h:
openjpegenc: support for a multithreaded encoding.
This commit introduces a multithreaded encoder allowing
to encode mulitple stripes or subframes in separated threads.
This feature aims to enhance the overall latency of a codec
pipeline.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/979>
2021-09-18 12:02:15 +0100 Philippe Normand <philn@igalia.com>
* ext/wpe/WPEThreadedView.cpp:
wpe: context thread dispatch fixes
Use dedicated mutex/cond/flag for jobs being dispatched in the context thread.
The previous code was signalling the thread startup condition, which is wrong.
When WPEContextThread::dispatch() is invoked it means the thread has already
correctly been started up.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2533>
2021-09-18 12:01:39 +0100 Philippe Normand <philn@igalia.com>
* ext/wpe/WPEThreadedView.cpp:
* ext/wpe/WPEThreadedView.h:
wpe: Properly wait on context thread startup condition
Fixes #1661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2533>
2021-09-20 09:41:32 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* docs/plugins/gst_plugins_cache.json:
doc: Update kmssink caps cache
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2530>
2021-09-17 16:21:39 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* sys/kms/gstkmsutils.c:
kmssink: Add RGB16/BGR16 support
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2530>
2021-09-17 16:14:36 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* sys/kms/gstkmsutils.c:
kmssink: Sort format according to GST_VIDEO_FORMATS_ALL
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2530>
2021-09-17 15:42:25 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* sys/kms/gstkmsutils.c:
kmssink: Remove big endian format inversion
This has been a bad interpretation of the DRM docuemntation. The formats are
fixed regardless the CPU, but for some formats, they expressed in the opposite
order as GStreamer. Same change was done in waylandsink 2 years ago.
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/commit/b393b650ab9bfb9654fc116163ab331907216d74
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2530>
2021-09-17 15:41:41 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* sys/kms/gstkmsutils.c:
kmssink: Add NV61 support
This identically handled to NV16, so no reason not to inclue it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2530>
2021-09-17 15:39:54 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* sys/kms/gstkmsutils.c:
kmssink: Add NV24 support
This was tested on RK3566 platform, using vendor DRM driver.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2530>
2021-09-18 00:33:12 +0900 Seungha Yang <seungha@centricular.com>
* gst-libs/gst/codecs/gstav1decoder.c:
* gst-libs/gst/codecs/gstav1decoder.h:
* sys/d3d11/gstd3d11av1dec.cpp:
* sys/va/gstvaav1dec.c:
codecs: av1decoder: Use GstFlowReturn everywhere
The same modification as that of VP8 decoder
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2528>
2021-09-18 00:09:24 +0900 Seungha Yang <seungha@centricular.com>
* gst-libs/gst/codecs/gstvp9decoder.c:
* gst-libs/gst/codecs/gstvp9decoder.h:
* sys/d3d11/gstd3d11vp9dec.cpp:
* sys/nvcodec/gstnvvp9dec.c:
* sys/va/gstvavp9dec.c:
codecs: vp9decoder: Use GstFlowReturn everywhere
The same modification as that of VP8 decoder
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2528>
2021-09-17 23:23:06 +0900 Seungha Yang <seungha@centricular.com>
* gst-libs/gst/codecs/gstvp8decoder.c:
* gst-libs/gst/codecs/gstvp8decoder.h:
* sys/d3d11/gstd3d11vp8dec.cpp:
* sys/nvcodec/gstnvvp8dec.c:
* sys/v4l2codecs/gstv4l2codecvp8dec.c:
* sys/va/gstvavp8dec.c:
codecs: vp8decoder: Use GstFlowReturn everywhere
boolean return value is not sufficient for representing the reason
of error in most cases. For instance, any errors around new_sequence()
would mean negotiation error, not just *ERROR*.
And some subclasses will allocate buffer/memory/surface on new_picture()
but it could be failed because of expected error, likely flushing
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2528>
2021-08-16 18:15:42 +0300 Vivia Nikolaidou <vivia@ahiru.eu>
* gst/mpegtsdemux/mpegtspacketizer.c:
mpegtspacketizer: memcmp potentially seen_before data
Theoretically the version number is incremented every time there's a new
section, but in a world of streaming we can't easily make that
assumption.
An example of a broken use case is when we're cat-ing two mpeg-ts files
together, which is equivalent of capturing a DVB stream while switching
channels. A set-top box would know that we switched the channels and
reset the demuxer, but in practice this might not happen.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2468>
2021-09-20 11:35:51 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst-libs/gst/play/gstplay-media-info.c:
* gst-libs/gst/play/gstplay.c:
* gst-libs/gst/player/gstplayer-media-info.c:
* gst-libs/gst/player/gstplayer.c:
player: Fix/add various annotations
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2538>
2021-09-18 18:07:43 +0900 Seungha Yang <seungha@centricular.com>
* sys/va/meson.build:
meson: va: Make AV1 support always optional
Otherwise meson configure with -Dva=enabled will be failed
when installed libva version is < 1.8
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2532>
2021-09-18 11:03:16 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* sys/va/gstvacaps.c:
va: caps: Don't use image formats for decoded frames.
Initially we tried to use the internal color conversion used in i965
and Gallium drivers when decoding. But this approach has showed
limitations and problems.
This patch removes completely the possible color conversion at
decoding, since it show problems with deinterlacing, for example:
gst-launch-1.0 filesrc location=interlaced.mpg2 ! parsebin ! vampeg2dec ! vadeinterlace ! xvimagesink
Allowing only the surface formats when decoding is more stable.
For color conversion is better to do it explicitly with vapostproc.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2531>
2021-04-27 11:59:15 +0200 Marijn Suijten <marijns95@gmail.com>
* gst-libs/gst/player/gstplayer-media-info.c:
* gst-libs/gst/player/gstplayer.c:
player: Add missing nullable annotations
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2197>
2021-04-27 11:58:58 +0200 Marijn Suijten <marijns95@gmail.com>
* gst-libs/gst/play/gstplay-media-info.c:
* gst-libs/gst/play/gstplay.c:
play: Add missing nullable annotations
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2197>
2021-09-18 14:29:25 +0200 Fabian Orccon <cfoch.fabian@gmail.com>
* sys/shm/meson.build:
sys: shm: Define shm_enable and shm_deps before escape meson subdir
Fixes meson configure in tests if the shm plugin is disabled
Fixes #1664
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2534>
2021-09-18 02:27:51 +0900 Seungha Yang <seungha@centricular.com>
* sys/d3d11/gstd3d11videosink.cpp:
* sys/d3d11/gstd3d11window.cpp:
* sys/d3d11/gstd3d11window.h:
* sys/d3d11/gstd3d11window_win32.cpp:
d3d11videosink: Display title of content if possible
Update title text of window (currently it's always "Direct3D11 renderer")
when we are rendering on internal HWND, not external HWND.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2529>
2021-09-18 01:32:11 +0900 Seungha Yang <seungha@centricular.com>
* sys/d3d11/gstd3d11videosink.cpp:
d3d11videosink: Remove unused enum value
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2529>
2021-09-15 13:59:17 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
* sys/msdk/gstmsdkenc.c:
msdkenc: Pass color properties to MediaSDK for encoding
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2523>
2021-09-15 16:32:02 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
* sys/msdk/gstmsdkh265enc.c:
* sys/msdk/gstmsdkh265enc.h:
msdkh265enc: Add profile main10 still picture for hevc
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2524>
2021-09-16 17:12:58 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* ext/wayland/gstwaylandsink.c:
* ext/wayland/wlbuffer.c:
waylandsink: Fix double render check
Our code does not support rendering twice the same wl_buffer in a row, so it
tries to skip that case, but for this it relied on the GstBuffer pointer,
while the cache actually works at the GstMemory level now. To avoid this
compare the GstWlBuffer instead.
This fixes crash when use in zero-copy with videorate element.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2526>
2021-09-07 09:45:54 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* gst-libs/gst/codecs/gstmpeg2decoder.c:
codecs: mpeg2decoder: Use tsg framerate for latency.
Latency setting relies on src pad caps, but they aren't set when the
function is called, and latency is never updated.
In order to fix it, this patch uses TSG framerate first, and if it's
not set yet, sinkpad caps are used to get the framerate.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2514>
2021-09-16 00:59:37 +0900 Seungha Yang <seungha@centricular.com>
* sys/d3d11/gstd3d11av1dec.cpp:
* sys/d3d11/gstd3d11av1dec.h:
* sys/d3d11/gstd3d11decoder.cpp:
* sys/d3d11/gstd3d11decoder.h:
* sys/d3d11/gstd3d11h264dec.cpp:
* sys/d3d11/gstd3d11h264dec.h:
* sys/d3d11/gstd3d11h265dec.cpp:
* sys/d3d11/gstd3d11h265dec.h:
* sys/d3d11/gstd3d11mpeg2dec.cpp:
* sys/d3d11/gstd3d11mpeg2dec.h:
* sys/d3d11/gstd3d11vp8dec.cpp:
* sys/d3d11/gstd3d11vp8dec.h:
* sys/d3d11/gstd3d11vp9dec.cpp:
* sys/d3d11/gstd3d11vp9dec.h:
* sys/d3d11/plugin.cpp:
d3d11decoder: Refactor for more unified decoding flow
... and various code cleanup.
* Move spreaded decoding API calls into one method
Previously, decoding flow of most codecs are
- Call DecoderBeginFrame() on start_picture()
- Call {Get,Release}DecoderBuffer() on decode_slice()
- Call SubmitDecoderBuffers() and DecoderEndFrame() on end_picture()
Such spreaded API calls make it hard to keep track of status
of decoding. Now it will be done at once in a new method.
* Drop a code for non-zero wBadSliceChopping
When bitstream buffer provided by driver is not sufficient
to write compressed bitstream data, host decoder needs to make use
of wBadSliceChopping so that driver can understand there are
multiple bitstream buffer. But it's a bit unrealistic and
not tested. Since FFMpeg's DXVA implemetaion doesn't support it,
we might be able to ignore the case for now.
* Make code more portable
Consider common logic of GstCodecs -> DXVA translation for all D3D APIs
(i,e., D3D9, D3D11, and D3D12).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2525>
2021-09-15 23:41:39 +0900 Seungha Yang <seungha@centricular.com>
* sys/d3d11/gstd3d11av1dec.cpp:
* sys/d3d11/gstd3d11decoder.cpp:
* sys/d3d11/gstd3d11decoder.h:
* sys/d3d11/gstd3d11h264dec.cpp:
* sys/d3d11/gstd3d11h265dec.cpp:
* sys/d3d11/gstd3d11mpeg2dec.cpp:
* sys/d3d11/gstd3d11vp8dec.cpp:
* sys/d3d11/gstd3d11vp9dec.cpp:
d3d11decoder: Remove duplicated class_init and property related code
Move them into the decoder helper code to remove duplication
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2525>
2021-09-11 00:43:26 +0900 Seungha Yang <seungha@centricular.com>
* sys/d3d11/gstd3d11av1dec.cpp:
* sys/d3d11/gstd3d11compositor.cpp:
* sys/d3d11/gstd3d11compositorbin.cpp:
* sys/d3d11/gstd3d11converter.cpp:
* sys/d3d11/gstd3d11deinterlace.cpp:
* sys/d3d11/gstd3d11desktopdup.cpp:
* sys/d3d11/gstd3d11desktopdupsrc.cpp:
* sys/d3d11/gstd3d11h264dec.cpp:
* sys/d3d11/gstd3d11h265dec.cpp:
* sys/d3d11/gstd3d11mpeg2dec.cpp:
* sys/d3d11/gstd3d11overlaycompositor.cpp:
* sys/d3d11/gstd3d11pluginutils.cpp:
* sys/d3d11/gstd3d11shader.cpp:
* sys/d3d11/gstd3d11videoprocessor.cpp:
* sys/d3d11/gstd3d11vp8dec.cpp:
* sys/d3d11/gstd3d11vp9dec.cpp:
* sys/d3d11/gstd3d11window.cpp:
* sys/d3d11/gstd3d11window_corewindow.cpp:
* sys/d3d11/gstd3d11window_dummy.cpp:
* sys/d3d11/gstd3d11window_swapchainpanel.cpp:
* sys/d3d11/gstd3d11window_win32.cpp:
* sys/d3d11/meson.build:
* sys/d3d11/plugin.cpp:
d3d11: Get rid of "extern "C"" wrapping for GST_DEBUG_CATEGORY_EXTERN
Instead, change the file defining debug category to cpp
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2525>
2020-06-30 11:15:43 -0700 U. Artie Eoff <ullysses.a.eoff@intel.com>
* ext/closedcaption/meson.build:
* tests/check/meson.build:
tests: skip cc tests if plugin is disabled
Skip the closedcaption element tests if the
closedcaption option is disabled at compile
time (i.e. -Dclosedcaption=disabled).
v2: rename pangocairo_dep to avoid conflict
with later definition in ext/ttml/meson.build
as suggested by @tpm.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1388>
2021-08-31 17:16:05 +0800 He Junyan <junyan.he@intel.com>
* gst-libs/gst/codecs/gsth264decoder.c:
codecs: h264dec: Check bumping again after inserting current picture.
In order to get the lowest latency, we can add another bumping check after
inserting the current picture into the DPB immediately. That can avoid
waiting for another decoding circle of the next frame and so the latency
is lower.
Fix: #1628
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2501>
2021-08-31 17:37:11 +0800 He Junyan <junyan.he@intel.com>
* gst-libs/gst/codecs/gsth264picture.c:
codecs: h264: Add protection to to_insert picture in bump check.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2501>
2021-08-31 16:39:06 +0800 He Junyan <junyan.he@intel.com>
* gst-libs/gst/codecs/gsth264decoder.c:
codecs: h264dec: Improve the policy to infer max_num_reorder_frames.
The max_num_reorder_frames number can change the way we bumping the
pictures in the DPB. The smaller it is, the lower latency we will
get. So it is important for live mode streams, but it is not given
in VUI parameters sometimes. We now improve the policy to infer it:
1. Never guess it in the "strict" compliance.
2. For baseline and constrained baseline profiles, which do not have
B frames, set it to 0.
3. For -intra only profiles, set it to 0.
4. Otherwise, not guess it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2501>
2021-09-14 20:57:30 -0700 U. Artie Eoff <ullysses.a.eoff@intel.com>
* ext/aes/meson.build:
* tests/check/meson.build:
tests: skip aes test if elements not built
In ext/aes/meson.build, the aes_dep will return
not-found if -Daes=disabled, regardless of whether
openssl is found or not. Thus, we don't need a
separate check for the option. This will also
ensure that aes_dep is always defined and we can
use it in the tests/check/meson.build unit.
Fixes #1660
v2: handle -Daes=disabled, too.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2522>
2021-08-31 17:33:02 +0100 Philippe Normand <philn@igalia.com>
* ext/wpe/gstwpesrcbin.cpp:
wpe: Add support for web:// URIs
The CEF source already supports this. No good reason for wpesrc not too ;)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2503>
2021-07-23 23:38:22 +0800 He Junyan <junyan.he@intel.com>
* sys/va/gstvah264dec.c:
va: h264dec: Try to use ConstrainedBaseline or Main to decode BaseLine.
In the h264, the Baseline profile is widely misused. A lot of streams declare
that they are the Baseline, but in fact they just conform to ConstrainedBaseline.
The features such as FMO and ASO are not used at all.
If the decoder does not strictly conforms to the SPEC, we can just use Baseline
or Main profile to decode it to avoid lots of streams failure.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2428>
2021-07-28 23:19:15 +0800 He Junyan <junyan.he@intel.com>
* gst-libs/gst/codecs/gsth264decoder.c:
codecs: h264dec: Improve the fast bump for the live mode.
We control the policy of fast bump by the profile and the compliance
property. For baseline and constrained baseline profiles, we can use
more radical bump policy. User can also change the bump policy by
setting the compliance property in run time.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2432>
2021-07-28 22:48:21 +0800 He Junyan <junyan.he@intel.com>
* gst-libs/gst/codecs/gsth264picture.c:
* gst-libs/gst/codecs/gsth264picture.h:
codecs: h264: Change the low_latency to an enum for dpb_needs_bump().
The bool parameter of low_latency is not enough. We have multi policies for
low latency bumping, from the safest to something radical. So we need an enum
to represent the proper latency requirement.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2432>
2021-07-26 16:09:19 +0800 He Junyan <junyan.he@intel.com>
* gst-libs/gst/codecs/gsth264decoder.c:
* gst-libs/gst/codecs/gsth264decoder.h:
codecs: h264dec: Add a compliance property to control behavior.
Some features such as the low-latency DPB bumping and mapping the
baseline profile as the constrained-baseline profile do not conform
to the H264 offical spec. But in practice, they are very useful and
are widely needed. We add this compliance property to control the
behavior of the decoder, make it fit more requirement.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2432>
2021-09-12 12:23:36 +0100 Philippe Normand <philn@igalia.com>
* docs/plugins/gst_plugins_cache.json:
docs: Update cache
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2521>
2021-09-07 10:55:10 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* docs/plugins/gst_plugins_cache.json:
* sys/va/gstvafilter.c:
va: Update vapostproc documentation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
2021-09-07 10:16:05 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* sys/va/gstvah264dec.c:
* sys/va/gstvavpp.c:
va: Update todo lists, removing deinterlacing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
2021-08-23 11:24:40 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* docs/plugins/gst_plugins_cache.json:
* sys/va/gstvadeinterlace.c:
* sys/va/gstvadeinterlace.h:
* sys/va/meson.build:
* sys/va/plugin.c:
Add vadeinterlace element.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
2021-08-24 13:53:12 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* sys/va/gstvafilter.c:
* sys/va/gstvafilter.h:
va: filter: Add past and future frames in GstVaSample.
And add them in the pipeline structure if they are provided.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
2021-08-24 13:33:29 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* sys/va/gstvafilter.c:
* sys/va/gstvafilter.h:
va: filter: Add gst_va_filter_add_deinterlace_buffer()
This function decorates gst_va_filter_add_filter_buffer() to get the
number of past and future frames to hold, given the method.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
2020-12-21 18:17:24 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* sys/va/gstvafilter.c:
* sys/va/gstvafilter.h:
va: filter: Add deinterlacing method parameter.
For exposing that gobject parameter a new helper function is added:
gst_va_filter_install_deinterlace_properties()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
2021-08-23 16:29:36 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* sys/va/gstvafilter.c:
va: filter: Protect filters array of overwrite.
It's possible to modify the filters array from another GStremer
thread, and the post-processing operation is not atomic, so the filter
array is reffed while the VA pipeline is processed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
2021-08-23 15:24:55 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* sys/va/gstvafilter.c:
va: filter: Add helper function to query pipeline caps.
This function is going to be shared for future deinterlace filter
processing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
2021-08-23 15:16:16 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* sys/va/gstvafilter.c:
va: filter: Shuffle _destroy_filters_unlocked().
In order to put it near to its caller.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
2021-08-10 17:55:43 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* sys/va/gstvavpp.c:
* sys/va/gstvavpp.h:
* sys/va/plugin.c:
vapostproc: Move up color balance detection to plugin.
In order to install the color balance interface, a GstVaFilter is
instantiated and queried to know if it supports color balance
filter. It was done just after the GObject was registered. Now, it's
done before.
The reason of this change is that deinterlace element has to be
registered only if deinterlace filter is available, using only one
instantiate of GstVaFilter.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
2021-09-07 11:35:09 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* docs/plugins/gst_plugins_cache.json:
* sys/va/gstvabasetransform.c:
va: basetransform: Update documentation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
2021-09-09 18:26:56 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* sys/va/gstvabasetransform.h:
va: basetransform: Add autoptr clean up function.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
2021-08-23 18:44:30 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* sys/va/gstvabasetransform.c:
va: basetransform: Use copy_metadata() at buffer import.
Instead of using only gst_buffer_copy_into() use copy_metadata()
vmethod to copy what's needed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
2021-08-23 10:40:32 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* sys/va/gstvavpp.c:
vapostproc: don't chain up transform_meta()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2495>
2021-07-29 12:20:30 -0300 Daniel Almeida <daniel.almeida@collabora.com>
* gst-libs/gst/codecs/gstvp9statefulparser.c:
codecs: gstvp9statefulparser: feature_data should be 0 if feature_enable is 0
The spec says in 6.2.11 that feature_data[i][j] should be zero if
feature_enabled[i][j] is zero. Instead we retained the old value in the parser.
Fix it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2449>
2021-09-08 05:28:22 +0200 Marek Vasut <marex@denx.de>
* gst-libs/gst/codecparsers/gsth264parser.c:
gsth264parser: Fix handling of NALs with emulation byte set
In case a set of NALs with emulation_prevention_three_byte is decoded using
hardware decoder like Hantro G1, wrong struct v4l2_ctrl_h264_decode_params
.dec_ref_pic_marking_bit_size is passed into the kernel, which results in
decoding artifacts. Subtract the number of emulation three bytes from the
.dec_ref_pic_m->bit_size to get the correct bit size and avoid having these
artifacts. Apply the exact same fix to slice->pic_order_cnt_bit_size as well.
The following NALs (7, 8, 6, 5) decode with artifacts,
.dec_ref_pic_marking_bit_size is set to 10 without this patch.
00000000 00 00 00 01 27 4d 00 20 89 8b 60 3c 04 bf 2e 02 |....'M. ..`<....|
00000010 d4 18 04 18 c0 c0 01 77 00 00 5d c1 7b df 05 00 |.......w..].{...|
00000020 00 00 01 28 ee 1f 20 00 00 01 06 05 10 b9 ed b9 |...(.. .........|
00000030 30 5d 21 4b 71 83 71 2c 10 a3 14 bb 29 80 00 00 |0]!Kq.q,....)...|
00000040 01 25 b8 00 05 00 00 03 03 7f fa 78 1e e7 fd fe |.%.........x....|
^^^^^^^^^^^^--- emulation 3 byte
00000050 b4 62 7a 31 ff 7d 81 fd 26 d8 62 b6 d6 25 46 ae |.bz1.}..&.b..%F.|
The following NALs (7, 8, 6, 5) decode fine,
.dec_ref_pic_marking_bit_size is set to 2 without this patch.
00000000 00 00 00 01 27 4d 00 20 89 8b 60 3c 04 bf 2e 02 |....'M. ..`<....|
00000010 d4 18 04 18 c0 c0 01 77 00 00 5d c1 7b df 05 00 |.......w..].{...|
00000020 00 00 01 28 ee 1f 20 00 00 01 06 05 10 b9 ed b9 |...(.. .........|
00000030 30 5d 21 4b 71 83 71 2c 10 a3 14 bb 29 80 00 00 |0]!Kq.q,....)...|
00000040 01 25 b8 00 04 c0 00 03 7f fa 78 1e e7 fd fe b4 |.%........x.....|
00000050 62 7a 31 ff 7d 81 fd 26 d8 62 b6 d6 25 46 ae ce |bz1.}..&.b..%F..|
Fixes: d0d65fa875 ("codecparsers: h264: record dec_ref_pic_marking() size")
Fixes: 0cc7d6f093 ("codecparsers: h264: record pic_order_cnt elements size")
Signed-off-by: Marek Vasut <marex@denx.de>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2517>
2021-09-03 14:57:09 -0400 Aaron Boxer <aaron.boxer@collabora.com>
* gst-libs/gst/codecparsers/gsth264parser.c:
gsth264parser: reject memory management control op greater than 6
This prevents assertion from being thrown in
gst_h264_dpb_perform_memory_management_control_operation
if corrupt NAL has a control op greater than 6
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2508>
2021-08-24 09:59:59 +0000 Ung, Teng En <teng.en.ung@intel.com>
* sys/msdk/gstmsdk.c:
* sys/msdk/gstmsdkav1dec.c:
* sys/msdk/gstmsdkdec.c:
* sys/msdk/gstmsdkenc.c:
* sys/msdk/gstmsdkh264dec.c:
* sys/msdk/gstmsdkh264enc.c:
* sys/msdk/gstmsdkh265dec.c:
* sys/msdk/gstmsdkh265enc.c:
* sys/msdk/gstmsdkmjpegdec.c:
* sys/msdk/gstmsdkmjpegenc.c:
* sys/msdk/gstmsdkmpeg2dec.c:
* sys/msdk/gstmsdkmpeg2enc.c:
* sys/msdk/gstmsdkvc1dec.c:
* sys/msdk/gstmsdkvp8dec.c:
* sys/msdk/gstmsdkvp9dec.c:
* sys/msdk/gstmsdkvp9enc.c:
* sys/msdk/gstmsdkvpp.c:
* sys/msdk/msdk.c:
* sys/msdk/msdk.h:
msdk: Adjust the plugin and factories description based on MFX_VERSION.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2485>
2021-09-08 17:32:30 +0200 Mathieu Duponchelle <mathieu@centricular.com>
* gst-libs/gst/vulkan/xcb/gstvkdisplay_xcb.c:
vulkan: don't link to XOpenDisplay in documentation
hotdoc doesn't know about that symbol
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2518>
2021-08-30 23:26:39 +1000 Jan Schmidt <jan@centricular.com>
* ext/mpeg2enc/gstmpeg2enc.cc:
* ext/mpeg2enc/gstmpeg2enc.hh:
* ext/mpeg2enc/gstmpeg2encpicturereader.cc:
mpeg2enc: Only allow 1 pending frame for encoding
Having an unlimited input queue is very bad if the
encoder can't run at real-time. Eventually it will
consume all RAM. I don't really see any reason to
have more than 1 outstanding encoded frame, so
remove the queue and limit things to 1 pending frame.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2499>
2021-09-01 17:35:45 -0400 Thibault Saunier <tsaunier@igalia.com>
* ext/wpe/wpe-extension/gstwpeaudiosink.c:
wpe: Fix race condition on teardown
There was a race when going to PAUSED while pushing a buffer to the
pipeline process (where we weren't even cancelling anything).
This rework base all the cancellation around the GCancellable
"cancelled" signal trying to ensure that the streaming thread will not
block once a cancel operation happens.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2504>
2021-09-01 17:26:04 -0400 Thibault Saunier <tsaunier@igalia.com>
* ext/wpe/gstwpesrcbin.cpp:
wpe: Use the new element.get_current_running_time API
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2504>
2021-09-01 17:24:45 -0400 Thibault Saunier <tsaunier@igalia.com>
* ext/wpe/gstwpesrcbin.cpp:
wpe: Mark first buffer as starting at 0
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2504>
2021-09-02 22:06:52 +0900 Seungha Yang <seungha@centricular.com>
* gst/videoparsers/gstvideoparseutils.c:
videoparseutils: Fix for wrong CEA708 minimum size check
The minimum possible size of valid CEA708 data is 3 bytes, not 7 bytes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2505>
2021-08-29 11:04:17 +0100 Philippe Normand <philn@igalia.com>
* ext/wpe/gstwpevideosrc.cpp:
wpevideosrc: Uniformise default value for draw-background property
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2498>
2021-08-29 10:30:53 +0100 Philippe Normand <philn@igalia.com>
* ext/wpe/gstwpevideosrc.cpp:
wpevideosrc: Implement basic heuristic for raw caps negotiation
Before this patch raw caps could be negotiated already with a capsfilter, but in
cases where wpesrc is being auto-plugged this approach can't be used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2498>
2021-08-29 10:28:57 +0100 Philippe Normand <philn@igalia.com>
* ext/wpe/gstwpevideosrc.cpp:
wpevideosrc: Ensure debug category is set
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2498>
2021-07-15 21:10:14 +0200 Mathieu Duponchelle <mathieu@centricular.com>
* ext/closedcaption/gstcccombiner.c:
cccombiner: fix scheduling with interlaced video buffers
The initial code was written with the misunderstanding that
IS_TOP_FIELD indicated that an interlaced buffer contained
a top field, not that it contained only a top field
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2413>
2021-08-27 15:41:32 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* sys/kms/gstkmssink.c:
Revert "kmssink: Fix fallback path for driver not able to scale scenario"
This reverts commit d2a7b763bef3ca51f0c84cdac52eeed85b0db8fb.
After this change, non-scaled rendered were not centred as expected.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2496>
2021-08-20 13:28:51 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
* gst-libs/gst/codecs/gstav1decoder.c:
codecs: av1dec: Fix to output frame with highest spatial layer
During the output process, if there are multiple frames in a TU (i.e. multi-spatial
layers case), only one frame with the highest spatial layer id should be selected
according to av1 spec. The highest spatial layer id is obtained from idc value of
the operating point.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2475>
2021-08-24 14:33:42 +0100 Alex Ashley <bugzilla@ashley-family.net>
* ext/dash/gstxmlhelper.c:
* tests/check/elements/dash_mpd.c:
dashdemux: copy ContentProtection element including xml namespaces
Commit bc09d8cc changed gstmpdparser to put the entire
<ContentProtection> element in the "value" field, so that DRMs
other than PlayReady could make use of the data inside this
element.
However, the data in the "value" field does not include any
XML namespace declarations that are used within the element. This
causes problems for a namespace aware XML parser that wants to
make use of this data.
This commit modifies the way the XML is converted to a string
so that XML namespaces are preserved in the output.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2487>
2021-08-26 21:26:01 +0300 Vivia Nikolaidou <vivia@ahiru.eu>
* docs/plugins/gst_plugins_cache.json:
* gst/debugutils/gsterrorignore.c:
* gst/debugutils/gsterrorignore.h:
errorignore: Add ignore-eos mode
It's otherwise very complicated to ignore GST_FLOW_EOS without a
ghostpad's chain function to rewrite.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2492>
2021-08-27 17:25:04 +1000 Brad Hards <bradh@frogmouth.net>
* gst-libs/gst/codecparsers/gsth264parser.c:
gsth264parser: fix typo in debug message
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2493>
2021-08-26 04:12:07 +0200 Mathieu Duponchelle <mathieu@centricular.com>
* docs/plugins/gst_plugins_cache.json:
* gst/timecode/gsttimecodestamper.c:
* gst/timecode/gsttimecodestamper.h:
timecodestamper: add support for closedcaption input
Some closedcaption elements like sccenc except input buffers
to have timecode metas. The original use case is to serialize
closed captions extracted from a video stream, in that case
ccextractor copies the video time code metas to the closed
caption buffers, but no such mechanism exists when creating
a CC stream ex nihilo.
Remedy that by having timecodestamper accept closedcaption
input caps, as long as they have a framerate.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2490>
2021-07-06 12:31:42 -0400 Aaron Boxer <aaron.boxer@collabora.com>
* docs/plugins/gst_plugins_cache.json:
* ext/aes/gstaes.c:
* ext/aes/gstaesdec.c:
* ext/aes/gstaesdec.h:
* ext/aes/gstaesenc.c:
* ext/aes/gstaesenc.h:
* ext/aes/gstaeshelper.c:
* ext/aes/gstaeshelper.h:
* ext/aes/meson.build:
* ext/meson.build:
* meson_options.txt:
* tests/check/elements/aesdec.c:
* tests/check/elements/aesenc.c:
* tests/check/meson.build:
aes: add aes encryption and decryption elements
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1505>
2021-05-10 12:02:20 +0200 Johan Sternerup <johast@axis.com>
* docs/plugins/gst_plugins_cache.json:
* ext/webrtc/gstwebrtcbin.c:
webrtcbin: Return typed "sctp-transport"
With GstWebRTCSCTPTransport type exposed we can now define
"sctp-transport" property as being of this type.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2214>
2021-05-07 08:12:25 +0200 Johan Sternerup <johast@axis.com>
* ext/webrtc/gstwebrtcbin.c:
* ext/webrtc/gstwebrtcbin.h:
* ext/webrtc/meson.build:
* ext/webrtc/webrtcdatachannel.c:
* ext/webrtc/webrtcdatachannel.h:
* ext/webrtc/webrtcsctptransport.c:
* ext/webrtc/webrtcsctptransport.h:
* gst-libs/gst/webrtc/meson.build:
* gst-libs/gst/webrtc/sctptransport.c:
* gst-libs/gst/webrtc/sctptransport.h:
* gst-libs/gst/webrtc/webrtc-priv.h:
* gst-libs/gst/webrtc/webrtc_fwd.h:
webrtc: Split sctptransport into lib and implementation parts
GstWebRTCSCTPTransport is now made into into an abstract base class
that only contains property specifications matching the
RTCSctpTransport interface of the W3C WebRTC specification, see
https://w3c.github.io/webrtc-pc/#rtcsctptransport-interface. This
class is put into the WebRTC library to expose it for applications and
to allow for generation of bindings for non-dynamic languages using
GObject introspection.
The actual implementation is moved to the subclass WebRTCSCTPTransport
located in the WebRTC plugin.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2214>
2021-05-03 10:45:42 +0200 Johan Sternerup <johast@axis.com>
* docs/plugins/gst_plugins_cache.json:
* ext/webrtc/gstwebrtcbin.c:
webrtcbin: Expose SCTP Transport
Being able to access the SCTP Transport object from the application
means the application can access the associated DTLS Transport object
and its ICE Transport object. This means we can observe the ICE state
also for a data-channel-only session. The collated
ice-connection-state on webrtcbin only includes the ICE Transport
objects that resides on the RTP transceivers (which is exactly how it
is specified in
https://w3c.github.io/webrtc-pc/#rtciceconnectionstate-enum).
For the consent freshness functionality (RFC 7675) to work the ICE
state must be accessible and consequently the SCTP transport must be
accessible for enabling consent freshness checking for a
data-channel-only session.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2214>
2021-04-20 20:04:33 +0100 Tim-Philipp Müller <tim@centricular.com>
* ext/openh264/gstopenh264enc.cpp:
openh264enc: fix broken header AU emission by base class
This encoder advertises alignment=au as output format, which means
each output frame should contain a full decodable access unit.
The video encoder base class is not aware of our output alignment
and will output spurious buffers with just the SPS/PPS inside when
we call gst_video_encoder_set_headers(), which is broken because
each buffer is supposed to contain a full decodable access unit
in our case.
Just don't tell the base class about our headers, they will be
sent at the beginning of each IDR frame anyway.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2178>
2021-04-20 19:43:53 +0100 Tim-Philipp Müller <tim@centricular.com>
* ext/openh264/gstopenh264enc.cpp:
openh264enc: fix caps and header buffer leak
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2178>
2021-04-20 19:11:12 +0100 Tim-Philipp Müller <tim@centricular.com>
* ext/openh264/gstopenh264enc.cpp:
openh264enc: fix broken sps/pps header generation
This was putting a truncated SPS into the initial header instead
of the PPS because it was always reading from the beginning of the
bitstream buffer (pBsBuf) and not from the offset where the current
NAL is at in the bitstream buffer (psBsBuf + nal_offset).
This was broken in commit 17113695.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1576
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2178>
2021-08-22 00:33:58 +0900 Seungha Yang <seungha@centricular.com>
* gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
* gst-libs/gst/d3d11/gstd3d11bufferpool.h:
* sys/d3d11/gstd3d11compositor.cpp:
* sys/d3d11/gstd3d11convert.cpp:
* sys/d3d11/gstd3d11decoder.cpp:
* sys/d3d11/gstd3d11deinterlace.cpp:
* sys/d3d11/gstd3d11desktopdupsrc.cpp:
* sys/d3d11/gstd3d11download.cpp:
* sys/d3d11/gstd3d11upload.cpp:
* sys/d3d11/gstd3d11videosink.cpp:
* sys/mediafoundation/gstmfvideoenc.cpp:
d3d11bufferpool: Hide buffer_size field from header
User can get the required buffer size by using buffer pool config.
Since d3d11 implementation is a candidate for public library in the future,
we need to hide everything from header as much as possible.
Note that the total size of allocated d3d11 texture memory by GPU is not
controllable factor. It depends on hardware specific alignment/padding
requirement. So, GstD3D11 implementation updates actual buffer size
by allocating D3D11 texture, since there's no way to get CPU accessible
memory size without allocating real D3D11 texture.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2482>
2021-08-21 02:20:11 +0900 Seungha Yang <seungha@centricular.com>
* sys/nvcodec/cuda-converter.c:
* sys/nvcodec/gstcudaconvert.c:
* sys/nvcodec/gstnvbaseenc.c:
* sys/nvcodec/gstnvdec.c:
* sys/nvcodec/gstnvdecoder.c:
* sys/nvcodec/gstnvenc.c:
* sys/nvcodec/gstnvenc.h:
nvcodec: Fix various typos
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2481>
2021-08-21 02:10:37 +0900 Seungha Yang <seungha@centricular.com>
* sys/nvcodec/cuda-converter.h:
* sys/nvcodec/gstcudacontext.h:
* sys/nvcodec/gstcudafilter.h:
* sys/nvcodec/gstcudaloader.h:
* sys/nvcodec/gstcudanvrtc.h:
* sys/nvcodec/gstcudautils.h:
* sys/nvcodec/gstcuvidloader.h:
* sys/nvcodec/gstnvbaseenc.h:
* sys/nvcodec/gstnvenc.h:
* sys/nvcodec/gstnvh264dec.h:
* sys/nvcodec/gstnvh264enc.h:
* sys/nvcodec/gstnvh265dec.h:
* sys/nvcodec/gstnvh265enc.h:
* sys/nvcodec/gstnvrtcloader.h:
nvcodec: Get rid of G_GNUC_INTERNAL
Our default symbol visibility is hidden, so G_GNUC_INTERNAL
is pointless
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2481>
2021-08-19 16:45:18 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* sys/v4l2codecs/gstv4l2codech264dec.c:
v4l2codecs: h264: Fix split field handling
Split fields ends up on multiple picture and requires accessing the
other_field to complete the information (POC).
This also cleanup the DPB from non-reference (was not useful) and skips
properly merge field instead of keeping them duplicated. This fixes most
of interlace decoding seen in fluster.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2474>
2021-08-19 11:40:22 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* sys/v4l2codecs/gstv4l2codech264dec.c:
v4l2codec: h264: Implement support for split fields
When a frame is composed of two fields, the base class now split the
picture in two. In order to support this, we need to ensure that picture
buffer is held in VB2 queue so that the second field get decoded into
it. This also implements the new_field_picture() virtual and sets the
previous request on the new picture.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2474>
2021-08-20 11:23:57 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* sys/v4l2codecs/gstv4l2codech264dec.c:
v4l2codecs: h264: Fix filling weight factors
This was a typo, the wrong index was used to set l1 weight (b-frames).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2480>
2021-08-20 14:34:53 +0200 Edward Hervey <edward@centricular.com>
* ext/dash/gstdashdemux.c:
dashdemux: Properly initalize GError
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2476>
2021-08-19 21:56:05 +0900 Seungha Yang <seungha@centricular.com>
* sys/mediafoundation/gstmfsourcereader.cpp:
* sys/mediafoundation/gstmfutils.cpp:
* sys/mediafoundation/gstmfutils.h:
mfvideosrc: Fix for negative MF stride
Negative stride value can be used in MediaFoundation to inform
whether memory layout is top-down or bottom-up manner. Note that
negative stride is allowed only for RGB, system memory.
See also
https://docs.microsoft.com/en-us/windows/win32/medfound/image-stride
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1646
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2473>
2021-08-18 11:14:37 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* sys/v4l2codecs/gstv4l2codech264dec.c:
v4l2slh264dec: Fix slice header bit size calculation
The emulation bytes need to be removed as bytes, not bit. This fixes
decoding issues with files that have emulation bytes with the Cedrus
driver.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2471>
2021-08-12 14:08:19 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* tests/examples/va/multiple-vpp.c:
example: va: Add skin tone enhancement.
If camera is used as input stream and skin tone parameter is available
in vapostproc, and no random changes are enabled, the skin tone will
be enabled.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2470>
2021-08-17 14:04:41 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* sys/va/gstvavpp.c:
vapostproc: Use vapostproc as debug category name.
Otherwise is difficult to remember the different name.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2470>
2021-08-12 13:54:34 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* tests/examples/va/multiple-vpp.c:
examples: va: Add random cropping.
And remove unused caps filter.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2443>
2021-07-28 13:04:50 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* sys/va/gstvavpp.c:
vapostproc: Disable cropping in pass-through mode.
Originally, if a buffer arrives with crop meta but downstream doesn't
handle crop allocation meta, vapostproc tried to reconfigure itself to
non pass-through mode automatically. Sadly, this behavior was based on
the wrong assumption that propose_allocation() vmethod would bring
downstream allocation query, but it is not.
Now, if vapostproc is in pass-through mode, the cropping is passed to
downstream. Pass-through mode can be disabled via a parameter.
Finally, if pass-through mode isn't enabled, it's assumed the buffer
is going to be processed and, if cropping, downstream already
negotiated the cropped frame size, thus it's required to do the
cropping inside vapostproc to avoid artifacts because of the size of
downstream allocated buffers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2443>
2021-08-17 14:54:21 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* sys/va/gstvavpp.c:
vapostproc: Update filters update_properties().
Right after instantiating the VA filter and changing the element
state, rebuild the image filters.
This will fix a regression from f20b3b815, where properties in a
gst-launch pipeline are not applied.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2443>
2021-08-18 09:13:45 +0300 Sebastian Dröge <sebastian@centricular.com>
* sys/decklink/gstdecklinkvideosrc.cpp:
decklinkvideosrc: Fix PAL/NTSC widescreen autodetection when switching back to non-widescreen
Previously it would only switch to widescreen but never back.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2469>
2021-07-20 18:15:11 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
* sys/msdk/gstmsdkvpp.c:
msdkvpp: Fix frc from lower fps to higher fps
There are three framerate conversion algorithms described in
<https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md>,
interpolation is not implemented so far and thus distributed timestamp algorihtm
is considered to be more practical which evenly distributes output timestamps
according to output framerate. In this case, newly generated frames are inserted
between current frame and previous one, timestamp is calculated by msdk API.
This implementation first pushes newly generated buffers(outbuf_new) forward and
the current buffer(outbuf) is handled at last round by base transform automatically.
A flag "create_new_surface" is used to indicate if new surfaces have been generated
and then push new outbuf forward accordingly.
Considering the upstream element may not be the msdk element, it is necessary to
always set the input surface timestamp as same as input buffer's timestamp and
convert it to msdk timestamp.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2418>
2021-05-06 22:22:12 +1000 Matthew Waters <matthew@centricular.com>
* ext/webrtc/gstwebrtcbin.c:
webrtc: improve matching on the correct jitterbuffer
The mapping between an RTP session and the SDP m= line is not always the
same, especially when BUNDLEing is used.
This causes a failure in a specific case where if when bundling,
if mline 0 is a data channel, and mline 1 an audio/video section,
then retrieving the transceiver at mline 0 (rtp session used) will fail
and cause an assertion.
This fix is actually potentially a regression for cases where the remote
part does not provide the a=ssrc: media level SDP attributes as is now
becoming common, especially when simulcast is involved.
The correct fix actually requires reading out header extensions as used
with bundle for signalling in the actual data, what media and therefore
transceiver is being used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2467>
2021-08-16 13:45:39 +0800 He Junyan <junyan.he@intel.com>
* gst-libs/gst/va/gstvadisplay.h:
* sys/va/gstvaav1dec.c:
* sys/va/gstvabasedec.c:
* sys/va/gstvacaps.c:
* sys/va/gstvafilter.c:
* sys/va/gstvah264dec.c:
* sys/va/gstvah265dec.c:
* sys/va/gstvampeg2dec.c:
* sys/va/gstvavp8dec.c:
* sys/va/gstvavp9dec.c:
* sys/va/gstvavpp.c:
va: Use GST_CAPS_FEATURE_MEMORY_VA to replace "memory:VAMemory".
"memory:VAMemory" is a commonly used string which notates our VA-kind
memory type. We now used a definition in va lib to replace the simply
string usage.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2466>
2021-08-16 13:32:51 +0800 He Junyan <junyan.he@intel.com>
* sys/va/gstvacaps.c:
* sys/va/gstvafilter.c:
va: Use MEMORY_DMABUF definition to replace "memory:DMABuf" strings.
GST_CAPS_FEATURE_MEMORY_DMABUF is already a common definition, we should
just use it rather than use the "memory:DMABuf" strings by ourselves.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2466>
2021-08-09 19:02:56 -0400 Thibault Saunier <tsaunier@igalia.com>
* docs/plugins/gst_plugins_cache.json:
* ext/fdkaac/gstfdkaacenc.c:
fdkaacdec: Add Converter class to hint gst-validate
fdkaacdec have minimal conversion capability, adding the Converter class allow
gst-validate to behave properly and not spit an error when it notice that the
number of channels or rate miss-match in and out.
Same logic as with opusdec, see: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1142>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2462>
2021-06-09 23:29:43 +0900 Seungha Yang <seungha@centricular.com>
* sys/wasapi2/plugin.c:
wasapi2: Increase rank to primary + 1
wasapi2 plugin should be preferred than old wasapi plugin if available because:
* wasapi2 supports automatic stream routing, and it's highly recommended
feature for application by MS. See also
https://docs.microsoft.com/en-us/windows/win32/coreaudio/automatic-stream-routing
* This implementation must be various COM threading issue free by design
since wasapi2 plugin spawns a new dedicated COM thread and all COM objects'
life-cycles are managed correctly.
There are unsolved COM issues around old wasapi plugin. Such issues are
very tricky to be solved unless old wasapi plugin's threading model
is re-designed.
Note that, in case of UWP, wasapi2 plugin's rank is primary + 1 already
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2314>
2021-08-12 20:39:24 +0200 Mathieu Duponchelle <mathieu@centricular.com>
* ext/closedcaption/gstccconverter.c:
ccconverter: fix overflow when not doing framerate conversion
When converting from one framerate to another, counters are
reset periodically, however when not converting they never are
and can_genearte_output ends up making overflow-prone calculations
with large values for input_frames and output_frames.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2465>
2021-08-12 15:26:27 +0300 Sebastian Dröge <sebastian@centricular.com>
* ext/webrtc/gstwebrtcbin.c:
webrtcbin: Don't assume that non-audio medias are video medias when creating transceivers
And print the unknown media kind in the logs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2464>
2021-08-12 15:25:50 +0300 Sebastian Dröge <sebastian@centricular.com>
* ext/webrtc/gstwebrtcbin.c:
webrtcbin: Use the correct media for deciding the media kind when creating the transceiver from the SDP
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2464>
2021-07-29 21:30:32 +0800 He Junyan <junyan.he@intel.com>
* gst-libs/gst/codecs/gsth264decoder.c:
codecs: h264dec: Output the picture directly if already a frame.
We forget one case that is the frame and field pictures may be mixed
together. For this case, the dpb is interlaced while the last picture
may be a complete frame. We do not need to cache that complete picture
and should output it directly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2448>
2021-08-06 17:11:55 +0800 He Junyan <junyan.he@intel.com>
* sys/va/gstvacaps.c:
va: caps: Make the template raw video caps classified by features.
The current output of raw video caps is not good. When we have multi
profiles and each profile support different formats, the output of
gst-inspect may like:
SRC template: 'src'
Availability: Always
Capabilities:
video/x-raw(memory:VAMemory)
width: [ 1, 16384 ]
height: [ 1, 16384 ]
format: NV12
video/x-raw
width: [ 1, 16384 ]
height: [ 1, 16384 ]
format: NV12
video/x-raw(memory:VAMemory)
width: [ 1, 16384 ]
height: [ 1, 16384 ]
format: P010_10LE
video/x-raw
width: [ 1, 16384 ]
height: [ 1, 16384 ]
format: P010_10LE
video/x-raw(memory:VAMemory)
width: [ 1, 16384 ]
height: [ 1, 16384 ]
format: P012_LE
video/x-raw
width: [ 1, 16384 ]
height: [ 1, 16384 ]
format: P012_LE
The gst_caps_simplify does not classify the caps by same features, but
just leave them interweaved. We need to handle them manually here, the
result should be:
SRC template: 'src'
Availability: Always
Capabilities:
video/x-raw
width: [ 1, 16384 ]
height: [ 1, 16384 ]
format: { (string)P010_10LE, (string)P012_LE, (string)NV12 }
video/x-raw(memory:VAMemory)
width: [ 1, 16384 ]
height: [ 1, 16384 ]
format: { (string)P010_10LE, (string)P012_LE, (string)NV12 }
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2456>
2021-07-27 13:22:02 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* sys/va/gstvavpp.c:
vapostproc: Inherit from GstVaBaseTransform.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2442>
2021-02-17 17:15:22 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* sys/va/gstvabasetransform.c:
* sys/va/gstvabasetransform.h:
* sys/va/meson.build:
va: Add base transform class.
This base transform class is a derivable class for VA-based filters,
for example vapostproc right now, but it will be used also for
future elements such as vadeinterlace.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2442>
2021-07-27 13:03:37 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* sys/va/gstvapool.c:
* sys/va/gstvapool.h:
va: pool: Add gst_va_pool_new_with_config().
It is a function helper.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2442>
2021-08-10 02:48:01 +0900 Seungha Yang <seungha@centricular.com>
d3d11window: Misc code cleanup
* Remove unnecessary upcasting. We are now dealing with C++ class objects
and don't need explicit C-style casting in C++ world
* Use helper macro IID_PPV_ARGS() everywhere. It will make code
a little short.
* Use ComPtr smart pointer instead of calling manual IUnknown::Release()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2461>
2021-08-10 02:48:45 +0900 Seungha Yang <seungha@centricular.com>
* sys/d3d11/gstd3d11compositor.cpp:
d3d11compositor: Fix indent
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2461>
2021-05-28 17:36:15 -0400 Thibault Saunier <tsaunier@igalia.com>
* ext/openh264/gstopenh264enc.cpp:
* ext/openh264/meson.build:
openh264: Respect level set downstream
We were not specifying the requested level to openh264 meaning that
it was choosing anything and was not respecting what was specified\
downstream
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2289>
2021-08-04 15:02:01 +0800 He Junyan <junyan.he@intel.com>
* ext/x265/gstx265enc.c:
x265: Fix a deadlock when failing to create the x265enc.
The GST_ELEMENT_ERROR will call the gst_object_get_path_string and
use gst_object_get_parent to get the full object path name, which
needs to lock the object. But we are already in a locked context and
so this will cause a deadlock, the pipeline can not exit normally.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2451>
2021-07-22 20:58:02 +0000 R S Nikhil Krishna <rsnk96@gmail.com>
* ext/rtmp/gstrtmpsrc.c:
rtmpsrc: mention setting librtmp flags in docs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2424>
2021-08-05 23:11:26 +0200 Mathieu Duponchelle <mathieu@centricular.com>
* ext/mpeg2enc/gstmpeg2encpicturereader.cc:
mpeg2enc: fix interlace-mode detection
Previously, the code was always assuming progressive input,
fix this by looking at the caps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2455>
2021-05-23 19:15:25 +0100 Tim-Philipp Müller <tim@centricular.com>
* ext/curl/gstcurlbasesink.c:
* ext/curl/gstcurlhttpsrc.c:
* ext/faad/gstfaad.c:
* ext/hls/gsthlsdemux.c:
* ext/teletextdec/gstteletextdec.c:
* gst-libs/gst/codecparsers/gsth264parser.c:
* gst-libs/gst/mpegts/gst-dvb-descriptor.c:
* gst-libs/gst/mpegts/gstmpegtsdescriptor.c:
* gst-libs/gst/mpegts/gstmpegtssection.c:
* gst/audiovisualizers/gstspectrascope.c:
* gst/mpegpsmux/mpegpsmux.c:
* gst/mpegtsdemux/mpegtspacketizer.c:
* gst/mpegtsdemux/tsdemux.c:
* gst/mxf/mxfaes-bwf.c:
* gst/mxf/mxfdms1.c:
* gst/mxf/mxfmetadata.c:
* gst/mxf/mxfmpeg.c:
* gst/mxf/mxftypes.c:
* gst/rtmp2/rtmp/amf.c:
* meson.build:
* sys/androidmedia/gstamcaudiodec.c:
* sys/androidmedia/gstamcvideodec.c:
* sys/androidmedia/jni/gstamc-codeclist-jni.c:
* sys/androidmedia/jni/gstamc-format-jni.c:
* sys/androidmedia/magicleap/gstamc-format-ml.c:
* tests/check/libs/mpegts.c:
Use g_memdup2() where available and add fallback for older GLib versions
g_memdup() is deprecated since GLib 2.68 and we want to avoid
deprecation warnings with recent versions of GLib.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2280>
2021-08-05 13:02:00 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/timecode/gsttimecodestamper.c:
timecodestamper: Fix latency calculation
The LTC extra latency is in ms already and not in frames, so multiplying
with the framerate will end up with a wrong number.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2453>
2021-07-18 00:51:04 +0800 Haihao Xiang <haihao.xiang@intel.com>
* sys/msdk/gstmsdkcontext.c:
msdk: make sure child context is destroyed first
The parent context shares some resources with child context, so the
child context should be destroyed first, otherwise the command below
will trigger a segmentation fault
$> gst-launch-1.0 videotestsrc num-buffers=100 ! msdkh264enc ! \
msdkh264dec ! fakesink videotestsrc num-buffers=50 ! \
msdkh264enc ! msdkh264dec ! fakesink
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2435>
2021-08-02 16:22:06 +0900 Seungha Yang <seungha@centricular.com>
* sys/d3d11/gstd3d11videosink.cpp:
* sys/d3d11/gstd3d11window.cpp:
* sys/d3d11/gstd3d11window.h:
d3d11videosink: Fix warning around GstVideoOverlay::expose()
When expose() is called, d3d11videosink needs to redraw using
cached buffer, so gst_d3d11_window_render() should allow null buffer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2450>
2021-07-31 01:05:47 +0900 Seungha Yang <seungha@centricular.com>
* sys/d3d11/gstd3d11videosink.cpp:
d3d11videosink: Forward navigation event without modification
Current implementation for translating native coordinate and
video coordinate is very wrong because d3d11videosink doesn't
understand native HWND's coordinate. That should be handled
by GstD3D11Window implementation as an enhancement.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2450>
2021-07-31 00:59:14 +0900 Seungha Yang <seungha@centricular.com>
* sys/d3d11/gstd3d11videosink.cpp:
* sys/d3d11/gstd3d11window.cpp:
* sys/d3d11/gstd3d11window.h:
* sys/d3d11/gstd3d11window_win32.cpp:
d3d11videosink: Add support for GstVideoOverlay::set_render_rectangle
Inspired by an MR https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2382
The idea is that we can make use of MoveWindow() in WIN32 d3d11window
implementation safely because WIN32 d3d11window implementation creates
internal HWND even when external HWND is set and then subclassing is used to
draw on internal HWND in any case. So the coordinates passed to MoveWindow()
will be relative to parent HWND, and it meets well to the concept of
set_render_rectangle().
On MoveWindow() event, WM_SIZE event will be generated by OS and then
GstD3D11WindowWin32 implementation will update render area including swapchain
correspondingly, as if it's normal window move/resize case.
But in case of UWP (CoreWindow or SwapChainPanel), we need more research to
meet expected behavior of set_render_rectangle()
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1416
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2450>
2021-07-29 18:05:35 +0800 He Junyan <junyan.he@intel.com>
* sys/va/gstvavp8dec.c:
va: vp8: fix the overflow in _fill_quant_matrix().
The gint8 of qi and qi_base may overflow when calculation the matrix
parameters and change the decoding result.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2447>
2021-06-21 00:19:17 +0900 Seungha Yang <seungha@centricular.com>
* gst-libs/gst/d3d11/gstd3d11device.cpp:
* gst-libs/gst/d3d11/gstd3d11format.h:
* tests/check/elements/d3d11colorconvert.c:
d3d11: Disable packed and subsampled YUV formats
Direct3D11 sampler doesn't support them very well, and conversion
outputs usually result in poor visual quality with our shader code.
Should disable support for such formats for now
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2344>
2021-07-26 16:43:47 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
* gst/mpegtsdemux/tsdemux.c:
tsdemux: Notify when ignore_pcr is set
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2437>
2021-07-27 23:53:06 +0200 Mathieu Duponchelle <mathieu@centricular.com>
* ext/closedcaption/gstcccombiner.c:
cccombiner: fix CDP padding detection
While a cc_data_pkt with cc_valid 0 should be considered padding,
it might be followed up by valid DTVCC packets, and should not
cause the whole CDP packet to get discarded.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2440>
2021-07-27 12:51:08 +0800 He Junyan <junyan.he@intel.com>
* gst-libs/gst/codecs/gsth264decoder.c:
codecs: h264dec: Improve the find_first_field_picture().
We need to consider the first field of the last picture when the
last picture can not enter the DPB.
Another change is, when prev field's frame_num is not equal to the
current field's frame_num, we should also return FASLE because it
is also a case of losing some field.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2430>
2021-07-27 12:16:13 +0800 He Junyan <junyan.he@intel.com>
* gst-libs/gst/codecs/gsth264decoder.c:
codecs: h264dec: consider the last field when add picture to DPB.
There are cases that the first field of the last picture is not a
ref but the second field is a ref. We need to add both of them
because the bumping always needs a complete frame in the DPB.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2430>
2021-07-27 10:51:03 +0800 He Junyan <junyan.he@intel.com>
* gst-libs/gst/codecs/gsth264decoder.c:
codecs: h264dec: Consider the field case when directly output.
For interlaced streams, it is also possible that the last frame is
not able to be inserted into DPB when the DPB is full and the last
frame is a non ref. For this case, we need to hold a extra ref for
the first field of the last frame and wait for the complete frame
with both top and bottom fields. For the progressive stream, the
behaviour is unchanged.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2430>
2021-07-26 01:16:34 +0800 He Junyan <junyan.he@intel.com>
* gst-libs/gst/codecs/gsth264picture.c:
codecs: h264dec: Fix a error print of dpb_add.
When the dpb is interlaced, the max size should be 2*dpb->max_num_frames,
correcting the error print info for that.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2430>
2021-07-28 16:11:36 +0900 Seungha Yang <seungha@centricular.com>
* sys/decklink/linux/DeckLinkAPIDispatch.cpp:
decklink: Don't print error for dlopen failure
This is not a fatal error on systems without decklink
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2441>
2021-07-27 12:21:41 +0200 Imanol Fernandez <ifernandez@igalia.com>
* gst-libs/gst/play/gstplay.c:
* gst-libs/gst/player/gstplayer.c:
player: Add static keyword to _config_quark_table
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2439>
2021-07-27 14:52:38 +1000 Matthew Waters <matthew@centricular.com>
* sys/applemedia/meson.build:
* sys/applemedia/videotexturecache-vulkan.mm:
applemedia: silence a couple of MoltenVK warnings
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2433>
2021-07-27 11:49:47 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* gst/debugutils/gstfakeaudiosink.c:
* gst/debugutils/gstfakevideosink.c:
debugutils: Only proxy the properties once
The needed once call was removed accidently during porting. This was catch by
the CI as memory leaks.
Related to !2426
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2438>
2021-07-27 12:13:43 +0200 Edward Hervey <edward@centricular.com>
* gst/mxf/mxfd10.c:
mxf: Handle D10 "picture only" variant
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/80
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2436>
2021-07-24 13:19:39 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* sys/va/gstvafilter.c:
* sys/va/gstvafilter.h:
* sys/va/gstvavpp.c:
va: filter: refactor convert_surface() to process()
The idea of this change is to add, in the future,
process_with_generator(), when multiple input surfaces are processed,
for blending.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2431>
2021-07-18 12:46:08 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* sys/va/gstvafilter.c:
* sys/va/gstvafilter.h:
* sys/va/gstvavpp.c:
va: filter: Refactor set_formats() to set_video_info().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2431>
2021-07-18 17:13:16 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* sys/va/gstvavpp.c:
vapostproc: Don't add video alignment option in buffer pool.
vapostproc will not call gst_buffer_pool_config_set_video_alignment(),
thus this option is not required.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2431>
2021-07-27 09:37:49 +0200 Edward Hervey <edward@centricular.com>
* gst/mxf/mxfvc3.c:
mxfvc3: Also accept clip-wrapped vc-3
We can now handle this fine
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2434>
2021-07-27 07:59:52 +0200 Edward Hervey <edward@centricular.com>
* gst/mxf/mxfdemux.c:
mxfdemux: Handle EOS with non-frame wrapping
When reaching the end of non-frame wrapping track in pull mode, we want to force
the switch to the next non-eos pad. This is similar to when we exceed the
maximum drift.
Fixes issues on EOS where not everything would be drained out and stray errors
would pop out.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2434>
2021-07-25 07:52:06 +0200 Edward Hervey <edward@centricular.com>
* docs/plugins/gst_plugins_cache.json:
* gst/mxf/mxfdemux.c:
mxfdemux: More granular interleaved content handling
An interleave of 500ms can be way too big for some downstream queueing
elements. Instead use a smaller 100ms interleave and silence the various
warnings about resyncing (it's normal)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2434>
2021-07-23 09:36:10 +0100 Philippe Normand <philn@igalia.com>
* gst/debugutils/gstfakeaudiosink.c:
* gst/debugutils/gstfakesinkutils.c:
* gst/debugutils/gstfakesinkutils.h:
* gst/debugutils/gstfakevideosink.c:
* gst/debugutils/meson.build:
debugutils: De-duplicate proxy_properties function to a new utils module
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2426>
2021-06-08 01:40:34 +0900 Seungha Yang <seungha@centricular.com>
* meson_options.txt:
* sys/asio/gstasiodeviceprovider.cpp:
* sys/asio/gstasiodeviceprovider.h:
* sys/asio/gstasioobject.cpp:
* sys/asio/gstasioobject.h:
* sys/asio/gstasioringbuffer.cpp:
* sys/asio/gstasioringbuffer.h:
* sys/asio/gstasiosink.cpp:
* sys/asio/gstasiosink.h:
* sys/asio/gstasiosrc.cpp:
* sys/asio/gstasiosrc.h:
* sys/asio/gstasioutils.cpp:
* sys/asio/gstasioutils.h:
* sys/asio/meson.build:
* sys/asio/plugin.c:
* sys/meson.build:
Introduce Steinberg ASIO (Audio Streaming Input/Output) plugin
Adds a new plugin for ASIO devices.
Although there is a standard low-level audio API, WASAPI, on Windows,
ASIO is still being broadly used for audio devices which are aiming to
professional use case. In case of such devices, ASIO API might be able
to show better quality and latency performance depending on manufacturer's
driver implementation.
In order to build this plugin, user should provide path to
ASIO SDK as a build option, "asio-sdk-path".
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2309>
2021-06-06 22:32:08 +0900 Seungha Yang <seungha@centricular.com>
* docs/plugins/gst_plugins_cache.json:
* gst/audiolatency/gstaudiolatency.c:
* gst/audiolatency/gstaudiolatency.h:
audiolatency: Expose samplesperbuffer property
... for user to be able to set the number of required samples.
For instance, our default value is 240 samples
(about 5ms latency in case that sample rate is 48000), which might
be larger than actual buffer size of audio capture device.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2307>
2021-07-23 22:02:05 +0800 He Junyan <junyan.he@intel.com>
* gst-libs/gst/codecs/gsth264decoder.c:
codecs: h264decoder: let print_ref_pic_list_b print the correct list name.
The print_ref_pic_list_b now not only needs to trace the ref_pic_list_b0/1,
but also need to trace the ref_frame_list_0_short_term. We need to pass the
name directly to it rather than an index to refer to ref_pic_list_b0/1.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2425>
2021-07-23 12:31:17 +0800 He Junyan <junyan.he@intel.com>
* gst-libs/gst/codecs/gsth264decoder.c:
codecs: h264dec: Fix a typo in construct_ref_field_pic_lists_b.
The array sort of ref_frame_list_0_short_term has some typo. The
typo makes this list not in the POC ascend order and generate wrong
decoding result for interlaced streams.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2425>
2021-07-15 05:12:37 -0700 Devarsh Thakkar <devarsh.thakkar@xilinx.com>
* sys/kms/gstkmssink.c:
kmssink: Fix fallback path for driver not able to scale scenario
When driver return error on update plane request, kmssink
disables the scaling and retries plane update.
While doing so kmssink was matching the source rectangle dimensions
to the target rectangle dimensions which were calculated
as per scaling but this is incorrect, instead what we want here is
that target rectangle dimensions should match the source rectangle
dimensions as scaling is disabled now and so we match result
rectangle dimensions with source rectangle dimensions.
While at it, also match the result rectangle coordinates for
horizontal and vertical offsets with source rectange coordinates,
as since there is no scaling being done so no recentering is
required.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2415>
2021-07-23 16:49:49 +0800 He Junyan <junyan.he@intel.com>
* gst/videoparsers/gstvp9parse.c:
videoparsers: vp9: Need to process the first frame even not key.
Some cut VP9 streams begin with a non key frame. The current code
just bail out the parse_process_frame() if not a key frame. Because
of this, we do not set the valid caps before we push the data of the
first frame(even this first frame will be discarded by the downstream
decoder because it is not a key frame).
The pipeline such as:
gst-launch-1.0 filesrc location=some.ivf ! ivfparse ! vp9parse !
vavp9dec ! fakesink
will get a negotiation error and the pipeline can not continue. The
correct behaviour should be: the decoder discard the first frame and
continue to decode later frames successfully.
So, when the parse does not have valid stream info(should be the first
frame case), we should continue and report caps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2427>
2021-07-21 19:40:17 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
* gst/audiolatency/gstaudiolatency.c:
audiolatency: Handle audio buffers with invalid duration
pipewiresrc outputs audio buffers without a valid duration, so we need
to calculate it manually in that case.
Upstream issue: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1438
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2419>
2021-07-22 22:00:38 +0800 He Junyan <junyan.he@intel.com>
* sys/va/gstvah265dec.c:
va: h265dec: Do not assign the frame->output_buffer until output_picture.
We may need to drop the slices such as RASL pictures with the NoRaslOutputFlag, so
the current picture of h265decoder may be freed. We should not assign the frame->
output_buffer too early until we really output it. Or, the later coming slices will
allocate another picture and trigger the assert of:
gst_video_decoder_allocate_output_frame_with_params:
assertion 'frame->output_buffer == NULL' failed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2421>
2021-07-22 15:14:26 +0200 Edward Hervey <edward@centricular.com>
* gst/mpegtsdemux/tsdemux.c:
tsdemux: Handle PCR-less streams
Some programs specify a PCR PID but don't actually store any PCR values, or are
way too far apart.
In order to gracefully handle those situations, we will queue up to a certain
amount of pending buffers before deciding to give up on that PCR PID and not use
any (i.e. using DTS/PTS values as-is)
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1629
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2422>
2021-07-22 10:44:27 +0800 He Junyan <junyan.he@intel.com>
* sys/va/gstvah265dec.c:
va: H265: Add odd bit depth and chroma depth in get_rtformat.
In H265, the stream may have odd bit depth such as 9 or 11. And
the bit depth of luma and chroma may differ. For example, the
stream with luma depth of 8 and chroma depth of 9 should use the
10 bit rtformat as the decoded picture format.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2420>
2021-07-21 00:04:18 +0800 He Junyan <junyan.he@intel.com>
* gst-libs/gst/codecs/gsth264decoder.c:
* gst-libs/gst/codecs/gsth264picture.c:
* gst-libs/gst/codecs/gsth264picture.h:
codecs: h264dec: Improve the algorithm for low latency mode.
In low_latency mode, try to bump the picture as soon as possible
without the frames disorder:
1. We can directly output the continuous non-reference frame.
2. Consider max_num_reorder_frames, which is special useful for
I-P mode.
3. Consider the leading pictures with negative POC.
4 Output small POC pictures when non-reference frame comes.
4. Output the POC increment<=2 pictures. This is not 100% safe,
but in practice this condition can be used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2373>
2021-07-20 23:49:12 +0800 He Junyan <junyan.he@intel.com>
* gst-libs/gst/codecs/gsth264decoder.c:
* gst-libs/gst/codecs/gsth264picture.c:
* gst-libs/gst/codecs/gsth264picture.h:
codecs: h264dec: Add help function of dpb_set_max_num_reorder_frames.
The max_num_reorder_frames can be useful for bump check. We store it
in the DPB and no need for the decoder now.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2373>
2021-07-20 23:36:38 +0800 He Junyan <junyan.he@intel.com>
* gst-libs/gst/codecs/gsth264decoder.c:
* gst-libs/gst/codecs/gsth264picture.c:
* gst-libs/gst/codecs/gsth264picture.h:
codecs: h264dec: Add a flag to record whether picture is reference.
The picture->ref field will change from time to time according to decoder's
state and reference sliding window. We need another flag to record whether
the picture is a reference picture when it is created, and this can help
the bumping check.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2373>
2021-07-12 00:31:54 +0800 He Junyan <junyan.he@intel.com>
* gst-libs/gst/codecs/gsth264decoder.c:
codecs: h264dec: Change the order of dpb_add and dpb_bump.
The current behavior is different from the SPEC. We should check
and bump the DPB or drain the DPB before we insert the current
picture into it. This may cause the output picture disorder.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2373>
2021-07-12 00:06:49 +0800 He Junyan <junyan.he@intel.com>
* gst-libs/gst/codecs/gsth264decoder.c:
* gst-libs/gst/codecs/gsth264picture.c:
* gst-libs/gst/codecs/gsth264picture.h:
codecs: h264dec: Modify the DPB need bump check.
Accord to spec, we should not add the current picture into the DPB
when we check whether it needs to bump, so the checks of the IDR and
the "memory_management_control_operation equal to 5" are no needed.
And the spec also says that the DPB only needs to bump when there is
no empty frame buffer left(We handle the IDR cases in other places).
We need to follow that and the max_num_reorder_frames is useless.
We also minus 1 in has_empty_frame_buffer because the current frame
has not been added yet.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2373>
2021-07-12 00:01:58 +0800 He Junyan <junyan.he@intel.com>
* gst-libs/gst/codecs/gsth264picture.c:
* gst-libs/gst/codecs/gsth264picture.h:
codecs: h264dec: Make dpb_has_empty_frame_buffer a codecs API.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2373>
2021-07-05 23:53:25 +0800 He Junyan <junyan.he@intel.com>
* gst-libs/gst/codecs/gsth264picture.c:
codecs: h264dec: Set picture to a small poc when mem_mgmt_5.
When current frame memory_management_control_operation equal to 5, that
means we need to drain the dpb and the current picture act as an IDR frame.
So it should have smaller poc than the later pictures to ensure the output
order.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2373>
2021-07-15 11:12:01 +0200 Edward Hervey <edward@centricular.com>
* gst/mxf/mxfdemux.c:
mxfdemux: Make gst-indent on the CI happy
grmbl
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2371>
2021-07-15 10:59:39 +0200 Edward Hervey <edward@centricular.com>
* gst/mxf/mxfdemux.c:
* gst/mxf/mxfdemux.h:
mxfdemux: Handle non-frame wrapping
* If we have an index table for non-framed essence, we can handle it
* The demuxer has a state which indicates whether it will next fetch a KLV or
data contained *within* a KLV.
* The position on Essence Tracks always correspond to the next entry to fetch,
demuxer offset will be skipped accordingly whenever we switch between
partitions (in case of resyncs). A copy of the main clip/custom KLV for that
partition is kept to track the position within the essence of that partition.
* For clip/custom-wrapped raw audio, if the edit rate is too small (and would
cause plenty of tiny buffers to be outputted), specify a minimum number of edit
units per buffer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2371>
2021-07-15 10:45:46 +0200 Edward Hervey <edward@centricular.com>
mxfdemux: Use KLV for position/content tracking
* For pull-based, this avoids pulling content if it's not needed (ex: skipping filler
packet, not downloading the content if we only need to know if/where an essence
packet is, etc...). Allows reducing i/o usage to the minimum.
* This also allows doing sub-klv position tracking, and opens the way for
non-frame-wrapping handling
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2371>
2021-07-15 10:28:31 +0200 Edward Hervey <edward@centricular.com>
* gst/mxf/mxfdemux.c:
mxfdemux: Output the topology of the file in debug logs
This provides a summary of the number/type of tracks in the Material and File
Packages
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2371>
2021-07-15 10:16:34 +0200 Edward Hervey <edward@centricular.com>
* gst/mxf/mxfdemux.c:
mxfdemux: Refactor pull seek
In order to figure out the exact start position (backed by a keyframe) accross
all tracks, we first figure out the backing keyframe position, and *then* seek
to that position.
Avoids ending up in situations where we would properly seek to the backing
keyframe on video ... but not on the audio streams (they would have been set to
the original non-keyframe position). Fixes key-unit seeking.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2371>
2021-07-14 07:58:01 +0200 Edward Hervey <edward@centricular.com>
* gst/mxf/mxfaes-bwf.c:
* gst/mxf/mxfessence.h:
mxfaes-bwf: Handle new custom-constant-sized variant
Defined by Amendment 2:2013 to SMPTE ST 382:2007
Also define a new "UNKNOWN" wrapping type to make the difference with known
wrapping types
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2371>
2021-07-14 07:54:38 +0200 Edward Hervey <edward@centricular.com>
* gst/mxf/mxfmpeg.c:
mxfmpeg: Fix essence coding detection
The picture essence coding matching was wrong. Use the proper "base" MXFUL for
video mpeg compression for matching.
Also handle the case where some old files would put the essence container label
in the essence coding field
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2371>
2021-07-01 08:35:01 +0200 Edward Hervey <edward@centricular.com>
* gst/mxf/mxfdemux.c:
* gst/mxf/mxfdemux.h:
* gst/mxf/mxftypes.c:
* gst/mxf/mxftypes.h:
mxfdemux: Refactor index table and offset handling
* Streamline offset <=> entry handling. Historically the demuxer didn't support
information from index tables and stored the discovered information in an array
per track. When index table support was added, a parallel system was setup for
that relationship. This commit unifies this into one system with the
`find_edit_entry()` and `find_entry_for_offset()` functions.
* By extension, per-track offset entry tables are only created/used if no index
table is present for those tracks.
* Use index table information as-is. The index table system from MXF is quite
complex and there are various ways to use the information contained
within. Instead of converting that information we store the data from the tables
as-is and extract the needed information when needed.
* Handle index tables without entries (i.e. all content package units are of the
same size).
* Allow collecting index table segments as we go instead of only once if a
random-index-pack is present. This also improves support of some files in
push-mode.
* When searching for keyframe entries, use the keyframe_offset if
present (speeds up searching).
* For interleaved content (i.e. several tracks in the sample essence container),
we use a system to be able to identify the position of each track in the delta
entries of index tables.
* Handle temporal offset only on tracks which *do* need it (as specified in the
delta entries of the index tables). If present, those offsets are stored in a
pre-processed table which allows computing PTS from DTS with a simple offset.
* Add a quirk for files which are known to be have wrongly stored temporal
offsets.
* Overall opens the way to handle more types of MXF files, especially those with
non-frame-wrapping.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2371>
2021-06-29 15:29:36 +0200 Edward Hervey <edward@centricular.com>
* gst/mxf/mxfdemux.c:
mxfdemux: Drop duplicate seek events
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2371>
2021-06-24 09:53:08 +0200 Edward Hervey <edward@centricular.com>
* gst/mxf/mxftypes.c:
mxf: Improve index entry debug log
By printing out the various known flag values
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2371>
2021-06-23 09:08:33 +0200 Edward Hervey <edward@centricular.com>
* gst/mxf/mxfmetadata.c:
mxf: Demote error message when resolving valid empty reference
A Source Clip can have zero'd SourcePackageID and SourceTrackID, this indicates
it terminates the source reference chain
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2371>
2021-06-17 16:38:54 +0200 Edward Hervey <edward@centricular.com>
* gst/mxf/mxfdemux.c:
* gst/mxf/mxfdemux.h:
mxfdemux: Handle temporal reordering shift
This is similar to how the same issue was handled in qtdemux.
In order for the "DTS <= PTS" constraint to be respected, we calculate the
maximum temporal reordering that can happen (via index tables).
If there is a non-0 temporal reordering, we:
* Shift all outgoing PTS by that amount
* Shift segment for that stream by that amount
* Don't modify DTS (i.e. they might end up having negative running-time, before
the start of the segment)
Also ensure all entries have a valid PTS set, previously this wouldn't be set
for entries with a temporal offset of 0.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/584
(and maybe a lot of other issues)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2371>
2021-07-17 20:49:15 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* sys/va/gstvavp9dec.c:
va: vp9dec: Minor cleanups.
Added a comment with a future to-do, enhanced another comment and
fixed a typo in an error log message.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2417>
2021-07-17 20:48:21 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* sys/va/gstvadecoder.c:
* sys/va/gstvadecoder.h:
va: decoder: Group decoder methods.
Move up gst_va_decoder_get_config() to group decoders function in the
same file area.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2417>
2021-07-17 20:45:48 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* sys/va/gstvaav1dec.c:
* sys/va/gstvadecoder.c:
* sys/va/gstvadecoder.h:
* sys/va/gstvah264dec.c:
* sys/va/gstvah265dec.c:
* sys/va/gstvampeg2dec.c:
* sys/va/gstvavp8dec.c:
* sys/va/gstvavp9dec.c:
va: Refactor _format_changed() to _config_is_equal().
Change gst_va_decoder_format_changed() to
gst_va_decoder_config_is_equal(), which is more similar with other
GStreamer API.
The function call is replaced but it has to be negated because the
return value is the opposite.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2417>
2021-07-17 20:37:52 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* sys/va/gstvadecoder.c:
* sys/va/gstvadecoder.h:
* sys/va/gstvavp9dec.c:
va: Refactor _change_resolution() to _update_frame_size().
Rename gst_va_decoder_change_resolution() to
gst_va_decoder_update_frame_size() which resembles
gst_va_decoder_set_frame_size().
Also added a comment to clarify the function use and makes more
specific the error message.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2417>
2021-07-17 20:29:45 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* sys/va/gstvaav1dec.c:
* sys/va/gstvadecoder.c:
* sys/va/gstvadecoder.h:
* sys/va/gstvah264dec.c:
* sys/va/gstvah265dec.c:
* sys/va/gstvampeg2dec.c:
* sys/va/gstvavp8dec.c:
* sys/va/gstvavp9dec.c:
va: Refactor _set_format() to _set_frame_size().
Renamed gst_va_decoder_set_format() to
gst_va_decoder_set_frame_size_with_surfaces() which resembles better
the passed parameters. Internally it creates the vaContext.
Added gst_va_decoder_set_frame_size() which is an alias of
gst_va_decoder_set_frame_size_with_surfaces() without surfaces. This
is the function which replaces gst_va_decoder_set_format() where
used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2417>
2021-07-16 15:24:11 +0800 He Junyan <junyan.he@intel.com>
* gst-libs/gst/codecs/gsth265decoder.c:
* gst-libs/gst/codecs/gsth265decoder.h:
* sys/nvcodec/gstnvh265dec.c:
codecs: h265decoder: Fix a typo of NumPocTotalCurr when process ref pic list.
We should use the NumPocTotalCurr value stored in decoder, which is a calculated
valid value, rather than use the invalid value in the slice header. Most of the
time, the NumPocTotalCurr is 0 and make the tmp_refs a very short length, and
causes the decoder's wrong result.
By the way, the NumPocTotalCurr is not the correct name specified in H265 spec,
its name should be NumPicTotalCurr. We change it to the correct name.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2414>
2021-07-16 13:21:11 +0800 He Junyan <junyan.he@intel.com>
* sys/va/gstvah265dec.c:
va: h265dec: Do not add non reference frames into ref list.
The VA's ReferenceFrames should only contain the reference frame, we
should not add the non reference frames into this list.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2414>
2021-07-15 19:44:21 +0900 Seungha Yang <seungha@centricular.com>
* tests/check/meson.build:
tests: Enable closedcaption test on Windows
... if closedcaption plugin is available
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2411>
2021-07-15 16:44:18 +0900 Seungha Yang <seungha@centricular.com>
* sys/mediafoundation/gstmfvideoenc.cpp:
mfvideoenc: Disable RGB format support
Some GPUs support BGRA format and it will be converted to subsampled
YUV format by GPU internally. Disable this implicit conversion
since the conversion parameters such as input/output colorimetry
are not exposed nor it's written in bitstream (e.g., VUI).
We prefer explicit conversion via our conversion elements.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2410>
2021-07-15 21:32:54 +0800 He Junyan <junyan.he@intel.com>
* sys/va/gstvah265dec.c:
va: h265dec: Fix a temp var overflow bug when write pred weight table.
The temp guint8 var of delta_chroma_offset_l0 and delta_chroma_offset_l1
can not cover the full range of delta_chroma_weight_l0/1 in the slice
header. When overflow happens, the decoder result is wrong.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2412>
2021-07-12 12:08:20 +0100 Philippe Normand <philn@igalia.com>
* ext/dash/gstmpdparser.c:
* tests/check/elements/dash_mpd.c:
dash: Store entire ContentProtection node in protection event data
Some manifests use the ContentProtection node to store additional information
such as the license server url. Our MPD parser used to process the
ContentProtection node, extracting Playready PSSH boxes. However for other DRM
systems, only the `value` attribute was passed down to the protection event, so
for example, Widevine data was not parsed at all and "Widevine" was passed to
the event, which is not very useful for decryptors that require a PSSH init
data.
Parsing should now be done by decryptors which will receive the entire
ContentProtection XML node as a string. This gives more "freedom" to the
decryptor which can then detect and parse custom nodes as well.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2400>
2021-07-14 22:36:52 +0800 He Junyan <junyan.he@intel.com>
* sys/va/gstvavp9dec.c:
va: vp9dec: We need to check the resolution changes for every frame.
The VP9 streams have the ability to change the resolution dynamically
at any time point. It does not send ad KEY frame before change the
resolution, even the INTER frame can change the resolution immediately.
So we need to check the resolution change for each frame and do the
re-negiotiation if needed.
Some insaned stream may play in resolution A first and then dynamically
changes to B, and after 1 or 2 frames, it use a show_existing_frame to
repeat the old frame of resolution A before. So, not only new_picture(),
but also duplicate_picture() need to check this.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2407>
2021-07-14 14:43:51 +0800 He Junyan <junyan.he@intel.com>
* sys/va/gstvavp9dec.c:
va: vp9dec: Do not re-create context for dynamical resolution change.
The driver for VP9 should have the ability to handle the dynamical resolution
changes. So if only the resolution changes, we should not re-create the config
and context in negotiation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2407>
2021-07-14 14:27:34 +0800 He Junyan <junyan.he@intel.com>
* sys/va/gstvadecoder.c:
* sys/va/gstvadecoder.h:
va: decoder: Add helper functions to get and change the resolution.
Some codecs such as VP9, its config and context have the ability to
dynamically. When we only change the width and height, no need to
re-create the config and context. The helper function can just change
the resolution without re-creating config and context.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2407>
2021-05-29 06:03:26 +1000 Jan Schmidt <jan@centricular.com>
* gst/mpegtsmux/tsmux/tsmux.c:
mpegtsmux: Quieten "missed PCR" warnings in VBR mode.
When the muxer is operating in VBR mode, it's kind of expected
for now that we might not put the PCR in exactly the right place,
because the muxer doesn't schedule packets that way. In that case
don't warn constantly about the PCR ending up a few ms off target.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2295>
2021-07-13 21:38:10 +1000 Matthew Waters <matthew@centricular.com>
* gst/rtmp2/gstrtmp2src.c:
rtmp2src: workaround a GLib race when destroying a GMainContext/GSource
https://gitlab.gnome.org/GNOME/glib/-/issues/803
Basically, if destruction of a GSource and its associated GMainContext are
not synchronised, Then the GSource destruction can access freed
GMainContext resources and cause a crash. This is not super common but
can happen.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2405>
2021-07-08 14:25:23 +0200 Mads Buvik Sandvei <madssandvei@protonmail.com>
* gst-libs/gst/codecs/gsth265decoder.c:
codecs: h265decoder: Always free messages while parsing SEI
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2390>
2021-07-14 19:39:11 +0900 Seungha Yang <seungha@centricular.com>
* gst/videoparsers/gstvp9parse.c:
vp9parse: Skip parsing decode-only frame
Decode-only frame (i.e., show_existing_frame == 1) doesn't hold
any valid information apart from the index of frame to be duplicated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2408>
2021-07-13 16:55:30 +0100 Philippe Normand <philn@igalia.com>
* ext/wpe/gstwpesrcbin.cpp:
wpesrcbin: Use gst_buffer_new_memdup()
g_memdup() is deprecated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2406>
2021-07-12 23:25:02 +0800 He Junyan <junyan.he@intel.com>
* gst-libs/gst/codecs/gstvp9statefulparser.c:
codecs: vp9statefulparser: not init segmentation_abs_or_delta_update.
The segmentation_abs_or_delta_update is a stateful var, it should not
be inited every time when parsing the segmentation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2403>
2021-07-12 23:21:29 +0900 Seungha Yang <seungha@centricular.com>
* tests/check/elements/wasapi2.c:
tests: wasapi2: Add more device reuse cases
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2402>
2021-07-12 22:17:22 +0900 Seungha Yang <seungha@centricular.com>
* sys/wasapi2/gstwasapi2ringbuffer.cpp:
wasapi2ringbuffer: Close IAudioClient on GstAudioRingBuffer::release
IAudioClient interface is not reusable once it's initialized.
So we should close the handle and reopen it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2402>
2021-07-13 03:35:22 +0900 Seungha Yang <seungha@centricular.com>
* sys/wasapi2/gstwasapi2ringbuffer.cpp:
wasapi2ringbuffer: Run gst-indent
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2402>
2021-07-12 09:01:06 -0300 Daniel Almeida <daniel.almeida@collabora.com>
* gst-libs/gst/codecparsers/gstav1parser.h:
codecparsers: av1: fix underflow in last_frame_idx
The spec mandates this field be parsed using unsigned arithmetic. Nevertheless,
av1parser will use -1 apparently as an uninitialized value in
gst_av1_parse_frame_header. This immediately underflows last_frame_idx
though, since its type was defined as guint8. Fix this by converting to gint8.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2401>
2021-03-18 10:55:58 +0100 Jakub Janků <jjanku@redhat.com>
* sys/wasapi/gstwasapisink.c:
wasapi: fix reinit of audioclient in prepare()
When the sink goes from PLAYING to READY and then back to PLAYING,
the initialization of the audioclient in prepare() fails with the
error AUDCLNT_E_ALREADY_INITIALIZED. As a result, the playback
stops.
To fix this, we need to drop the AudioClient in unprepare() and
grab a new one in prepare() to be able to initialize it again
with the new buffer spec.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2096>
2021-03-17 22:45:57 +0100 Jakub Janků <jjanku@redhat.com>
* sys/wasapi/gstwasapisink.c:
* sys/wasapi/gstwasapisrc.c:
* sys/wasapi/gstwasapiutil.c:
* sys/wasapi/gstwasapiutil.h:
wasapi: split gst_wasapi_util_get_device_client()
The functionality now resides in
gst_wasapi_util_get_device() and
gst_wasapi_util_get_audio_client().
This is a preparatory patch. It will be used in the following
patch to init/deinit the AudioClient separately from the device.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2096>
2021-07-11 18:14:46 +0200 Jakub Janků <janku.jakub.jj@gmail.com>
* tests/check/elements/wasapi.c:
* tests/check/meson.build:
tests: wasapi: check PLAYING -> READY -> PLAYING
Such sequence of state changes is valid and no error should happen.
At the moment, the test fails. Following patches aim to fix it.
Partially based on the code in tests/check/elements/wasapi2.c
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2096>
2021-07-09 14:55:43 +0200 Guido Günther <agx@sigxcpu.org>
* gst-libs/gst/play/gstplay-signal-adapter.c:
play: Emit correct signal
SIGNAL_MEDIA_INFO_UPDATED should be emitted on media info changes,
not SIGNAL_VIDEO_DIMENSIONS_CHANGED.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2398>
2021-03-05 09:18:15 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* gst-libs/gst/vulkan/gstvkcommandpool.h:
* gst-libs/gst/vulkan/gstvkdescriptorcache.h:
* gst-libs/gst/vulkan/gstvkdevice.h:
* gst-libs/gst/vulkan/gstvkdisplay.h:
* gst-libs/gst/vulkan/gstvkfullscreenquad.h:
* gst-libs/gst/vulkan/gstvkhandlepool.h:
* gst-libs/gst/vulkan/gstvkinstance.h:
* gst-libs/gst/vulkan/gstvkphysicaldevice.h:
* gst-libs/gst/vulkan/gstvkqueue.h:
* gst-libs/gst/vulkan/gstvkswapper.h:
* gst-libs/gst/vulkan/gstvktrash.h:
* gst-libs/gst/vulkan/gstvkwindow.h:
vulkan: Declare missing auto-pointer cleanup functions.
Also removed a couple guards since, given the glib dependency, they
are set.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2396>
2021-03-03 12:54:20 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* gst-libs/gst/vulkan/gstvkvideofilter.c:
vulkan: filter: Use filter variable name for choosing queue.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2396>
2021-03-03 08:50:13 +0100 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* docs/plugins/gst_plugins_cache.json:
* ext/vulkan/vksink.c:
vulkansink: Fix element metadata.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2396>
2021-06-25 09:19:25 +0800 Yinhang Liu <yinhang.liu@intel.com>
* sys/msdk/gstmsdkvpp.c:
msdkvpp: use NV12 as default format on srcpad
By default, sinkpad is NV12 format and srcpad is BGRA format, the
different format will trigger an implicit format conversion in
msdkvpp, which will cause performance drop.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2394>
2021-06-01 08:40:17 +0900 Dominique Martinet <dominique.martinet@atmark-techno.com>
* gst-libs/gst/wayland/wayland.c:
gst-libs/gst/wayland: handle display passing better
failure to pass a display in 'handle' would result in uninitialized value
being returned, which would often segfault later down the road when trying
to initialize gstreamer context with it.
Check the return value of gst_structure_get() to make sure we return valid
data.
Furthermore, the gstglimagesink in gst-plugins-base also has a similar
mechanism but uses 'display' as field name to pass the value; instead of
requiring the application to behave differently depending on what sink
was automatically detected just try to read both values here, with display
being the new default.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2292>
2021-07-08 14:46:11 +0100 Philippe Normand <philn@igalia.com>
* ext/dash/gstdashdemux.c:
dashdemux: Log protection events on corresponding pad
GstDashDemuxStream is not a GstObject, so use its pad as associated object when
emitting log messages.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2389>
2021-07-08 16:49:27 +0800 He Junyan <junyan.he@intel.com>
* sys/va/gstvafilter.c:
va: vpp: Improve the color properties setting.
The current setting of color properties are not very correct and
we will get some kind of "unknown Color Standard for YUV format"
warnings printed out by drivers. The video-color already provides
some standard APIs for us, and we can use them directly.
We also change the logic to: Finding the exactly match or explicit
standard first. If not found, we continue to find the most similar
one.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2385>
2021-07-08 19:03:06 +0900 Seungha Yang <seungha@centricular.com>
* sys/mediafoundation/gstmfcapturewinrt.cpp:
* sys/mediafoundation/gstmfsourcereader.cpp:
mfvideosrc: Fix negotiation when interlace-mode is specified
Given caps does not need to be strictly subset of device caps.
Allow accept it if device caps and requested caps can intersect
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1619
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2384>
2021-07-08 02:24:18 +0200 Mathieu Duponchelle <mathieu@centricular.com>
* ext/closedcaption/gstcccombiner.c:
cccombiner: mark field 0 as valid when generating padding CDP
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2383>
2021-07-06 17:14:21 +0900 Seungha Yang <seungha@centricular.com>
* sys/mediafoundation/gstmfvideobuffer.cpp:
* sys/mediafoundation/gstmfvideobuffer.h:
mfvideobuffer: Don't error for unexpected Unlock/Unlock2D call
Some GPU vendor's MFT implementation calls IMFMediaBuffer::Unlock()
without previous IMFMediaBuffer::Lock() call. Which is obviously
driver bug but we can ignore the Unlock call.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2381>
2021-06-30 10:30:43 +0200 Stéphane Cerveau <scerveau@collabora.com>
* ext/dash/gstdashsink.c:
dashsink: fix crash with no pad name for representation
if there is no pad name, the representation id
was NULL, causing a crash when writing the mpd file.
gst-launch-1.0 videotestsrc num-buffers=900 ! video/x-raw, width=800,
height=600, framerate=30/1 ! x264enc ! video/x-h264, profile=high !
dashsink
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2064>
2021-03-09 11:40:43 +0100 Stéphane Cerveau <scerveau@collabora.com>
* docs/plugins/gst_plugins_cache.json:
* ext/dash/gstdashsink.c:
dashsink: Add signals for allowing custom playlist/fragment
Instead of always going through the file system API we allow the
application to modify the behaviour. For the playlist itself and
fragments, the application can provide a GOutputStream. In addition the
sink notifies the application whenever a fragment can be deleted.
Following the HLS change:
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/918
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2064>
2021-07-06 14:06:24 +0800 He Junyan <junyan.he@intel.com>
* gst-libs/gst/codecs/gsth265decoder.c:
codecs: h265dec: Disable the POC order warning for negative POC.
There may be leading frames after the IRAP frames, which has negative
POC. This kind of frames are allowed and they will be displayed before
the IRAP frame. So the warning should not be triggered for them. Init
the last_output_poc to G_MININT32 can avoid this.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2380>
2021-07-06 13:38:16 +0800 He Junyan <junyan.he@intel.com>
* gst-libs/gst/codecs/gsth264decoder.c:
codecs: h264dec: Disable the POC order warning for negative POC.
There may be leading frames after the IDR frame, which has negative
POC. This kind of frames are allowed and they will be displayed before
the IDR frame. So the warning should not be triggered for them. Init
the last_output_poc to G_MININT32 can avoid this.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2380>
2021-06-25 15:57:03 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
* gst/interlace/gstinterlace.c:
interlace: Push the reconfigure event in the right direction
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2361>
2021-07-05 15:44:34 +0800 He Junyan <junyan.he@intel.com>
* sys/va/gstvabasedec.c:
va: basedec: Fix some artifact when do the crop copy.
The default video converter setting will add some artifact into
the picture for 10/12 bits conversion. This make the MD5 checksum
change from the original picture.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2379>
2021-07-05 02:05:03 +0900 Seungha Yang <seungha@centricular.com>
* sys/d3d11/gstd3d11decoder.cpp:
d3d11decoder: Enable zero-copy for Qualcomm
Qualcomm GPU works fine with current implementation now.
Noticeable difference between when it was disabled and current
d3d11 implementation is that we now support GstD3D11Memory
pool, so there will be no more frequent re-binding decoder surface anymore.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2377>
2021-07-05 07:42:39 +0200 Edward Hervey <edward@centricular.com>
* gst/mxf/mxfdemux.c:
* gst/mxf/mxfmetadata.c:
* gst/mxf/mxfmetadata.h:
mxfdemux: Check validity of interleaved File Package
As specified by the S377 MXF core specification, if a file package has
interleaved content, then all tracks must be using the same Edit Rate
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2378>
2021-07-05 01:54:02 +0900 Seungha Yang <seungha@centricular.com>
* sys/d3d11/gstd3d11vp9dec.cpp:
d3d11vp9dec: Fix for incorrect use_prev_in_find_mv_refs setting
Set use_prev_in_find_mv_refs depending on context. The value seems
to be used by AMD and Qualcomm (Intel and NVIDIA doesn't make difference
as per test)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2376>
2021-05-11 14:07:14 +0800 Haihao Xiang <haihao.xiang@intel.com>
* sys/msdk/gstmsdkallocator_libva.c:
* sys/msdk/gstmsdksystemmemory.c:
* sys/msdk/gstmsdkvideomemory.c:
* sys/msdk/gstmsdkvpp.c:
* sys/msdk/msdk.c:
* sys/msdk/msdk_libva.c:
gstmsdkvpp: add RGBP and BGRP in src pad
It requires MFX version 2.4+
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2234>
2021-07-04 00:36:27 +0900 Seungha Yang <seungha@centricular.com>
* sys/mediafoundation/gstmfsourcereader.cpp:
* sys/mediafoundation/gstmftransform.cpp:
mediafoundation: Port to IID_PPV_ARGS
Make code short where possible
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2375>
2021-07-04 00:24:09 +0900 Seungha Yang <seungha@centricular.com>
* sys/mediafoundation/gstmfaacenc.cpp:
* sys/mediafoundation/gstmfmp3enc.cpp:
mfaudioenc: Remove pointless enumerating for hardware audio encoder
Hardware audio encoder can exist in theory, but it's untested
and we are not sure whether it can be preferred over software
implementation which is implemented by MS
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2375>
2021-07-03 23:12:08 +0900 Seungha Yang <seungha@centricular.com>
* sys/mediafoundation/gstmfaacenc.cpp:
* sys/mediafoundation/gstmfh264enc.cpp:
* sys/mediafoundation/gstmfh265enc.cpp:
* sys/mediafoundation/gstmfmp3enc.cpp:
* sys/mediafoundation/gstmfvp9enc.cpp:
mediafoundation: Fix typos
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2375>
2021-07-03 22:56:48 +0900 Seungha Yang <seungha@centricular.com>
* sys/mediafoundation/gstmfaacenc.cpp:
* sys/mediafoundation/gstmfaudioenc.cpp:
* sys/mediafoundation/gstmfcapturewinrt.cpp:
* sys/mediafoundation/gstmfh264enc.cpp:
* sys/mediafoundation/gstmfh265enc.cpp:
* sys/mediafoundation/gstmfmp3enc.cpp:
* sys/mediafoundation/gstmfsourcereader.cpp:
* sys/mediafoundation/gstmftransform.cpp:
* sys/mediafoundation/gstmfutils.cpp:
* sys/mediafoundation/gstmfvideobuffer.cpp:
* sys/mediafoundation/gstmfvideoenc.cpp:
* sys/mediafoundation/gstmfvp9enc.cpp:
* sys/mediafoundation/mediacapturewrapper.cpp:
mediafoundation: Run gst-indent
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2375>
2021-06-26 21:42:37 +0800 He Junyan <junyan.he@intel.com>
* sys/va/gstvah265dec.c:
va: Consider the compatibility when we get_profile() for H265 decoder.
Adding the compatile profiles when we decide the final profile used for decoding.
The final profile candidates include:
1. The profile directly specified by SPS, which is the exact one.
2. The compatile profiles decided by the upstream element such as the h265parse.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2322>
2021-06-27 15:34:28 +0800 He Junyan <junyan.he@intel.com>
* gst/videoparsers/gsth265parse.c:
h265parse: Add special profile case for profile_idc 0.
This is a work-around to identify some main profile streams having
wrong profile_idc. There are some wrongly encoded main profile streams
which doesn't have any of the profile_idc values mentioned in Annex-A,
instead, general_profile_idc has been set as zero and the
general_profile_compatibility_flag[general_profile_idc] is TRUE.
Assuming them as MAIN profile for now.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2322>
2021-06-26 15:11:47 +0800 He Junyan <junyan.he@intel.com>
* gst/videoparsers/gsth265parse.c:
h265parse: Map -intra profiles to non-intra compatible profiles.
All the -intra profiles can map to non-intra profiles as compatible
profiles, except the monochrome case for main and main-10.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2322>
2021-07-01 19:27:28 +0800 He Junyan <junyan.he@intel.com>
* sys/va/gstvavp9dec.c:
va: vp9dec: update segmentation and store the result.
The segmentation is stateful, its information may depend on the previous
segmentation setting. For example, if loop_filter_delta_enabled is TRUE,
the filter_level[GST_VP9_REF_FRAME_INTRA][1] should inherit the previous
frame's value and can not be calculated by the current frame's segmentation
data only. So we need to maintain the segmentation state inside the vp9
decoder and update it when the new frame header comes.
We also fix the CLAMP issue of lvl_seg and intra_lvl because of their wrong
uint type here.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2369>
2021-06-30 15:23:15 +0800 He Junyan <junyan.he@intel.com>
* gst-libs/gst/codecs/gstvp9statefulparser.c:
codecparsers: vp9statefulparser: Fix the gst_vp9_get_qindex clamp issue.
The alternate quantizer is a delta value and should be int type.
We mark it wrongly as uint, that will make CLAMP (data, 0, 255)
always choose 255 rather than 0 if the data < 0.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2369>
2021-06-30 15:32:42 +0800 He Junyan <junyan.he@intel.com>
* gst-libs/gst/codecparsers/gstvp9parser.h:
codecparsers: vp9parser: Use macro to define the size of filter_level in Segmentation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2369>
2021-06-30 12:15:42 +0800 He Junyan <junyan.he@intel.com>
* gst-libs/gst/codecparsers/gstvp9parser.h:
codecparsers: vp9parser: Delete the verbose redefine of MAX_LOOP_FILTER.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2369>
2021-06-29 23:21:24 +0800 He Junyan <junyan.he@intel.com>
* sys/va/gstvaallocator.c:
va: allocator: dma: Fail when mapping the non-linear buffer.
The current way of DMA buffer mapping is simply forwarding the job
to parent's map function, which is a mmap(). That can not handle the
non-linear buffers, such as tiling, compressed, etc. The incorrect
mapping of such buffers causes broken images, which are recognized
as bugs. We should directly block this kind of mapping to avoid the
misunderstanding.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2353>
2021-07-02 13:10:25 +1000 Matthew Waters <matthew@centricular.com>
* ext/closedcaption/gstccconverter.c:
* tests/check/elements/ccconverter.c:
ccconverter: fix framerate caps negotiation from non-cdp to cdp
We can only convert from non-cdp to cdp within the confines of valid cdp
framerates. The existing caps negotiation code was allowing any
framerate to convert to a cdp output which is incorrect and would hit an
assertion later.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2372>
2021-06-09 15:16:39 +0800 He Junyan <junyan.he@intel.com>
* gst-libs/gst/codecs/gsth265decoder.c:
codecs: h265decoder: Consider the conformance window changes when new_sequence().
The change of conformance_window_flag and crop windows size also has impact on the
output resolution and caps. So it deserves a trigger of new_sequence() to notify
the sub class to update caps and pool.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2312>
2021-06-16 01:07:09 +0900 Seungha Yang <seungha@centricular.com>
* gst-libs/gst/codecs/gsth265decoder.c:
h265decoder: Don't hold reference to GstVideoCodecFrame for dropped picture
We are dropping RASL (Random Access Skipped Leading picture) which
is associated with an IRAP (Intra Random Access Picture) that has
NoRaslOutputFlag equal to 1, since the RASL picture will not be
outputted and also it should not be used for reference picture.
So, corresponding GstVideoCodecFrame should be released immediately.
Otherwise GstVideoDecoder baseclass will hold the unused frame.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2330>
2021-06-21 13:23:13 +0200 Edward Hervey <edward@centricular.com>
* gst/mxf/mxfdemux.c:
* gst/mxf/mxfvanc.c:
mxfvanc: Handle empty ANC essence
Not having any *actual* ANC is totally fine and common usage with several MXF
variants.
In order to properly advance the streams, the essence handler returns an empty
GAP buffer which gets converted to a GST_EVENT_GAP.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2345>
2021-06-30 18:11:46 +0900 Seungha Yang <seungha@centricular.com>
* sys/mediafoundation/gstmfvideoenc.cpp:
mfvideoenc: Don't ignore previous flow return value
In case of ASYNC MFT (hardware encoder), we were ignoring previous
finish_frame or pad_push return value. so, error wasn't propagated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2370>
2021-05-20 00:49:15 +0900 Seungha Yang <seungha@centricular.com>
* sys/d3d11/gstd3d11compositor.cpp:
* sys/d3d11/gstd3d11compositor.h:
* sys/d3d11/gstd3d11compositorbin.cpp:
d3d11compositor: Add scaling policy to support PAR-aware scaling
Identical to https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1156
but for D3D11.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2263>
2021-06-30 13:56:49 +0900 youngsoo.lee <youngsoo15.lee@gmail.com>
* gst-libs/gst/opencv/meson.build:
opencv: Fix build error on macOS
The build fails on macos with the following error:
/usr/local/Cellar/opencv/4.5.0_5/include/opencv4/opencv2/core/mat.hpp:2226:15: error: no template named 'initializer_list' in namespace 'std'
Mat_(std::initializer_list<_Tp> values);
fatal error: too many errors emitted, stopping now [-ferror-limit=]
35 warnings and 20 errors generated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2368>
2021-03-03 15:38:45 -0300 Ezequiel Garcia <ezequiel@collabora.com>
* sys/v4l2codecs/gstv4l2codecvp8dec.c:
v4l2codecs: vp8: Check kernel version
Print a warning if the kernel version is too old.
Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2075>
2021-03-02 18:13:27 -0300 Ezequiel Garcia <ezequiel@collabora.com>
* sys/v4l2codecs/gstv4l2codecvp8dec.c:
* sys/v4l2codecs/linux/v4l2-controls.h:
* sys/v4l2codecs/linux/videodev2.h:
* sys/v4l2codecs/linux/vp8-ctrls.h:
* sys/v4l2codecs/plugin.c:
v4l2codecs: vp8: Update to the new uAPI
Starting from Linux v5.13, the V4L2 stateless VP8 uAPI
is updated and stable.
Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2075>
2021-06-27 01:15:49 +0900 Seungha Yang <seungha@centricular.com>
* sys/nvcodec/gstnvrtcloader.c:
nvcodec: Enhance CUDA runtime compiler library loading on Windows
The name of installed CUDA runtime compiler library is formed like
nvrtc64_{major-version}{minor-version}_0.dll on Windows
(which is differnt from documented in https://docs.nvidia.com/cuda/nvrtc/index.html)
And minor version might not be exactly same as that of CUDA.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2362>
2021-06-14 18:49:20 +0900 Seungha Yang <seungha@centricular.com>
* sys/d3d11/gstd3d11av1dec.cpp:
* sys/d3d11/gstd3d11av1dec.h:
* sys/d3d11/gstd3d11decoder.cpp:
* sys/d3d11/gstd3d11decoder.h:
* sys/d3d11/meson.build:
* sys/d3d11/plugin.c:
d3d11: Add AV1 decoder
Introduce Direct3D11/DXVA AV1 decoder element
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2365>
2021-06-27 23:09:30 +0900 Seungha Yang <seungha@centricular.com>
* gst-libs/gst/codecs/gstav1decoder.c:
av1decoder: Store display resolution for duplicated picture
Target display resolution might be required by subclass implementation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2365>
2021-06-27 20:35:49 +0900 Seungha Yang <seungha@centricular.com>
* gst-libs/gst/codecs/gstav1decoder.c:
av1decoder: Fix debug typo
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2365>
2021-06-27 20:19:39 +0900 Seungha Yang <seungha@centricular.com>
* gst-libs/gst/codecparsers/gstav1parser.c:
av1parser: Fix tile size calculation
Remaining size should exclude already read "tile size bits".
And see also "5.11.1. General tile group OBU syntax"
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2365>
2021-06-28 21:13:56 -0400 Olivier Crête <olivier.crete@collabora.com>
* ext/webrtc/transportreceivebin.c:
webrtc receivebin: Drop serialized queries before receive queue
If they're not dropped, they can be blocked in the queue even if it is
leaky in the case where there is a buffer being pushed downstream. Since
in webrtc, it's unlikely that there will be a special allocator to
receive RTP packets, there is almost no downside to just ignoring the
queries.
Also drop queries if they get caught in the pad probe after the queue.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2363>
2021-06-26 14:31:01 -0400 Olivier Crête <olivier.crete@collabora.com>
* ext/webrtc/transportreceivebin.c:
* ext/webrtc/transportreceivebin.h:
webrtc receivebin: Only set queue to leaky when the pad is blocked
When the pad is no longer blocked, remove the leakyness to make sure
everything gets into the jitterbuffer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2363>
2021-06-26 14:25:39 -0400 Olivier Crête <olivier.crete@collabora.com>
* ext/webrtc/transportreceivebin.c:
webrtc receivebin: Don't unblock pad until sender is unblocked
As ther OpenSSL session is created when the receiver goes into
playing, we have to wait for the ICE session to be connected before we
can start delivering packets to the DTLS element.
Fixes #1599
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2363>
2021-06-24 13:17:09 +0300 Sebastian Dröge <sebastian@centricular.com>
* ext/webrtc/gstwebrtcbin.c:
* gst-libs/gst/webrtc/dtlstransport.c:
webrtcbin: Sync to the clock per stream and not per bundle
By using the clocksync inside the dtlssrtpenc, all streams inside a
bundled are synchronized together. This will cause problems if their
buffers are not already arriving synchronized: clocksync would wait for
a buffer on one stream and then buffers from the other stream(s) with
lower timestamps would all be sent out too late.
Placing the clocksync before the rtpbin and rtpfunnel synchronizes each
stream individually and they will be send out more smoothly as a result.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2355>
2021-06-24 14:58:12 -0400 Olivier Crête <olivier.crete@collabora.com>
* ext/webrtc/transportreceivebin.c:
* ext/webrtc/transportsendbin.c:
* ext/webrtc/transportstream.c:
* gst-libs/gst/webrtc/rtpreceiver.c:
* gst-libs/gst/webrtc/rtpreceiver.h:
webrtc: Remove the webrtc-priv.h header from public headers
And this time for real, also import it in a couple more places
inside the webrtc element to make it build.
Fixes #1607
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2359>
2021-06-09 17:29:19 +0800 He Junyan <junyan.he@intel.com>
* sys/va/gstvaav1dec.c:
va: change AV1 GstVideoAlignment setting to left-top corner.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2298>
2021-06-18 10:37:06 +0800 He Junyan <junyan.he@intel.com>
* sys/va/gstvah264dec.c:
va: h264dec: Set the GstVideoAlignment correctly.
We should set GstVideoAlignment based on the sequence's crop information.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2298>
2021-06-09 17:21:18 +0800 He Junyan <junyan.he@intel.com>
* sys/va/gstvah265dec.c:
va: h265dec: Set the GstVideoAlignment correctly.
We should set GstVideoAlignment based on the conformance window info.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2298>
2021-06-09 17:19:04 +0800 He Junyan <junyan.he@intel.com>
* sys/va/gstvapool.c:
va: pool: Add VideoCropMeta to the buffer if crop_top/left > 0.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2298>
2021-06-09 17:14:42 +0800 He Junyan <junyan.he@intel.com>
* sys/va/gstvabasedec.c:
* sys/va/gstvabasedec.h:
va: basedec: Copy the frames into other_pool if needed.
If decoder's crop_top/left value > 0 and the downstream does not
support the VideoCropMeta, we need to manually copy the frames
into the other_pool and output it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2298>
2021-06-09 15:44:33 +0800 He Junyan <junyan.he@intel.com>
* sys/va/gstvabasedec.c:
* sys/va/gstvabasedec.h:
va: basedec: Setup the other_pool to copy output if crop_left/top.
If the decoder has crop_top/left value > 0(e.g. the conformance
window in the H265). Which means that the real output picture
locates in the middle of the decoded buffer. If the downstream can
support VideoCropMeta, a VideoCropMeta is added to notify the
real picture's coordinate and size. But if not, we need to copy
it manually and the other_pool is needed. We always assume that
decoded picture starts from top-left corner, and so there is no
need to do this if crop_bottom/right value > 0.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2298>
2021-06-07 00:49:49 +0800 He Junyan <junyan.he@intel.com>
* sys/va/gstvapool.c:
va: No need to set the alignment for VideoMeta
The base va decoder's video_align is just used for calculation the
real decoded buffer's width and height. It does not have meaning
for the VideoMeta, because it does not align to the real picture
in the output buffer. We will use VideoCropMeta to replace it later.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2298>
2021-06-03 00:07:05 +0800 He Junyan <junyan.he@intel.com>
* sys/va/gstvapool.c:
va: Delete the useless align expand in va_pool_set_config().
The base va decoder's video_align is just used for calculation the
real decoded buffer's width and height. While the gst_video_info_align
just calculate the offset and stride based on the video_align. But
all the offsets and strides are overwritten in gst_va_dmabuf_allocator_try
or gst_va_allocator_try, which make that calculation useless.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2298>
2021-06-28 17:41:38 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst-libs/gst/webrtc/webrtc-priv.h:
* gst-libs/gst/webrtc/webrtc_fwd.h:
webrtc: Re-add WebRTC object docs to the public headers
So they end up in the generated documentation and the Since markers
appear in the .gir files too.
Also remove wrong "Since: 1.16" markers for some objects that were
available since 1.14.0 already.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1609
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2366>
2021-06-25 10:20:06 +0300 Sebastian Dröge <sebastian@centricular.com>
* ext/webrtc/gstwebrtcbin.c:
* ext/webrtc/utils.c:
webrtcbin: Set transceiver kind and codec preferences immediately when creating it
Otherwise the on-new-transceiver signal will always be emitted with kind
set to UNKNOWN and no codec preferences although both are often known at
this point already.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2360>
2021-06-25 12:14:03 +0300 Sebastian Dröge <sebastian@centricular.com>
* tests/check/elements/webrtcbin.c:
webrtcbin: Add a test for setting codec preferences as part of "on-new-transceiver" when setting the remote offer
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2310>
2021-06-25 12:13:42 +0300 Sebastian Dröge <sebastian@centricular.com>
* tests/check/elements/webrtcbin.c:
webrtc: Use fail_unless_equals_string() for string assertions
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2310>
2021-06-08 11:40:14 +0300 Sebastian Dröge <sebastian@centricular.com>
* ext/webrtc/gstwebrtcbin.c:
webrtcbin: Store newly created transceivers when creating an answer also in the seen transceivers list
Otherwise it might be used a second time for another media afterwards.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2310>
2021-06-08 11:39:27 +0300 Sebastian Dröge <sebastian@centricular.com>
* ext/webrtc/gstwebrtcbin.c:
webrtcbin: When creating a new transceiver as part of creating the answer also take its codec preferences into account
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2310>
2021-06-08 11:38:11 +0300 Sebastian Dröge <sebastian@centricular.com>
* ext/webrtc/gstwebrtcbin.c:
webrtcbin: Fix a couple of caps leaks of the offer caps
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2310>
2021-06-24 12:28:11 +0100 Philippe Normand <philn@igalia.com>
* ext/webrtc/gstwebrtcbin.c:
webrtcbin: Stop transceivers update after first SDP error on data channel
When invalid SDP is supplied, _update_data_channel_from_sdp_media() sets the
GError, so it is invalid to continue any further SDP processing, we have to exit
early when the first error is raised.
This change is similar to the one applied in
064428cb34572fa1a018ebbaba6925967ba99dc0.
See also #1595
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2356>
2021-06-21 16:50:46 -0400 Olivier Crête <olivier.crete@collabora.com>
* tests/check/elements/webrtcbin.c:
webrtcbin test: Fix race in new test
Pull a buffer from a sink to make sure that the caps are already
set before trying to update them.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2348>
2021-06-22 16:12:57 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>
* sys/msdk/gstmsdkenc.c:
* sys/msdk/gstmsdkenc.h:
* sys/msdk/gstmsdkvp9enc.c:
msdk: fix qp range for vp9enc
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2349>
2021-06-10 11:46:35 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/timecode/gstavwait.c:
avwait: Don't consider it a segment change if the segment is the same except for the position
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2319>
2021-06-21 17:13:33 +0900 Seungha Yang <seungha@centricular.com>
d3d11: Add support for GRAY and more YUV formats
By this commit, following formats will be newly supported by d3d11 elements
* Y444_{8, 12, 16}LE formats:
Similar to other planar formats. Such Y444 variants are not supported
by Direct3D11 natively, but we can simply map each plane by
using R8 and/or R16 texture.
* P012_LE:
It is not different from P016_LE, but defining P012 and P016 separately
for more explicit signalling. Note that DXVA uses P016 texture
for 12bits encoded bitstreams.
* GRAY:
This format is required for some codecs (e.g., AV1) if monochrome
is supported
* 4:2:0 planar 12bits (I420_12LE) and 4:2:2 planar 8, 10, 12bits
formats (Y42B, I422_10LE, and I422_12LE)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2346>
2021-06-10 11:42:24 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/mpegtsmux/gstbasetsmux.c:
tsmux: When selecting random PIDs, name the pads according to those PIDs
Some elements will make use of the automatically generated names to
create new pads in future muxer instances, for example splitmuxsink.
Previously we would've created a pad with a random pid that would become
"sink_0", and then on a new muxer instance a pad "sink_0" and tsmux
would've then failed because 0 is not a valid PID.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2318>
2021-06-23 01:43:08 +0900 Seungha Yang <seungha@centricular.com>
mfvideoenc: Enhance B-frame timestamp handling
When B-frame is enabled, encoder seems to adjust PTS of encoded sample
by using frame duration.
For instance, one observed timestamp pattern by using B-frame enabled
and 30fps stream is:
* Frame-1: MF pts 0:00.033333300 MF dts 0:00.000000000
* Frame-2: MF pts 0:00.133333300 MF dts 0:00.033333300
* Frame-3: MF pts 0:00.066666600 MF dts 0:00.066666600
* Frame-4: MF pts 0:00.099999900 MF dts 0:00.100000000
We can notice that the amount of PTS shift is frame duration and
Frame-4 exhibits PTS < DTS.
To compensate shifted timestamp, we should
calculate the timestamp offset and re-calculate DTS correspondingly.
Otherwise, total timeline of output stream will be shifted, and that
can cause time sync issue.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2354>
2021-06-10 11:36:43 +0300 Sebastian Dröge <sebastian@centricular.com>
* gst/mpegtsmux/gstbasetsmux.c:
tsmux: Recheck existing pad PIDs when requesting a new pad with a random pid
Previously pads might have been requested already (e.g. in NULL state),
then reset was called (e.g. because changing state) and then a new pad
was requested. Resetting is re-creating the internal muxer object and as
such resetting the pid counter, so the next requested pad would get the
same pid as the first requested pad which then leads to collisions.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2317>
2021-06-22 02:34:18 +0900 Seungha Yang <seungha@centricular.com>
* sys/mediafoundation/gstmfh264enc.cpp:
* sys/mediafoundation/gstmfh265enc.cpp:
* sys/mediafoundation/gstmfvideoenc.cpp:
mfh264enc, mfh265enc: Set profile string to src caps
Set configured profile to src caps so that downstream can figure
out selected profile.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2347>
2021-04-21 16:24:00 -0400 Olivier Crête <olivier.crete@collabora.com>
* ext/webrtc/webrtcdatachannel.h:
* gst-libs/gst/webrtc/datachannel.c:
* gst-libs/gst/webrtc/datachannel.h:
* gst-libs/gst/webrtc/webrtc-priv.h:
webrtc lib: Make the datachannel struct private
This will prevent any unsafe access.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2241>
2021-04-21 16:19:41 -0400 Olivier Crête <olivier.crete@collabora.com>
* gst-libs/gst/webrtc/dtlstransport.c:
* gst-libs/gst/webrtc/dtlstransport.h:
* gst-libs/gst/webrtc/webrtc-priv.h:
webrtc lib: Make the DTLSTransport struct private
This will prevent any unsafe access.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2241>
2021-04-21 16:17:23 -0400 Olivier Crête <olivier.crete@collabora.com>
* ext/webrtc/nicetransport.h:
* gst-libs/gst/webrtc/icetransport.c:
* gst-libs/gst/webrtc/icetransport.h:
* gst-libs/gst/webrtc/webrtc-priv.h:
webrtc lib: Make the icetransport struct private
This will prevent any unsafe access.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2241>
2021-04-21 16:04:26 -0400 Olivier Crête <olivier.crete@collabora.com>
* gst-libs/gst/webrtc/rtpreceiver.h:
* gst-libs/gst/webrtc/webrtc-priv.h:
webrtc lib: Make the rtpreceiver struct private
This will prevent any unsafe access.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2241>
2021-04-21 16:00:57 -0400 Olivier Crête <olivier.crete@collabora.com>
* ext/webrtc/gstwebrtcbin.c:
* gst-libs/gst/webrtc/rtpsender.c:
* gst-libs/gst/webrtc/rtpsender.h:
* gst-libs/gst/webrtc/webrtc-priv.h:
webrtc lib: Make the rtpsender struct private
This will prevent any unsafe access.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2241>
2021-04-21 16:00:34 -0400 Olivier Crête <olivier.crete@collabora.com>
* ext/webrtc/webrtctransceiver.h:
* gst-libs/gst/webrtc/rtptransceiver.c:
* gst-libs/gst/webrtc/rtptransceiver.h:
* gst-libs/gst/webrtc/webrtc-priv.h:
webrtc lib: Make the transceiver struct private
This will prevent any unsafe access.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2241>
2021-06-18 19:26:35 +0200 Mathieu Duponchelle <mathieu@centricular.com>
* ext/x265/gstx265enc.c:
x265enc: add negative DTS support
Use the same set_min_pts approach as x264enc.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/304
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2340>
2021-06-17 20:10:35 +0900 Seungha Yang <seungha@centricular.com>
* sys/decklink/gstdecklinkaudiosrc.cpp:
decklinkaudiosrc: Don't assume that stream time is always valid
As per SDK doc, IDeckLinkInputCallback::VideoInputFrameArrived
method might not provide video frame and it can be null.
In that case, given stream_time can be invalid.
So, we should not try to convert GST_CLOCK_TIME_NONE
by using gst_clock_adjust_with_calibration()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2337>
2021-06-14 13:16:30 -0400 Thibault Saunier <tsaunier@igalia.com>
* gst-libs/gst/transcoder/gsttranscoder.c:
transcoder: Fix usage of g_error_propagate
In the error callback we were propagating an error we were not owning
which is incorrect use of the API.
Also we were clearing a GError we already propagated which is wrong
as propagating gives ownership away.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2325>
2021-06-14 13:13:24 -0400 Thibault Saunier <tsaunier@igalia.com>
* gst-libs/gst/transcoder/gsttranscoder.c:
transcoder: Add a missing object unlocking
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2325>
2021-06-14 15:07:05 +0200 Stéphane Cerveau <scerveau@collabora.com>
* ext/faad/gstfaad.c:
faad: fix typo in element documentation
seealso is now see_also
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2323>
2021-06-17 20:17:14 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* tests/check/elements/msdkh264enc.c:
tests: msdkh264dec: Run test only if factory is available.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2336>
2021-06-17 11:25:11 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
* sys/msdk/gstmsdkcontext.c:
msdk: Demote error log message to warning.
It is not an error that the available hardware doesn't support VA-API/MSDK. Just
none plugin features will be registered.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2336>
2021-06-20 18:48:21 +0900 Seungha Yang <seungha@centricular.com>
* gst-libs/gst/d3d11/gstd3d11_private.h:
* gst-libs/gst/d3d11/gstd3d11bufferpool.cpp:
* gst-libs/gst/d3d11/gstd3d11device.cpp:
* gst-libs/gst/d3d11/gstd3d11format.cpp:
* gst-libs/gst/d3d11/gstd3d11memory.cpp:
* gst-libs/gst/d3d11/gstd3d11utils.cpp:
* gst-libs/gst/d3d11/meson.build:
libs: d3d11: Port to C++
In general, C++ COM APIs are slightly less verbose and more readable
than C APIs. And C++ supports some helper methods
(smart pointer and C++ only macros for example) which are not allowed for C.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2343>
2021-06-16 10:23:37 -0700 U. Artie Eoff <ullysses.a.eoff@intel.com>
* sys/msdk/gstmsdk.c:
* sys/msdk/meson.build:
msdk: declare external dependencies
Track kernel and VA driver dependencies so gstreamer
will re-inspect the plugin if any of them change.
Also, do not blacklist the plugin if !msdk_is_available
since it could be a transient issue caused by one or
more external dependency issues (e.g. wrong/missing
driver specified, but corrected by user later on).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2335>
2021-06-17 01:00:33 +0900 Seungha Yang <seungha@centricular.com>
* gst/videoparsers/gsth264parse.c:
* gst/videoparsers/gsth265parse.c:
h264parse,h265parse: Push parameter set NAL units again per segment-done
Some decoder implementations might drain out internal buffers and
reset its status on segment-done event. So, in case that
upstream stream-format is packetized but downstream supports only
byte-format, required codec-data might not be forwarded toward
downstream if such parameter set NAL units don't exist in inband
bitstream. Therefore, parse elements should re-send parameter set NAL
units like the case of flush event.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2334>
2021-06-16 10:31:13 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* gst-libs/gst/codecs/gstvp8decoder.c:
vp8decoder: Drain the output queue on EOS/finish
The finish() virtual method was flushing the queue, instead push the
remaining buffers. It is not required to reset in finish() unlike
drain(). This a regression causing last frame to always be lost.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2333>
2021-06-16 10:30:18 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* gst-libs/gst/codecs/gstvp8decoder.c:
v4l2slvp8dec: Only ask for output delay once per negotiation
While it's technically possible to change it per frame, asking for
that every frame is not very useful. This mimic H264 decoder better.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2333>
2021-06-16 16:56:14 +0800 He Junyan <junyan.he@intel.com>
* sys/va/gstvabasedec.c:
va: Improve the default mapping between rt_format and video format.
We add 12 bits entries into this default mapping. And the old mapping
is not precise. For example, the NV12 should not be used as the default
mapping for VA_RT_FORMAT_YUV422 and VA_RT_FORMAT_YUV444, it is even not
a 422 or 444 format.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2332>
2021-06-16 16:43:40 +0800 He Junyan <junyan.he@intel.com>
* sys/va/gstvah265dec.c:
va: Add 12 bits rt_format setting in H265.
In order to support 12 bits format decoding, we need to add the
support for 12 bits rt_format in H265.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2332>
2021-06-16 16:32:30 +0800 He Junyan <junyan.he@intel.com>
* sys/va/gstvavideoformat.c:
va: Fix a typo in video format mapping.
GST_VIDEO_FORMAT_Y412_LE is a 4:4:4 format and so should be mapped
to VA_RT_YUV444_12 rt format.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2332>
2021-06-15 21:36:43 +0800 He Junyan <junyan.he@intel.com>
* gst/videoparsers/gsth265parse.c:
h265parse: Fix a typo in get_compatible_profile_caps().
The GST_H265_PROFILE_MAIN_444_10 profile should be compatible with
GST_H265_PROFILE_SCREEN_EXTENDED_MAIN_444_10, not the current
GST_H265_PROFILE_SCREEN_EXTENDED_MAIN_10.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2328>
2020-12-15 18:11:08 +0800 Randy Li (ayaka) <ayaka@soulik.info>
* ext/wayland/gstwaylandsink.c:
* ext/wayland/gstwaylandsink.h:
* ext/wayland/wlwindow.c:
* ext/wayland/wlwindow.h:
waylandsink: prevent frame callback being released twice
For those using context from the application which
would be the embedded video case, if the frame callback
is entering at the same time as window is finalizing,
a wayland proxy object would be destroyed twice, leading
the refcout less than zero in the second time, it can
throw an abort() in wayland.
For those top window case, which as a directly connection
to the compositor, they can stop the message queue then
the frame callback won't happen at the same time as the
window is finalizing. It doesn't think it would bother
them about this.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1883>
2021-06-14 16:04:52 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* gst/codecalpha/gstalphadecodebin.c:
* sys/v4l2codecs/gstv4l2codecalphadecodebin.c:
alphadecodebin: Fix stall due to QoS
alphacombine element is a simple element that assumes buffers are always
paired, or at least that missing buffers are signalled with a GAP. The QoS
implementation in the GstVideoDecoder base class allow decoders dropping
frames independently and that could lead to stall in alphacombine.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2326>
2021-02-02 11:02:02 +0100 Stéphane Cerveau <scerveau@collabora.com>
* docs/plugins/gst_plugins_cache.json:
* ext/openjpeg/gstopenjpegenc.c:
* gst-libs/gst/codecparsers/gstjpeg2000sampling.c:
* gst-libs/gst/codecparsers/gstjpeg2000sampling.h:
* gst/videoparsers/gstjpeg2000parse.c:
jpeg2000parse, openjpeg: add support for YCrCb 4:1:1 sampling
Add YCrCb 4:1:1 support in openjpeg elements
and fix in jpeg2000parse the YCrCb 4:1:0 support
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2321>
2021-06-10 23:35:38 +0900 Seungha Yang <seungha@centricular.com>
* sys/d3d11/gstd3d11decoder.cpp:
* sys/d3d11/gstd3d11h264dec.cpp:
* sys/d3d11/gstd3d11h265dec.cpp:
* sys/d3d11/gstd3d11mpeg2dec.cpp:
* sys/d3d11/gstd3d11vp8dec.cpp:
* sys/d3d11/gstd3d11vp9dec.cpp:
d3d11decoder: Don't print error log when no DPB texture is available
... but we are flushing. The condition is quite expected situation
when pipeline is in the middle of seeking operation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2320>
2021-05-23 18:17:38 +0800 Yinhang Liu <yinhang.liu@intel.com>
* sys/msdk/gstmsdkenc.c:
msdkenc: add extbrc support in ext-coding-props property
The SDK can support external bitrate control [1], so add extbrc
to enable this feature.
[1] https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/mediasdk-man.md#mfxextcodingoption2
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2139>
2021-05-23 18:13:25 +0800 Yinhang Liu <yinhang.liu@intel.com>
* docs/plugins/gst_plugins_cache.json:
* sys/msdk/gstmsdkenc.c:
* sys/msdk/gstmsdkenc.h:
msdkenc: add ext-coding-props for external coding options
This property supports passing multiple parameters using GstStructure.
Example usage:
ext-coding-props="props,key0=value0,key1=value1,..."
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2139>
2021-06-05 21:59:50 +0800 He Junyan <junyan.he@intel.com>
* gst-libs/gst/codecs/gsth265decoder.c:
codecs: Fix the H265 poc out of order warning.
We always get a warning such as:
h265decoder gsth265decoder.c:1432:gst_h265_decoder_do_output_picture: \
<vah265dec0> Outputting out of order 255 -> 0, likely a broken stream
in H265 decoder.
The problem is caused because we fail to reset the last_output_poc when
we get IDR and BLA. The incoming IDR and BLA frame already bump all the
frames in the DPB, but we forget to reset the last_output_poc, which
make the POC out of order and generate the warning all the time.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2294>
2021-06-10 01:09:44 +0900 Seungha Yang <seungha@centricular.com>
* sys/wasapi2/gstwasapi2sink.c:
wasapi2sink: Fix ringbuffer object leak
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2315>
2021-06-10 00:24:24 +0900 Seungha Yang <seungha@centricular.com>
* sys/wasapi2/gstwasapi2ringbuffer.cpp:
wasapi2ringbuffer: Implement GstAudioRingBuffer::pause()
WASAPI doesn't support PAUSE so it's not different from Stop().
When pipeline is in paused state, we don't need to waste CPU resource
for feeding silent buffers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2315>
2021-06-07 01:49:26 +0900 Seungha Yang <seungha@centricular.com>
* gst-libs/gst/d3d11/gstd3d11_fwd.h:
* gst-libs/gst/d3d11/gstd3d11memory.c:
* gst-libs/gst/d3d11/gstd3d11memory.h:
d3d11memory: Implement GstAllocator::mem_copy method
There are a few places which require deep copy
(basesink on drain for example). Also this implementation can be
useful for future use case.
One probable future use case is that copying DPB texture to
another texture for in-place transform since our DPB texture is never
writable, and therefore copying is unavoidable.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2308>
2021-06-08 21:35:20 +0900 Seungha Yang <seungha@centricular.com>
* sys/wasapi2/gstwasapi2client.cpp:
* sys/wasapi2/gstwasapi2client.h:
* sys/wasapi2/gstwasapi2device.c:
* sys/wasapi2/gstwasapi2ringbuffer.cpp:
* sys/wasapi2/gstwasapi2src.c:
* sys/wasapi2/gstwasapi2util.c:
* sys/wasapi2/gstwasapi2util.h:
wasapi2src: Add support for loopback recording
... and add various device error handling.
This loopback implementation is functionally identical to that of wasapisrc.
When it's enabled, wasapi2src will read data from render device instead of
capture device.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2311>
2021-05-10 20:45:28 +0900 Seungha Yang <seungha@centricular.com>
* sys/wasapi2/gstwasapi2client.cpp:
* sys/wasapi2/gstwasapi2client.h:
* sys/wasapi2/gstwasapi2device.c:
* sys/wasapi2/gstwasapi2ringbuffer.cpp:
* sys/wasapi2/gstwasapi2ringbuffer.h:
* sys/wasapi2/gstwasapi2sink.c:
* sys/wasapi2/gstwasapi2sink.h:
* sys/wasapi2/gstwasapi2src.c:
* sys/wasapi2/gstwasapi2src.h:
* sys/wasapi2/gstwasapi2util.c:
* sys/wasapi2/gstwasapi2util.h:
* sys/wasapi2/meson.build:
* sys/wasapi2/plugin.c:
wasapi2: Rewrite plugin and implement audioringbuffer subclass
... based on MediaFoundation work queue API.
By this commit, wasapi2 plugin will make use of pull mode scheduling
with audioringbuffer subclass.
There are several drawbacks of audiosrc/audiosink subclassing
(not audiobasesrc/audiobasesink) for WASAPI API, which are:
* audiosrc/audiosink classes try to set high priority to
read/write thread via MMCSS (Multimedia Class Scheduler Service)
but it's not allowed in case of UWP application.
In order to use MMCSS in UWP, application should use MediaFoundation
work queue indirectly.
Since audiosrc/audiosink scheduling model is not compatible with
MediaFoundation's work queue model, audioringbuffer subclassing
is required.
* WASAPI capture device might report larger packet size than expected
(i.e., larger frames we can read than expected frame size per period).
Meanwhile, in any case, application should drain all packets at that moment.
In order to handle the case, wasapi/wasapi2 plugins were making use of
GstAdapter which is obviously sub-optimal because it requires additional
memory allocation and copy.
By implementing audioringbuffer subclassing, we can avoid such inefficiency.
In this commit, all the device read/write operations will be moved
to newly implemented wasapi2ringbuffer class and
existing wasapi2client class will take care of device enumeration
and activation parts only.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2306>
2021-06-06 17:32:59 +0900 Seungha Yang <seungha@centricular.com>
* sys/wasapi2/gstwasapi2client.cpp:
wasapi2: Use AUDCLNT_STREAMFLAGS_NOPERSIST flag
... so that we can disable persistence of our mute/volume status
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2306>
2021-06-06 17:28:56 +0900 Seungha Yang <seungha@centricular.com>
* sys/wasapi2/gstwasapi2src.c:
wasapi2src: Fix doc typo
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2306>
2021-05-26 00:12:59 -0400 Thibault Saunier <tsaunier@igalia.com>
* ext/wpe/wpe-extension/gstwpebusmsgforwarder.c:
wpe: Rename `undeserializable_type` to `not_deserializable_type`
Making it more readable.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2273>
2021-05-25 23:58:27 -0400 Thibault Saunier <tsaunier@igalia.com>
* ext/wpe/WPEThreadedView.cpp:
* ext/wpe/gstwpesrcbin.cpp:
* ext/wpe/wpe-extension/gstwpebusmsgforwarder.c:
wpe: Make forwarded messages layout more like GstBinForwaded messages
Making it look more like how we do this kind of things in other places.
See: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2252#note_927653
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2273>
2021-05-21 10:52:01 -0400 Thibault Saunier <tsaunier@igalia.com>
* docs/plugins/gst_plugins_cache.json:
* ext/wpe/gstwpesrcbin.cpp:
* tests/examples/wpe/wpe.c:
wpe: Make wpesrc!video pad an always pad
There should always be a `video` pad no matter what.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2273>
2021-05-21 10:31:53 -0400 Thibault Saunier <tsaunier@igalia.com>
* ext/wpe/wpe-extension/gstwpeextension.c:
wpe: Remove unused env var
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2273>
2021-05-21 10:31:37 -0400 Thibault Saunier <tsaunier@igalia.com>
* ext/wpe/wpe-extension/gstwpeaudiosink.c:
wpe: Fix atomic usage
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2273>
2021-05-21 10:29:11 -0400 Thibault Saunier <tsaunier@igalia.com>
* ext/wpe/gstwpesrcbin.cpp:
wpe: Add a note able requiring tracing subsystem for message forwarding
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2273>
2021-05-21 10:18:21 -0400 Thibault Saunier <tsaunier@igalia.com>
* ext/wpe/wpe-extension/gstwpeaudiosink.c:
wpe: Fix check on whether MEMFD_CREATE is available
The ordering of the ifdef was wrong
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2273>
2021-05-21 10:13:01 -0400 Thibault Saunier <tsaunier@igalia.com>
* ext/wpe/gstwpesrcbin.cpp:
* ext/wpe/wpe-extension/gstwpebusmsgforwarder.c:
wpe: Plug a leak
We were freeing after returning
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2273>
2021-05-21 09:54:33 -0400 Thibault Saunier <tsaunier@igalia.com>
* ext/wpe/WPEThreadedView.cpp:
Revert "wpe: Properly respect LIBGL_ALWAYS_SOFTWARE"
This causes issues I didn't see:
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2252#note_927633
Let's just tell people to use capsfilter to force software rendering in
`wpesrc` for now.
The intent was to allow forcing it easily in playbin2 for the CI, but
we will do it some other way and see when time comes.
This reverts commit 9415106b029e5469ca28d882dc46ecc38786d4c9.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2273>
2021-05-28 15:18:53 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
* docs/plugins/gst_plugins_cache.json:
* gst/debugutils/debugutilsbad.c:
* gst/debugutils/gstdebugutilsbadelements.h:
* gst/debugutils/gstvideocodectestsink.c:
* gst/debugutils/gstvideocodectestsink.h:
* gst/debugutils/meson.build:
debugutils: Introduce videocodectestsink
This is a video specific sink used to test video CODEC conformance. This is similar
to a combination of filesink and testsink, but will skip over any type of
padding that GStreamer Video library introduces. This is needed in order to obtain the
correct checksum or raw yuv data.
This element currently support writing back non-padded raw I420 through the
location property and will calculate an MD5 and post it as an element message
of type conformance/checksum. More output format or checksum type could be
added in the future as needed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2287>
2021-06-04 01:44:47 +0900 Seungha Yang <seungha@centricular.com>
* gst-libs/gst/vulkan/gstvkinstance.c:
vkinstance: Don't abort in case that system has no available vulkan device
Specification doesn't have restriction that returned
pPhysicalDeviceCount value must be non-zero
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2304>
2021-06-03 11:24:53 +0200 Edward Hervey <edward@centricular.com>
* gst/mpegtsdemux/tsdemux.c:
tsdemux: Clear all streams when rewinding
This avoids sending out partial invalid data downstream which could cause
decoders (ex: `dvdlpmdec`) to error out.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2301>
2021-05-29 01:48:15 +0900 Seungha Yang <seungha@centricular.com>
* gst-libs/gst/d3d11/gstd3d11device.c:
* gst-libs/gst/d3d11/gstd3d11format.h:
* sys/d3d11/gstd3d11converter.cpp:
* tests/check/elements/d3d11colorconvert.c:
d3d11: Add support for YV12 and NV21 formats
Handle UV swapped 4:2:0 8bits formats
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2290>
2021-06-03 18:28:26 +0900 Seungha Yang <seungha@centricular.com>
* sys/d3d11/gstd3d11window_win32.cpp:
d3d11window_win32: Ensure closing internal HWND from window thread
Window hand
gitextract_5dm82u6t/
├── .gitignore
├── .gitlab-ci.yml
├── .indentignore
├── AUTHORS
├── COPYING
├── ChangeLog
├── MAINTAINERS
├── NEWS
├── README
├── README.static-linking
├── RELEASE
├── REQUIREMENTS
├── data/
│ ├── meson.build
│ └── targets/
│ ├── device/
│ │ └── dvd.gep
│ ├── file-extension/
│ │ ├── avi.gep
│ │ ├── flv.gep
│ │ ├── mkv.gep
│ │ ├── mp3.gep
│ │ ├── mp4.gep
│ │ ├── oga.gep
│ │ ├── ogv.gep
│ │ ├── ts.gep
│ │ └── webm.gep
│ └── online-service/
│ └── youtube.gep
├── docs/
│ ├── gst_api_version.in
│ ├── index.md
│ ├── libs/
│ │ ├── adaptivedemux/
│ │ │ ├── index.md
│ │ │ └── sitemap.txt
│ │ ├── audio/
│ │ │ ├── index.md
│ │ │ └── sitemap.txt
│ │ ├── base/
│ │ │ ├── index.md
│ │ │ └── sitemap.txt
│ │ ├── basecamerabinsrc/
│ │ │ ├── index.md
│ │ │ └── sitemap.txt
│ │ ├── codecparsers/
│ │ │ ├── index.md
│ │ │ └── sitemap.txt
│ │ ├── codecs/
│ │ │ ├── index.md
│ │ │ └── sitemap.txt
│ │ ├── insertbin/
│ │ │ ├── index.md
│ │ │ └── sitemap.txt
│ │ ├── mpegts/
│ │ │ ├── index.md
│ │ │ └── sitemap.txt
│ │ ├── opencv/
│ │ │ ├── index.md
│ │ │ └── sitemap.txt
│ │ ├── play/
│ │ │ ├── index.md
│ │ │ └── sitemap.txt
│ │ ├── player/
│ │ │ ├── index.md
│ │ │ └── sitemap.txt
│ │ ├── tools/
│ │ │ ├── index.md
│ │ │ └── sitemap.txt
│ │ ├── transcoder/
│ │ │ ├── index.md
│ │ │ └── sitemap.txt
│ │ ├── video/
│ │ │ ├── index.md
│ │ │ └── sitemap.txt
│ │ ├── vulkan/
│ │ │ ├── index.md
│ │ │ └── sitemap.txt
│ │ ├── vulkan-wayland/
│ │ │ ├── index.md
│ │ │ └── sitemap.txt
│ │ ├── vulkan-xcb/
│ │ │ ├── index.md
│ │ │ └── sitemap.txt
│ │ └── webrtc/
│ │ ├── index.md
│ │ └── sitemap.txt
│ ├── meson.build
│ ├── plugins/
│ │ ├── gst_plugins_cache.json
│ │ ├── index.md
│ │ ├── inspect/
│ │ │ ├── plugin-rist.xml
│ │ │ └── plugin-sctp.xml
│ │ └── sitemap.txt
│ ├── random/
│ │ ├── ChangeLog-0.8
│ │ ├── LICENSE
│ │ └── PORTED_09
│ └── sitemap.txt
├── ext/
│ ├── aes/
│ │ ├── gstaes.c
│ │ ├── gstaesdec.c
│ │ ├── gstaesdec.h
│ │ ├── gstaesenc.c
│ │ ├── gstaesenc.h
│ │ ├── gstaeshelper.c
│ │ ├── gstaeshelper.h
│ │ └── meson.build
│ ├── aom/
│ │ ├── gstaom.c
│ │ ├── gstaom.h
│ │ ├── gstav1dec.c
│ │ ├── gstav1dec.h
│ │ ├── gstav1enc.c
│ │ ├── gstav1enc.h
│ │ ├── gstav1utils.c
│ │ ├── gstav1utils.h
│ │ └── meson.build
│ ├── assrender/
│ │ ├── gstassrender.c
│ │ ├── gstassrender.h
│ │ └── meson.build
│ ├── avtp/
│ │ ├── gstavtp.c
│ │ ├── gstavtpaafdepay.c
│ │ ├── gstavtpaafdepay.h
│ │ ├── gstavtpaafpay.c
│ │ ├── gstavtpaafpay.h
│ │ ├── gstavtpbasedepayload.c
│ │ ├── gstavtpbasedepayload.h
│ │ ├── gstavtpbasepayload.c
│ │ ├── gstavtpbasepayload.h
│ │ ├── gstavtpcrfbase.c
│ │ ├── gstavtpcrfbase.h
│ │ ├── gstavtpcrfcheck.c
│ │ ├── gstavtpcrfcheck.h
│ │ ├── gstavtpcrfsync.c
│ │ ├── gstavtpcrfsync.h
│ │ ├── gstavtpcrfutil.c
│ │ ├── gstavtpcrfutil.h
│ │ ├── gstavtpcvfdepay.c
│ │ ├── gstavtpcvfdepay.h
│ │ ├── gstavtpcvfpay.c
│ │ ├── gstavtpcvfpay.h
│ │ ├── gstavtpsink.c
│ │ ├── gstavtpsink.h
│ │ ├── gstavtpsrc.c
│ │ ├── gstavtpsrc.h
│ │ └── meson.build
│ ├── bs2b/
│ │ ├── gstbs2b.c
│ │ ├── gstbs2b.h
│ │ └── meson.build
│ ├── bz2/
│ │ ├── gstbz2.c
│ │ ├── gstbz2dec.c
│ │ ├── gstbz2dec.h
│ │ ├── gstbz2enc.c
│ │ ├── gstbz2enc.h
│ │ └── meson.build
│ ├── chromaprint/
│ │ ├── gstchromaprint.c
│ │ ├── gstchromaprint.h
│ │ └── meson.build
│ ├── closedcaption/
│ │ ├── bcd.h
│ │ ├── bit_slicer.c
│ │ ├── bit_slicer.h
│ │ ├── decoder.c
│ │ ├── decoder.h
│ │ ├── gstcccombiner.c
│ │ ├── gstcccombiner.h
│ │ ├── gstccconverter.c
│ │ ├── gstccconverter.h
│ │ ├── gstccextractor.c
│ │ ├── gstccextractor.h
│ │ ├── gstcea708decoder.c
│ │ ├── gstcea708decoder.h
│ │ ├── gstceaccoverlay.c
│ │ ├── gstceaccoverlay.h
│ │ ├── gstclosedcaption.c
│ │ ├── gstline21dec.c
│ │ ├── gstline21dec.h
│ │ ├── gstline21enc.c
│ │ ├── gstline21enc.h
│ │ ├── hamm.h
│ │ ├── io-sim.c
│ │ ├── io-sim.h
│ │ ├── macros.h
│ │ ├── meson.build
│ │ ├── misc.h
│ │ ├── raw_decoder.c
│ │ ├── raw_decoder.h
│ │ ├── sampling_par.c
│ │ ├── sampling_par.h
│ │ └── sliced.h
│ ├── colormanagement/
│ │ ├── gstcolormanagement.c
│ │ ├── gstlcms.c
│ │ ├── gstlcms.h
│ │ └── meson.build
│ ├── curl/
│ │ ├── curltask.h
│ │ ├── gstcurl.c
│ │ ├── gstcurlbasesink.c
│ │ ├── gstcurlbasesink.h
│ │ ├── gstcurldefaults.h
│ │ ├── gstcurlelement.c
│ │ ├── gstcurlelements.h
│ │ ├── gstcurlfilesink.c
│ │ ├── gstcurlfilesink.h
│ │ ├── gstcurlftpsink.c
│ │ ├── gstcurlftpsink.h
│ │ ├── gstcurlhttpsink.c
│ │ ├── gstcurlhttpsink.h
│ │ ├── gstcurlhttpsrc.c
│ │ ├── gstcurlhttpsrc.h
│ │ ├── gstcurlqueue.c
│ │ ├── gstcurlqueue.h
│ │ ├── gstcurlsftpsink.c
│ │ ├── gstcurlsftpsink.h
│ │ ├── gstcurlsmtpsink.c
│ │ ├── gstcurlsmtpsink.h
│ │ ├── gstcurlsshsink.c
│ │ ├── gstcurlsshsink.h
│ │ ├── gstcurltlssink.c
│ │ ├── gstcurltlssink.h
│ │ └── meson.build
│ ├── dash/
│ │ ├── gstdash_debug.h
│ │ ├── gstdashdemux.c
│ │ ├── gstdashdemux.h
│ │ ├── gstdashsink.c
│ │ ├── gstdashsink.h
│ │ ├── gstmpdadaptationsetnode.c
│ │ ├── gstmpdadaptationsetnode.h
│ │ ├── gstmpdbaseurlnode.c
│ │ ├── gstmpdbaseurlnode.h
│ │ ├── gstmpdclient.c
│ │ ├── gstmpdclient.h
│ │ ├── gstmpdcontentcomponentnode.c
│ │ ├── gstmpdcontentcomponentnode.h
│ │ ├── gstmpddescriptortypenode.c
│ │ ├── gstmpddescriptortypenode.h
│ │ ├── gstmpdhelper.c
│ │ ├── gstmpdhelper.h
│ │ ├── gstmpdlocationnode.c
│ │ ├── gstmpdlocationnode.h
│ │ ├── gstmpdmetricsnode.c
│ │ ├── gstmpdmetricsnode.h
│ │ ├── gstmpdmetricsrangenode.c
│ │ ├── gstmpdmetricsrangenode.h
│ │ ├── gstmpdmultsegmentbasenode.c
│ │ ├── gstmpdmultsegmentbasenode.h
│ │ ├── gstmpdnode.c
│ │ ├── gstmpdnode.h
│ │ ├── gstmpdparser.c
│ │ ├── gstmpdparser.h
│ │ ├── gstmpdperiodnode.c
│ │ ├── gstmpdperiodnode.h
│ │ ├── gstmpdprograminformationnode.c
│ │ ├── gstmpdprograminformationnode.h
│ │ ├── gstmpdreportingnode.c
│ │ ├── gstmpdreportingnode.h
│ │ ├── gstmpdrepresentationbasenode.c
│ │ ├── gstmpdrepresentationbasenode.h
│ │ ├── gstmpdrepresentationnode.c
│ │ ├── gstmpdrepresentationnode.h
│ │ ├── gstmpdrootnode.c
│ │ ├── gstmpdrootnode.h
│ │ ├── gstmpdsegmentbasenode.c
│ │ ├── gstmpdsegmentbasenode.h
│ │ ├── gstmpdsegmentlistnode.c
│ │ ├── gstmpdsegmentlistnode.h
│ │ ├── gstmpdsegmenttemplatenode.c
│ │ ├── gstmpdsegmenttemplatenode.h
│ │ ├── gstmpdsegmenttimelinenode.c
│ │ ├── gstmpdsegmenttimelinenode.h
│ │ ├── gstmpdsegmenturlnode.c
│ │ ├── gstmpdsegmenturlnode.h
│ │ ├── gstmpdsnode.c
│ │ ├── gstmpdsnode.h
│ │ ├── gstmpdsubrepresentationnode.c
│ │ ├── gstmpdsubrepresentationnode.h
│ │ ├── gstmpdsubsetnode.c
│ │ ├── gstmpdsubsetnode.h
│ │ ├── gstmpdurltypenode.c
│ │ ├── gstmpdurltypenode.h
│ │ ├── gstmpdutctimingnode.c
│ │ ├── gstmpdutctimingnode.h
│ │ ├── gstplugin.c
│ │ ├── gstxmlhelper.c
│ │ ├── gstxmlhelper.h
│ │ └── meson.build
│ ├── dc1394/
│ │ ├── gstdc1394src.c
│ │ ├── gstdc1394src.h
│ │ └── meson.build
│ ├── directfb/
│ │ ├── dfb-example.c
│ │ ├── dfbvideosink.c
│ │ ├── dfbvideosink.h
│ │ └── meson.build
│ ├── dtls/
│ │ ├── README
│ │ ├── gstdtlsagent.c
│ │ ├── gstdtlsagent.h
│ │ ├── gstdtlscertificate.c
│ │ ├── gstdtlscertificate.h
│ │ ├── gstdtlsconnection.c
│ │ ├── gstdtlsconnection.h
│ │ ├── gstdtlsdec.c
│ │ ├── gstdtlsdec.h
│ │ ├── gstdtlselement.c
│ │ ├── gstdtlselements.h
│ │ ├── gstdtlsenc.c
│ │ ├── gstdtlsenc.h
│ │ ├── gstdtlssrtpbin.c
│ │ ├── gstdtlssrtpbin.h
│ │ ├── gstdtlssrtpdec.c
│ │ ├── gstdtlssrtpdec.h
│ │ ├── gstdtlssrtpdemux.c
│ │ ├── gstdtlssrtpdemux.h
│ │ ├── gstdtlssrtpenc.c
│ │ ├── gstdtlssrtpenc.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── dts/
│ │ ├── gstdtsdec.c
│ │ ├── gstdtsdec.h
│ │ └── meson.build
│ ├── faac/
│ │ ├── gstfaac.c
│ │ ├── gstfaac.h
│ │ └── meson.build
│ ├── faad/
│ │ ├── gstfaad.c
│ │ ├── gstfaad.h
│ │ └── meson.build
│ ├── fdkaac/
│ │ ├── gstfdkaac.c
│ │ ├── gstfdkaac.h
│ │ ├── gstfdkaacdec.c
│ │ ├── gstfdkaacdec.h
│ │ ├── gstfdkaacenc.c
│ │ ├── gstfdkaacenc.h
│ │ ├── gstfdkaacplugin.c
│ │ └── meson.build
│ ├── flite/
│ │ ├── gstflite.c
│ │ ├── gstflitetestsrc.c
│ │ └── meson.build
│ ├── fluidsynth/
│ │ ├── gstfluiddec.c
│ │ ├── gstfluiddec.h
│ │ └── meson.build
│ ├── gme/
│ │ ├── gstgme.c
│ │ ├── gstgme.h
│ │ └── meson.build
│ ├── gs/
│ │ ├── .clang-format
│ │ ├── README.md
│ │ ├── gstgs.cpp
│ │ ├── gstgscommon.cpp
│ │ ├── gstgscommon.h
│ │ ├── gstgssink.cpp
│ │ ├── gstgssink.h
│ │ ├── gstgssrc.cpp
│ │ ├── gstgssrc.h
│ │ └── meson.build
│ ├── gsm/
│ │ ├── gstgsm.c
│ │ ├── gstgsmdec.c
│ │ ├── gstgsmdec.h
│ │ ├── gstgsmenc.c
│ │ ├── gstgsmenc.h
│ │ └── meson.build
│ ├── hls/
│ │ ├── gsthlsdemux-util.c
│ │ ├── gsthlsdemux.c
│ │ ├── gsthlsdemux.h
│ │ ├── gsthlselement.c
│ │ ├── gsthlselements.h
│ │ ├── gsthlsplugin.c
│ │ ├── gsthlssink.c
│ │ ├── gsthlssink.h
│ │ ├── gsthlssink2.c
│ │ ├── gsthlssink2.h
│ │ ├── gstm3u8playlist.c
│ │ ├── gstm3u8playlist.h
│ │ ├── m3u8.c
│ │ ├── m3u8.h
│ │ └── meson.build
│ ├── iqa/
│ │ ├── iqa.c
│ │ ├── iqa.h
│ │ └── meson.build
│ ├── isac/
│ │ ├── gstisac.c
│ │ ├── gstisacdec.c
│ │ ├── gstisacdec.h
│ │ ├── gstisacenc.c
│ │ ├── gstisacenc.h
│ │ ├── gstisacutils.c
│ │ ├── gstisacutils.h
│ │ └── meson.build
│ ├── kate/
│ │ ├── README
│ │ ├── gstkate.c
│ │ ├── gstkatedec.c
│ │ ├── gstkatedec.h
│ │ ├── gstkateelement.c
│ │ ├── gstkateelements.h
│ │ ├── gstkateenc.c
│ │ ├── gstkateenc.h
│ │ ├── gstkateparse.c
│ │ ├── gstkateparse.h
│ │ ├── gstkatespu.c
│ │ ├── gstkatespu.h
│ │ ├── gstkatetag.c
│ │ ├── gstkatetag.h
│ │ ├── gstkatetiger.c
│ │ ├── gstkatetiger.h
│ │ ├── gstkateutil.c
│ │ ├── gstkateutil.h
│ │ └── meson.build
│ ├── ladspa/
│ │ ├── gstladspa.c
│ │ ├── gstladspa.h
│ │ ├── gstladspafilter.c
│ │ ├── gstladspafilter.h
│ │ ├── gstladspasink.c
│ │ ├── gstladspasink.h
│ │ ├── gstladspasource.c
│ │ ├── gstladspasource.h
│ │ ├── gstladspautils.c
│ │ ├── gstladspautils.h
│ │ └── meson.build
│ ├── ldac/
│ │ ├── gstldacenc.c
│ │ ├── gstldacenc.h
│ │ ├── ldac-plugin.c
│ │ └── meson.build
│ ├── libde265/
│ │ ├── gstlibde265.c
│ │ ├── libde265-dec.c
│ │ ├── libde265-dec.h
│ │ └── meson.build
│ ├── libmms/
│ │ ├── gstmms.c
│ │ ├── gstmms.h
│ │ └── meson.build
│ ├── lv2/
│ │ ├── README
│ │ ├── calf-lv2-port-groups.patch
│ │ ├── gstlv2.c
│ │ ├── gstlv2.h
│ │ ├── gstlv2filter.c
│ │ ├── gstlv2source.c
│ │ ├── gstlv2utils.c
│ │ ├── gstlv2utils.h
│ │ ├── meson.build
│ │ └── swh-lv2-port-groups.patch
│ ├── mdns/
│ │ ├── gstmicrodns.c
│ │ ├── gstmicrodnsdevice.c
│ │ ├── gstmicrodnsdevice.h
│ │ └── meson.build
│ ├── meson.build
│ ├── modplug/
│ │ ├── gstmodplug.cc
│ │ ├── gstmodplug.h
│ │ └── meson.build
│ ├── mpeg2enc/
│ │ ├── gstmpeg2enc.cc
│ │ ├── gstmpeg2enc.hh
│ │ ├── gstmpeg2encoder.cc
│ │ ├── gstmpeg2encoder.hh
│ │ ├── gstmpeg2encoptions.cc
│ │ ├── gstmpeg2encoptions.hh
│ │ ├── gstmpeg2encpicturereader.cc
│ │ ├── gstmpeg2encpicturereader.hh
│ │ ├── gstmpeg2encstreamwriter.cc
│ │ ├── gstmpeg2encstreamwriter.hh
│ │ └── meson.build
│ ├── mplex/
│ │ ├── gstmplex.cc
│ │ ├── gstmplex.hh
│ │ ├── gstmplexibitstream.cc
│ │ ├── gstmplexibitstream.hh
│ │ ├── gstmplexjob.cc
│ │ ├── gstmplexjob.hh
│ │ ├── gstmplexoutputstream.cc
│ │ ├── gstmplexoutputstream.hh
│ │ └── meson.build
│ ├── musepack/
│ │ ├── gstmusepackdec.c
│ │ ├── gstmusepackdec.h
│ │ ├── gstmusepackreader.c
│ │ ├── gstmusepackreader.h
│ │ └── meson.build
│ ├── neon/
│ │ ├── gstneonhttpsrc.c
│ │ ├── gstneonhttpsrc.h
│ │ └── meson.build
│ ├── ofa/
│ │ ├── gstofa.c
│ │ ├── gstofa.h
│ │ └── meson.build
│ ├── onnx/
│ │ ├── gstonnx.c
│ │ ├── gstonnxclient.cpp
│ │ ├── gstonnxclient.h
│ │ ├── gstonnxelement.c
│ │ ├── gstonnxelement.h
│ │ ├── gstonnxobjectdetector.cpp
│ │ ├── gstonnxobjectdetector.h
│ │ └── meson.build
│ ├── openal/
│ │ ├── gstopenal.c
│ │ ├── gstopenalelement.c
│ │ ├── gstopenalelements.h
│ │ ├── gstopenalsink.c
│ │ ├── gstopenalsink.h
│ │ ├── gstopenalsrc.c
│ │ ├── gstopenalsrc.h
│ │ └── meson.build
│ ├── openaptx/
│ │ ├── gstopenaptxdec.c
│ │ ├── gstopenaptxdec.h
│ │ ├── gstopenaptxenc.c
│ │ ├── gstopenaptxenc.h
│ │ ├── meson.build
│ │ ├── openaptx-plugin.c
│ │ └── openaptx-plugin.h
│ ├── opencv/
│ │ ├── MotionCells.cpp
│ │ ├── MotionCells.h
│ │ ├── cameraevent.cpp
│ │ ├── cameraevent.hpp
│ │ ├── camerautils.cpp
│ │ ├── camerautils.hpp
│ │ ├── fist.xml
│ │ ├── gstcameracalibrate.cpp
│ │ ├── gstcameracalibrate.h
│ │ ├── gstcameraundistort.cpp
│ │ ├── gstcameraundistort.h
│ │ ├── gstcvdilate.cpp
│ │ ├── gstcvdilate.h
│ │ ├── gstcvdilateerode.cpp
│ │ ├── gstcvdilateerode.h
│ │ ├── gstcvequalizehist.cpp
│ │ ├── gstcvequalizehist.h
│ │ ├── gstcverode.cpp
│ │ ├── gstcverode.h
│ │ ├── gstcvlaplace.cpp
│ │ ├── gstcvlaplace.h
│ │ ├── gstcvsmooth.cpp
│ │ ├── gstcvsmooth.h
│ │ ├── gstcvsobel.cpp
│ │ ├── gstcvsobel.h
│ │ ├── gstcvtracker.cpp
│ │ ├── gstcvtracker.h
│ │ ├── gstdewarp.cpp
│ │ ├── gstdewarp.h
│ │ ├── gstdisparity.cpp
│ │ ├── gstdisparity.h
│ │ ├── gstedgedetect.cpp
│ │ ├── gstedgedetect.h
│ │ ├── gstfaceblur.cpp
│ │ ├── gstfaceblur.h
│ │ ├── gstfacedetect.cpp
│ │ ├── gstfacedetect.h
│ │ ├── gstgrabcut.cpp
│ │ ├── gstgrabcut.h
│ │ ├── gsthanddetect.cpp
│ │ ├── gsthanddetect.h
│ │ ├── gstmotioncells.cpp
│ │ ├── gstmotioncells.h
│ │ ├── gstopencv.cpp
│ │ ├── gstretinex.cpp
│ │ ├── gstretinex.h
│ │ ├── gstsegmentation.cpp
│ │ ├── gstsegmentation.h
│ │ ├── gstskindetect.cpp
│ │ ├── gstskindetect.h
│ │ ├── gsttemplatematch.cpp
│ │ ├── gsttemplatematch.h
│ │ ├── gsttextoverlay.cpp
│ │ ├── gsttextoverlay.h
│ │ ├── meson.build
│ │ ├── motioncells_wrapper.cpp
│ │ ├── motioncells_wrapper.h
│ │ └── palm.xml
│ ├── openexr/
│ │ ├── gstopenexr.c
│ │ ├── gstopenexr.h
│ │ ├── gstopenexrdec.cpp
│ │ ├── gstopenexrdec.h
│ │ └── meson.build
│ ├── openh264/
│ │ ├── gstopenh264dec.cpp
│ │ ├── gstopenh264dec.h
│ │ ├── gstopenh264element.c
│ │ ├── gstopenh264elements.h
│ │ ├── gstopenh264enc.cpp
│ │ ├── gstopenh264enc.h
│ │ ├── gstopenh264plugin.c
│ │ └── meson.build
│ ├── openjpeg/
│ │ ├── gstopenjpeg.c
│ │ ├── gstopenjpeg.h
│ │ ├── gstopenjpegdec.c
│ │ ├── gstopenjpegdec.h
│ │ ├── gstopenjpegenc.c
│ │ ├── gstopenjpegenc.h
│ │ └── meson.build
│ ├── openmpt/
│ │ ├── gstopenmptdec.c
│ │ ├── gstopenmptdec.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── openni2/
│ │ ├── gstopenni2.cpp
│ │ ├── gstopenni2src.cpp
│ │ ├── gstopenni2src.h
│ │ └── meson.build
│ ├── opus/
│ │ ├── gstopus.c
│ │ ├── gstopusheader.c
│ │ ├── gstopusheader.h
│ │ ├── gstopusparse.c
│ │ ├── gstopusparse.h
│ │ └── meson.build
│ ├── qroverlay/
│ │ ├── gstbaseqroverlay.c
│ │ ├── gstbaseqroverlay.h
│ │ ├── gstdebugqroverlay.c
│ │ ├── gstdebugqroverlay.h
│ │ ├── gstqroverlay.c
│ │ ├── gstqroverlay.h
│ │ ├── gstqroverlayelement.c
│ │ ├── gstqroverlayelements.h
│ │ ├── gstqroverlayplugin.c
│ │ └── meson.build
│ ├── resindvd/
│ │ ├── gstmpegdefs.h
│ │ ├── gstmpegdemux.c
│ │ ├── gstmpegdemux.h
│ │ ├── gstmpegdesc.c
│ │ ├── gstmpegdesc.h
│ │ ├── gstpesfilter.c
│ │ ├── gstpesfilter.h
│ │ ├── meson.build
│ │ ├── plugin.c
│ │ ├── resin-play
│ │ ├── resin-play2
│ │ ├── resindvdbin.c
│ │ ├── resindvdbin.h
│ │ ├── resindvdsrc.c
│ │ ├── resindvdsrc.h
│ │ ├── rsndec.c
│ │ ├── rsndec.h
│ │ ├── rsninputselector.c
│ │ ├── rsninputselector.h
│ │ ├── rsnparsetter.c
│ │ └── rsnparsetter.h
│ ├── rsvg/
│ │ ├── gstrsvg.c
│ │ ├── gstrsvgdec.c
│ │ ├── gstrsvgdec.h
│ │ ├── gstrsvgoverlay.c
│ │ ├── gstrsvgoverlay.h
│ │ └── meson.build
│ ├── rtmp/
│ │ ├── README
│ │ ├── gstrtmp.c
│ │ ├── gstrtmpelement.c
│ │ ├── gstrtmpelements.h
│ │ ├── gstrtmpsink.c
│ │ ├── gstrtmpsink.h
│ │ ├── gstrtmpsrc.c
│ │ ├── gstrtmpsrc.h
│ │ └── meson.build
│ ├── sbc/
│ │ ├── gstsbcdec.c
│ │ ├── gstsbcdec.h
│ │ ├── gstsbcenc.c
│ │ ├── gstsbcenc.h
│ │ ├── meson.build
│ │ └── sbc-plugin.c
│ ├── sctp/
│ │ ├── gstsctpdec.c
│ │ ├── gstsctpdec.h
│ │ ├── gstsctpenc.c
│ │ ├── gstsctpenc.h
│ │ ├── gstsctpplugin.c
│ │ ├── meson.build
│ │ ├── sctpassociation.c
│ │ ├── sctpassociation.h
│ │ └── usrsctp/
│ │ ├── .gitignore
│ │ ├── LICENSE.md
│ │ ├── meson.build
│ │ ├── meson_options.txt
│ │ └── usrsctplib/
│ │ ├── Makefile.am
│ │ ├── meson.build
│ │ ├── netinet/
│ │ │ ├── meson.build
│ │ │ ├── sctp.h
│ │ │ ├── sctp_asconf.c
│ │ │ ├── sctp_asconf.h
│ │ │ ├── sctp_auth.c
│ │ │ ├── sctp_auth.h
│ │ │ ├── sctp_bsd_addr.c
│ │ │ ├── sctp_bsd_addr.h
│ │ │ ├── sctp_callout.c
│ │ │ ├── sctp_callout.h
│ │ │ ├── sctp_cc_functions.c
│ │ │ ├── sctp_constants.h
│ │ │ ├── sctp_crc32.c
│ │ │ ├── sctp_crc32.h
│ │ │ ├── sctp_header.h
│ │ │ ├── sctp_indata.c
│ │ │ ├── sctp_indata.h
│ │ │ ├── sctp_input.c
│ │ │ ├── sctp_input.h
│ │ │ ├── sctp_lock_userspace.h
│ │ │ ├── sctp_os.h
│ │ │ ├── sctp_os_userspace.h
│ │ │ ├── sctp_output.c
│ │ │ ├── sctp_output.h
│ │ │ ├── sctp_pcb.c
│ │ │ ├── sctp_pcb.h
│ │ │ ├── sctp_peeloff.c
│ │ │ ├── sctp_peeloff.h
│ │ │ ├── sctp_process_lock.h
│ │ │ ├── sctp_sha1.c
│ │ │ ├── sctp_sha1.h
│ │ │ ├── sctp_ss_functions.c
│ │ │ ├── sctp_structs.h
│ │ │ ├── sctp_sysctl.c
│ │ │ ├── sctp_sysctl.h
│ │ │ ├── sctp_timer.c
│ │ │ ├── sctp_timer.h
│ │ │ ├── sctp_uio.h
│ │ │ ├── sctp_userspace.c
│ │ │ ├── sctp_usrreq.c
│ │ │ ├── sctp_var.h
│ │ │ ├── sctputil.c
│ │ │ └── sctputil.h
│ │ ├── netinet6/
│ │ │ ├── meson.build
│ │ │ ├── sctp6_usrreq.c
│ │ │ └── sctp6_var.h
│ │ ├── user_atomic.h
│ │ ├── user_environment.c
│ │ ├── user_environment.h
│ │ ├── user_inpcb.h
│ │ ├── user_ip6_var.h
│ │ ├── user_ip_icmp.h
│ │ ├── user_malloc.h
│ │ ├── user_mbuf.c
│ │ ├── user_mbuf.h
│ │ ├── user_queue.h
│ │ ├── user_recv_thread.c
│ │ ├── user_recv_thread.h
│ │ ├── user_route.h
│ │ ├── user_socket.c
│ │ ├── user_socketvar.h
│ │ ├── user_uma.h
│ │ └── usrsctp.h
│ ├── smoothstreaming/
│ │ ├── gstmssdemux.c
│ │ ├── gstmssdemux.h
│ │ ├── gstmssfragmentparser.c
│ │ ├── gstmssfragmentparser.h
│ │ ├── gstmssmanifest.c
│ │ ├── gstmssmanifest.h
│ │ ├── gstsmoothstreaming-plugin.c
│ │ └── meson.build
│ ├── sndfile/
│ │ ├── gstsf.c
│ │ ├── gstsfdec.c
│ │ ├── gstsfdec.h
│ │ ├── gstsfelement.c
│ │ ├── gstsfelements.h
│ │ ├── gstsfsink.c
│ │ ├── gstsfsink.h
│ │ ├── gstsfsrc.c
│ │ ├── gstsfsrc.h
│ │ └── meson.build
│ ├── soundtouch/
│ │ ├── gstbpmdetect.cc
│ │ ├── gstbpmdetect.hh
│ │ ├── gstpitch.cc
│ │ ├── gstpitch.hh
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── spandsp/
│ │ ├── gstdtmfdetect.c
│ │ ├── gstdtmfdetect.h
│ │ ├── gstspandsp.c
│ │ ├── gstspanplc.c
│ │ ├── gstspanplc.h
│ │ ├── gsttonegeneratesrc.c
│ │ ├── gsttonegeneratesrc.h
│ │ └── meson.build
│ ├── srt/
│ │ ├── gstsrt-enums.h
│ │ ├── gstsrt.c
│ │ ├── gstsrtelement.c
│ │ ├── gstsrtelements.h
│ │ ├── gstsrtobject.c
│ │ ├── gstsrtobject.h
│ │ ├── gstsrtplugin.c
│ │ ├── gstsrtsink.c
│ │ ├── gstsrtsink.h
│ │ ├── gstsrtsrc.c
│ │ ├── gstsrtsrc.h
│ │ └── meson.build
│ ├── srtp/
│ │ ├── gstsrtp.c
│ │ ├── gstsrtp.h
│ │ ├── gstsrtpdec.c
│ │ ├── gstsrtpdec.h
│ │ ├── gstsrtpelement.c
│ │ ├── gstsrtpelements.h
│ │ ├── gstsrtpenc.c
│ │ ├── gstsrtpenc.h
│ │ ├── gstsrtpenums.h
│ │ ├── gstsrtpplugin.c
│ │ └── meson.build
│ ├── svthevcenc/
│ │ ├── gstsvthevcenc.c
│ │ ├── gstsvthevcenc.h
│ │ └── meson.build
│ ├── teletextdec/
│ │ ├── gstteletextdec.c
│ │ ├── gstteletextdec.h
│ │ └── meson.build
│ ├── ttml/
│ │ ├── gstttmlelement.c
│ │ ├── gstttmlelements.h
│ │ ├── gstttmlparse.c
│ │ ├── gstttmlparse.h
│ │ ├── gstttmlplugin.c
│ │ ├── gstttmlrender.c
│ │ ├── gstttmlrender.h
│ │ ├── meson.build
│ │ ├── subtitle.c
│ │ ├── subtitle.h
│ │ ├── subtitlemeta.c
│ │ ├── subtitlemeta.h
│ │ ├── ttmlparse.c
│ │ └── ttmlparse.h
│ ├── voaacenc/
│ │ ├── gstvoaac.c
│ │ ├── gstvoaacenc.c
│ │ ├── gstvoaacenc.h
│ │ └── meson.build
│ ├── voamrwbenc/
│ │ ├── GstVoAmrwbEnc.prs
│ │ ├── gstvoamrwb.c
│ │ ├── gstvoamrwbenc.c
│ │ ├── gstvoamrwbenc.h
│ │ └── meson.build
│ ├── vulkan/
│ │ ├── gstvulkan.c
│ │ ├── gstvulkanelement.c
│ │ ├── gstvulkanelements.h
│ │ ├── meson.build
│ │ ├── shaders/
│ │ │ ├── ayuv_to_rgb.frag
│ │ │ ├── bin2array.py
│ │ │ ├── color_convert_generic.glsl
│ │ │ ├── identity.frag
│ │ │ ├── identity.vert
│ │ │ ├── meson.build
│ │ │ ├── nv12_to_rgb.frag
│ │ │ ├── rgb_to_ayuv.frag
│ │ │ ├── rgb_to_nv12.frag
│ │ │ ├── rgb_to_yuy2.frag
│ │ │ ├── swizzle.frag
│ │ │ ├── swizzle.glsl
│ │ │ ├── swizzle_and_clobber_alpha.frag
│ │ │ ├── upsample_ayuv.glsl
│ │ │ ├── upsample_nv12.glsl
│ │ │ ├── upsample_yuy2.glsl
│ │ │ ├── view_convert.frag
│ │ │ ├── view_defines.h
│ │ │ └── yuy2_to_rgb.frag
│ │ ├── vkcolorconvert.c
│ │ ├── vkcolorconvert.h
│ │ ├── vkdeviceprovider.c
│ │ ├── vkdeviceprovider.h
│ │ ├── vkdownload.c
│ │ ├── vkdownload.h
│ │ ├── vkimageidentity.c
│ │ ├── vkimageidentity.h
│ │ ├── vksink.c
│ │ ├── vksink.h
│ │ ├── vkupload.c
│ │ ├── vkupload.h
│ │ ├── vkviewconvert.c
│ │ └── vkviewconvert.h
│ ├── wayland/
│ │ ├── gstwaylandsink.c
│ │ ├── gstwaylandsink.h
│ │ ├── meson.build
│ │ ├── wlbuffer.c
│ │ ├── wlbuffer.h
│ │ ├── wldisplay.c
│ │ ├── wldisplay.h
│ │ ├── wllinuxdmabuf.c
│ │ ├── wllinuxdmabuf.h
│ │ ├── wlshmallocator.c
│ │ ├── wlshmallocator.h
│ │ ├── wlvideoformat.c
│ │ ├── wlvideoformat.h
│ │ ├── wlwindow.c
│ │ └── wlwindow.h
│ ├── webp/
│ │ ├── gstwebp.c
│ │ ├── gstwebpdec.c
│ │ ├── gstwebpdec.h
│ │ ├── gstwebpenc.c
│ │ ├── gstwebpenc.h
│ │ └── meson.build
│ ├── webrtc/
│ │ ├── fwd.h
│ │ ├── gstwebrtc.c
│ │ ├── gstwebrtcbin.c
│ │ ├── gstwebrtcbin.h
│ │ ├── gstwebrtcice.c
│ │ ├── gstwebrtcice.h
│ │ ├── gstwebrtcstats.c
│ │ ├── gstwebrtcstats.h
│ │ ├── icestream.c
│ │ ├── icestream.h
│ │ ├── meson.build
│ │ ├── nicetransport.c
│ │ ├── nicetransport.h
│ │ ├── transportreceivebin.c
│ │ ├── transportreceivebin.h
│ │ ├── transportsendbin.c
│ │ ├── transportsendbin.h
│ │ ├── transportstream.c
│ │ ├── transportstream.h
│ │ ├── utils.c
│ │ ├── utils.h
│ │ ├── webrtcdatachannel.c
│ │ ├── webrtcdatachannel.h
│ │ ├── webrtcsctptransport.c
│ │ ├── webrtcsctptransport.h
│ │ ├── webrtcsdp.c
│ │ ├── webrtcsdp.h
│ │ ├── webrtctransceiver.c
│ │ └── webrtctransceiver.h
│ ├── webrtcdsp/
│ │ ├── gstwebrtcdsp.cpp
│ │ ├── gstwebrtcdsp.h
│ │ ├── gstwebrtcdspplugin.cpp
│ │ ├── gstwebrtcechoprobe.cpp
│ │ ├── gstwebrtcechoprobe.h
│ │ └── meson.build
│ ├── wildmidi/
│ │ ├── README
│ │ ├── gstwildmididec.c
│ │ ├── gstwildmididec.h
│ │ └── meson.build
│ ├── wpe/
│ │ ├── WPEThreadedView.cpp
│ │ ├── WPEThreadedView.h
│ │ ├── gstwpe.cpp
│ │ ├── gstwpe.h
│ │ ├── gstwpesrcbin.cpp
│ │ ├── gstwpesrcbin.h
│ │ ├── gstwpevideosrc.cpp
│ │ ├── gstwpevideosrc.h
│ │ ├── meson.build
│ │ └── wpe-extension/
│ │ ├── gstwpeaudiosink.c
│ │ ├── gstwpebusmsgforwarder.c
│ │ ├── gstwpeextension.c
│ │ ├── gstwpeextension.h
│ │ └── meson.build
│ ├── x265/
│ │ ├── gstx265enc.c
│ │ ├── gstx265enc.h
│ │ └── meson.build
│ ├── zbar/
│ │ ├── gstzbar.c
│ │ ├── gstzbar.h
│ │ └── meson.build
│ └── zxing/
│ ├── gstzxing.cpp
│ ├── gstzxing.h
│ ├── gstzxingplugin.c
│ └── meson.build
├── gst/
│ ├── accurip/
│ │ ├── gstaccurip.c
│ │ ├── gstaccurip.h
│ │ └── meson.build
│ ├── adpcmdec/
│ │ ├── adpcmdec.c
│ │ └── meson.build
│ ├── adpcmenc/
│ │ ├── adpcmenc.c
│ │ └── meson.build
│ ├── aiff/
│ │ ├── aiff.c
│ │ ├── aiffelements.h
│ │ ├── aiffmux.c
│ │ ├── aiffmux.h
│ │ ├── aiffparse.c
│ │ ├── aiffparse.h
│ │ ├── gstaiffelement.c
│ │ └── meson.build
│ ├── asfmux/
│ │ ├── gstasf.c
│ │ ├── gstasfmux.c
│ │ ├── gstasfmux.h
│ │ ├── gstasfobjects.c
│ │ ├── gstasfobjects.h
│ │ ├── gstasfparse.c
│ │ ├── gstasfparse.h
│ │ ├── gstrtpasfpay.c
│ │ ├── gstrtpasfpay.h
│ │ └── meson.build
│ ├── audiobuffersplit/
│ │ ├── gstaudiobuffersplit.c
│ │ ├── gstaudiobuffersplit.h
│ │ └── meson.build
│ ├── audiofxbad/
│ │ ├── gstaudiochannelmix.c
│ │ ├── gstaudiochannelmix.h
│ │ ├── gstaudiofxbad.c
│ │ └── meson.build
│ ├── audiolatency/
│ │ ├── gstaudiolatency.c
│ │ ├── gstaudiolatency.h
│ │ └── meson.build
│ ├── audiomixmatrix/
│ │ ├── gstaudiomixmatrix.c
│ │ ├── gstaudiomixmatrix.h
│ │ └── meson.build
│ ├── audiovisualizers/
│ │ ├── README
│ │ ├── gstdrawhelpers.h
│ │ ├── gstspacescope.c
│ │ ├── gstspacescope.h
│ │ ├── gstspectrascope.c
│ │ ├── gstspectrascope.h
│ │ ├── gstsynaescope.c
│ │ ├── gstsynaescope.h
│ │ ├── gstwavescope.c
│ │ ├── gstwavescope.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── autoconvert/
│ │ ├── gstautoconvert.c
│ │ ├── gstautoconvert.h
│ │ ├── gstautovideoconvert.c
│ │ ├── gstautovideoconvert.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── bayer/
│ │ ├── gstbayer.c
│ │ ├── gstbayer2rgb.c
│ │ ├── gstbayerelements.h
│ │ ├── gstbayerorc-dist.c
│ │ ├── gstbayerorc-dist.h
│ │ ├── gstbayerorc.orc
│ │ ├── gstrgb2bayer.c
│ │ ├── gstrgb2bayer.h
│ │ └── meson.build
│ ├── camerabin2/
│ │ ├── PORTING
│ │ ├── camerabin2-src.txt
│ │ ├── camerabingeneral.c
│ │ ├── camerabingeneral.h
│ │ ├── gstcamerabin2.c
│ │ ├── gstcamerabin2.h
│ │ ├── gstdigitalzoom.c
│ │ ├── gstdigitalzoom.h
│ │ ├── gstplugin.c
│ │ ├── gstviewfinderbin.c
│ │ ├── gstviewfinderbin.h
│ │ ├── gstwrappercamerabinsrc.c
│ │ ├── gstwrappercamerabinsrc.h
│ │ └── meson.build
│ ├── codecalpha/
│ │ ├── gstalphacombine.c
│ │ ├── gstalphacombine.h
│ │ ├── gstalphadecodebin.c
│ │ ├── gstalphadecodebin.h
│ │ ├── gstcodecalphademux.c
│ │ ├── gstcodecalphademux.h
│ │ ├── gstplugin.c
│ │ ├── gstvp8alphadecodebin.c
│ │ ├── gstvp8alphadecodebin.h
│ │ ├── gstvp9alphadecodebin.c
│ │ ├── gstvp9alphadecodebin.h
│ │ └── meson.build
│ ├── coloreffects/
│ │ ├── gstchromahold.c
│ │ ├── gstchromahold.h
│ │ ├── gstcoloreffects.c
│ │ ├── gstcoloreffects.h
│ │ ├── gstplugin.c
│ │ └── meson.build
│ ├── debugutils/
│ │ ├── debugutilsbad.c
│ │ ├── fpsdisplaysink.c
│ │ ├── fpsdisplaysink.h
│ │ ├── gstchecksumsink.c
│ │ ├── gstchecksumsink.h
│ │ ├── gstchopmydata.c
│ │ ├── gstchopmydata.h
│ │ ├── gstclockselect.c
│ │ ├── gstclockselect.h
│ │ ├── gstcompare.c
│ │ ├── gstcompare.h
│ │ ├── gstdebugspy.c
│ │ ├── gstdebugspy.h
│ │ ├── gstdebugutilsbadelements.h
│ │ ├── gsterrorignore.c
│ │ ├── gsterrorignore.h
│ │ ├── gstfakeaudiosink.c
│ │ ├── gstfakeaudiosink.h
│ │ ├── gstfakesinkutils.c
│ │ ├── gstfakesinkutils.h
│ │ ├── gstfakevideosink.c
│ │ ├── gstfakevideosink.h
│ │ ├── gsttestsrcbin.c
│ │ ├── gstvideocodectestsink.c
│ │ ├── gstvideocodectestsink.h
│ │ ├── gstwatchdog.c
│ │ ├── gstwatchdog.h
│ │ └── meson.build
│ ├── dvbsubenc/
│ │ ├── gstdvbsubenc-util.c
│ │ ├── gstdvbsubenc.c
│ │ ├── gstdvbsubenc.h
│ │ ├── libimagequant/
│ │ │ ├── CHANGELOG
│ │ │ ├── COPYRIGHT
│ │ │ ├── README.md
│ │ │ ├── blur.c
│ │ │ ├── blur.h
│ │ │ ├── libimagequant.c
│ │ │ ├── libimagequant.h
│ │ │ ├── mediancut.c
│ │ │ ├── mediancut.h
│ │ │ ├── mempool.c
│ │ │ ├── mempool.h
│ │ │ ├── nearest.c
│ │ │ ├── nearest.h
│ │ │ ├── pam.c
│ │ │ ├── pam.h
│ │ │ ├── viter.c
│ │ │ └── viter.h
│ │ └── meson.build
│ ├── dvbsuboverlay/
│ │ ├── TODO
│ │ ├── dvb-sub.c
│ │ ├── dvb-sub.h
│ │ ├── gstdvbsuboverlay.c
│ │ ├── gstdvbsuboverlay.h
│ │ └── meson.build
│ ├── dvdspu/
│ │ ├── Notes.txt
│ │ ├── gstdvdspu-render.c
│ │ ├── gstdvdspu.c
│ │ ├── gstdvdspu.h
│ │ ├── gstspu-common.h
│ │ ├── gstspu-pgs.c
│ │ ├── gstspu-pgs.h
│ │ ├── gstspu-vobsub-render.c
│ │ ├── gstspu-vobsub.c
│ │ ├── gstspu-vobsub.h
│ │ └── meson.build
│ ├── faceoverlay/
│ │ ├── gstfaceoverlay.c
│ │ ├── gstfaceoverlay.h
│ │ └── meson.build
│ ├── festival/
│ │ ├── gstfestival.c
│ │ ├── gstfestival.h
│ │ └── meson.build
│ ├── fieldanalysis/
│ │ ├── gstfieldanalysis.c
│ │ ├── gstfieldanalysis.h
│ │ ├── gstfieldanalysisorc-dist.c
│ │ ├── gstfieldanalysisorc-dist.h
│ │ ├── gstfieldanalysisorc.orc
│ │ └── meson.build
│ ├── freeverb/
│ │ ├── GstFreeverb.prs
│ │ ├── gstfreeverb.c
│ │ ├── gstfreeverb.h
│ │ └── meson.build
│ ├── frei0r/
│ │ ├── frei0r.h
│ │ ├── gstfrei0r.c
│ │ ├── gstfrei0r.h
│ │ ├── gstfrei0rfilter.c
│ │ ├── gstfrei0rfilter.h
│ │ ├── gstfrei0rmixer.c
│ │ ├── gstfrei0rmixer.h
│ │ ├── gstfrei0rsrc.c
│ │ ├── gstfrei0rsrc.h
│ │ └── meson.build
│ ├── gaudieffects/
│ │ ├── blur-example.py
│ │ ├── burn-example.py
│ │ ├── gstburn.c
│ │ ├── gstburn.h
│ │ ├── gstchromium.c
│ │ ├── gstchromium.h
│ │ ├── gstdilate.c
│ │ ├── gstdilate.h
│ │ ├── gstdodge.c
│ │ ├── gstdodge.h
│ │ ├── gstexclusion.c
│ │ ├── gstexclusion.h
│ │ ├── gstgaudieffectsorc-dist.c
│ │ ├── gstgaudieffectsorc-dist.h
│ │ ├── gstgaudieffectsorc.orc
│ │ ├── gstgaussblur.c
│ │ ├── gstgaussblur.h
│ │ ├── gstplugin.c
│ │ ├── gstsolarize.c
│ │ ├── gstsolarize.h
│ │ └── meson.build
│ ├── gdp/
│ │ ├── README
│ │ ├── dataprotocol.c
│ │ ├── dataprotocol.h
│ │ ├── dp-private.h
│ │ ├── gstgdp.c
│ │ ├── gstgdpdepay.c
│ │ ├── gstgdpdepay.h
│ │ ├── gstgdpelement.c
│ │ ├── gstgdpelements.h
│ │ ├── gstgdppay.c
│ │ ├── gstgdppay.h
│ │ └── meson.build
│ ├── geometrictransform/
│ │ ├── geometricmath.c
│ │ ├── geometricmath.h
│ │ ├── gstbulge.c
│ │ ├── gstbulge.h
│ │ ├── gstcircle.c
│ │ ├── gstcircle.h
│ │ ├── gstcirclegeometrictransform.c
│ │ ├── gstcirclegeometrictransform.h
│ │ ├── gstdiffuse.c
│ │ ├── gstdiffuse.h
│ │ ├── gstfisheye.c
│ │ ├── gstfisheye.h
│ │ ├── gstgeometrictransform.c
│ │ ├── gstgeometrictransform.h
│ │ ├── gstkaleidoscope.c
│ │ ├── gstkaleidoscope.h
│ │ ├── gstmarble.c
│ │ ├── gstmarble.h
│ │ ├── gstmirror.c
│ │ ├── gstmirror.h
│ │ ├── gstperspective.c
│ │ ├── gstperspective.h
│ │ ├── gstpinch.c
│ │ ├── gstpinch.h
│ │ ├── gstrotate.c
│ │ ├── gstrotate.h
│ │ ├── gstsphere.c
│ │ ├── gstsphere.h
│ │ ├── gstsquare.c
│ │ ├── gstsquare.h
│ │ ├── gststretch.c
│ │ ├── gststretch.h
│ │ ├── gsttunnel.c
│ │ ├── gsttunnel.h
│ │ ├── gsttwirl.c
│ │ ├── gsttwirl.h
│ │ ├── gstwaterripple.c
│ │ ├── gstwaterripple.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── id3tag/
│ │ ├── gstid3mux.c
│ │ ├── gstid3mux.h
│ │ ├── id3tag.c
│ │ ├── id3tag.h
│ │ └── meson.build
│ ├── inter/
│ │ ├── gstinter.c
│ │ ├── gstinteraudiosink.c
│ │ ├── gstinteraudiosink.h
│ │ ├── gstinteraudiosrc.c
│ │ ├── gstinteraudiosrc.h
│ │ ├── gstintersubsink.c
│ │ ├── gstintersubsink.h
│ │ ├── gstintersubsrc.c
│ │ ├── gstintersubsrc.h
│ │ ├── gstintersurface.c
│ │ ├── gstintersurface.h
│ │ ├── gstintertest.c
│ │ ├── gstintervideosink.c
│ │ ├── gstintervideosink.h
│ │ ├── gstintervideosrc.c
│ │ ├── gstintervideosrc.h
│ │ └── meson.build
│ ├── interlace/
│ │ ├── gstinterlace.c
│ │ └── meson.build
│ ├── ivfparse/
│ │ ├── gstivfparse.c
│ │ ├── gstivfparse.h
│ │ └── meson.build
│ ├── ivtc/
│ │ ├── gstcombdetect.c
│ │ ├── gstcombdetect.h
│ │ ├── gstivtc.c
│ │ ├── gstivtc.h
│ │ └── meson.build
│ ├── jp2kdecimator/
│ │ ├── gstjp2kdecimator.c
│ │ ├── gstjp2kdecimator.h
│ │ ├── jp2kcodestream.c
│ │ ├── jp2kcodestream.h
│ │ └── meson.build
│ ├── jpegformat/
│ │ ├── gstjifmux.c
│ │ ├── gstjifmux.h
│ │ ├── gstjpegformat.c
│ │ ├── gstjpegformat.h
│ │ ├── gstjpegparse.c
│ │ ├── gstjpegparse.h
│ │ └── meson.build
│ ├── librfb/
│ │ ├── d3des.c
│ │ ├── d3des.h
│ │ ├── gstrfbsrc.c
│ │ ├── gstrfbsrc.h
│ │ ├── meson.build
│ │ ├── rfbdecoder.c
│ │ └── rfbdecoder.h
│ ├── meson.build
│ ├── midi/
│ │ ├── meson.build
│ │ ├── midi.c
│ │ ├── midiparse.c
│ │ └── midiparse.h
│ ├── mpegdemux/
│ │ ├── gstmpegdefs.h
│ │ ├── gstmpegdemux.c
│ │ ├── gstmpegdemux.h
│ │ ├── gstpesfilter.c
│ │ ├── gstpesfilter.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── mpegpsmux/
│ │ ├── bits.h
│ │ ├── crc.h
│ │ ├── meson.build
│ │ ├── mpegpsmux.c
│ │ ├── mpegpsmux.h
│ │ ├── mpegpsmux_aac.c
│ │ ├── mpegpsmux_aac.h
│ │ ├── mpegpsmux_h264.c
│ │ ├── mpegpsmux_h264.h
│ │ ├── psmux.c
│ │ ├── psmux.h
│ │ ├── psmuxcommon.h
│ │ ├── psmuxstream.c
│ │ └── psmuxstream.h
│ ├── mpegtsdemux/
│ │ ├── TODO
│ │ ├── gstmpegdefs.h
│ │ ├── gstmpegdesc.h
│ │ ├── gsttsdemux.c
│ │ ├── meson.build
│ │ ├── mpegtsbase.c
│ │ ├── mpegtsbase.h
│ │ ├── mpegtspacketizer.c
│ │ ├── mpegtspacketizer.h
│ │ ├── mpegtsparse.c
│ │ ├── mpegtsparse.h
│ │ ├── pesparse.c
│ │ ├── pesparse.h
│ │ ├── tsdemux.c
│ │ └── tsdemux.h
│ ├── mpegtsmux/
│ │ ├── gstatscmux.c
│ │ ├── gstatscmux.h
│ │ ├── gstbasetsmux.c
│ │ ├── gstbasetsmux.h
│ │ ├── gstbasetsmuxaac.c
│ │ ├── gstbasetsmuxaac.h
│ │ ├── gstbasetsmuxjpeg2000.c
│ │ ├── gstbasetsmuxjpeg2000.h
│ │ ├── gstbasetsmuxopus.c
│ │ ├── gstbasetsmuxopus.h
│ │ ├── gstbasetsmuxttxt.c
│ │ ├── gstbasetsmuxttxt.h
│ │ ├── gstmpegtsmux.c
│ │ ├── gstmpegtsmux.h
│ │ ├── gstmpegtsmuxplugin.c
│ │ ├── meson.build
│ │ └── tsmux/
│ │ ├── tsmux.c
│ │ ├── tsmux.h
│ │ ├── tsmuxcommon.h
│ │ ├── tsmuxstream.c
│ │ └── tsmuxstream.h
│ ├── mxf/
│ │ ├── gstmxfelement.c
│ │ ├── gstmxfelements.h
│ │ ├── meson.build
│ │ ├── mxf.c
│ │ ├── mxfaes-bwf.c
│ │ ├── mxfaes-bwf.h
│ │ ├── mxfalaw.c
│ │ ├── mxfalaw.h
│ │ ├── mxfd10.c
│ │ ├── mxfd10.h
│ │ ├── mxfdemux.c
│ │ ├── mxfdemux.h
│ │ ├── mxfdms1.c
│ │ ├── mxfdms1.h
│ │ ├── mxfdv-dif.c
│ │ ├── mxfdv-dif.h
│ │ ├── mxfessence.c
│ │ ├── mxfessence.h
│ │ ├── mxfjpeg2000.c
│ │ ├── mxfjpeg2000.h
│ │ ├── mxfmetadata.c
│ │ ├── mxfmetadata.h
│ │ ├── mxfmpeg.c
│ │ ├── mxfmpeg.h
│ │ ├── mxfmux.c
│ │ ├── mxfmux.h
│ │ ├── mxfprores.c
│ │ ├── mxfprores.h
│ │ ├── mxfquark.c
│ │ ├── mxfquark.h
│ │ ├── mxftypes.c
│ │ ├── mxftypes.h
│ │ ├── mxful.c
│ │ ├── mxful.h
│ │ ├── mxfup.c
│ │ ├── mxfup.h
│ │ ├── mxfvanc.c
│ │ ├── mxfvanc.h
│ │ ├── mxfvc3.c
│ │ └── mxfvc3.h
│ ├── netsim/
│ │ ├── gstnetsim.c
│ │ ├── gstnetsim.h
│ │ └── meson.build
│ ├── onvif/
│ │ ├── gstrtponvif.c
│ │ ├── gstrtponvifparse.c
│ │ ├── gstrtponvifparse.h
│ │ ├── gstrtponviftimestamp.c
│ │ ├── gstrtponviftimestamp.h
│ │ └── meson.build
│ ├── pcapparse/
│ │ ├── gstirtspparse.c
│ │ ├── gstirtspparse.h
│ │ ├── gstpcapparse.c
│ │ ├── gstpcapparse.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── pnm/
│ │ ├── gstpnm.c
│ │ ├── gstpnmdec.c
│ │ ├── gstpnmdec.h
│ │ ├── gstpnmenc.c
│ │ ├── gstpnmenc.h
│ │ ├── gstpnmutils.c
│ │ ├── gstpnmutils.h
│ │ └── meson.build
│ ├── proxy/
│ │ ├── gstproxy-priv.h
│ │ ├── gstproxy.c
│ │ ├── gstproxysink.c
│ │ ├── gstproxysink.h
│ │ ├── gstproxysrc.c
│ │ ├── gstproxysrc.h
│ │ └── meson.build
│ ├── rawparse/
│ │ ├── README
│ │ ├── gstaudioparse.c
│ │ ├── gstaudioparse.h
│ │ ├── gstvideoparse.c
│ │ ├── gstvideoparse.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── removesilence/
│ │ ├── gstremovesilence.c
│ │ ├── gstremovesilence.h
│ │ ├── meson.build
│ │ ├── vad_private.c
│ │ └── vad_private.h
│ ├── rist/
│ │ ├── gstrist.c
│ │ ├── gstrist.h
│ │ ├── gstristplugin.c
│ │ ├── gstristrtpdeext.c
│ │ ├── gstristrtpext.c
│ │ ├── gstristrtxreceive.c
│ │ ├── gstristrtxsend.c
│ │ ├── gstristsink.c
│ │ ├── gstristsrc.c
│ │ ├── gstroundrobin.c
│ │ ├── gstroundrobin.h
│ │ └── meson.build
│ ├── rtmp2/
│ │ ├── TODO
│ │ ├── gstrtmp2.c
│ │ ├── gstrtmp2element.c
│ │ ├── gstrtmp2elements.h
│ │ ├── gstrtmp2locationhandler.c
│ │ ├── gstrtmp2locationhandler.h
│ │ ├── gstrtmp2sink.c
│ │ ├── gstrtmp2sink.h
│ │ ├── gstrtmp2src.c
│ │ ├── gstrtmp2src.h
│ │ ├── meson.build
│ │ └── rtmp/
│ │ ├── amf.c
│ │ ├── amf.h
│ │ ├── rtmpchunkstream.c
│ │ ├── rtmpchunkstream.h
│ │ ├── rtmpclient.c
│ │ ├── rtmpclient.h
│ │ ├── rtmpconnection.c
│ │ ├── rtmpconnection.h
│ │ ├── rtmphandshake.c
│ │ ├── rtmphandshake.h
│ │ ├── rtmpmessage.c
│ │ ├── rtmpmessage.h
│ │ ├── rtmputils.c
│ │ └── rtmputils.h
│ ├── rtp/
│ │ ├── gstrtp-utils.c
│ │ ├── gstrtp-utils.h
│ │ ├── gstrtpsink.c
│ │ ├── gstrtpsink.h
│ │ ├── gstrtpsrc.c
│ │ ├── gstrtpsrc.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── sdp/
│ │ ├── gstsdpdemux.c
│ │ ├── gstsdpdemux.h
│ │ ├── gstsdpelem.c
│ │ ├── gstsdpsrc.c
│ │ ├── gstsdpsrc.h
│ │ └── meson.build
│ ├── segmentclip/
│ │ ├── gstaudiosegmentclip.c
│ │ ├── gstaudiosegmentclip.h
│ │ ├── gstsegmentclip.c
│ │ ├── gstsegmentclip.h
│ │ ├── gstvideosegmentclip.c
│ │ ├── gstvideosegmentclip.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── siren/
│ │ ├── common.c
│ │ ├── common.h
│ │ ├── dct4.c
│ │ ├── dct4.h
│ │ ├── decoder.c
│ │ ├── decoder.h
│ │ ├── encoder.c
│ │ ├── encoder.h
│ │ ├── gstsiren.c
│ │ ├── gstsiren.h
│ │ ├── gstsirendec.c
│ │ ├── gstsirendec.h
│ │ ├── gstsirenenc.c
│ │ ├── gstsirenenc.h
│ │ ├── huffman.c
│ │ ├── huffman.h
│ │ ├── huffman_consts.h
│ │ ├── meson.build
│ │ ├── rmlt.c
│ │ ├── rmlt.h
│ │ └── siren7.h
│ ├── smooth/
│ │ ├── gstsmooth.c
│ │ ├── gstsmooth.h
│ │ └── meson.build
│ ├── speed/
│ │ ├── gstspeed.c
│ │ ├── gstspeed.h
│ │ └── meson.build
│ ├── subenc/
│ │ ├── gstsrtenc.c
│ │ ├── gstsrtenc.h
│ │ ├── gstsubenc.c
│ │ ├── gstwebvttenc.c
│ │ ├── gstwebvttenc.h
│ │ └── meson.build
│ ├── switchbin/
│ │ ├── gstswitchbin.c
│ │ ├── gstswitchbin.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── timecode/
│ │ ├── gstavwait.c
│ │ ├── gstavwait.h
│ │ ├── gsttimecodestamper.c
│ │ ├── gsttimecodestamper.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── transcode/
│ │ ├── gst-cpu-throttling-clock.c
│ │ ├── gst-cpu-throttling-clock.h
│ │ ├── gsttranscodebin.c
│ │ ├── gsttranscodeelement.c
│ │ ├── gsttranscodeelements.h
│ │ ├── gsttranscodeplugin.c
│ │ ├── gsttranscoding.h
│ │ ├── gsturitranscodebin.c
│ │ └── meson.build
│ ├── videofilters/
│ │ ├── gstscenechange.c
│ │ ├── gstscenechange.h
│ │ ├── gstscenechangeorc-dist.c
│ │ ├── gstscenechangeorc-dist.h
│ │ ├── gstscenechangeorc.orc
│ │ ├── gstvideodiff.c
│ │ ├── gstvideodiff.h
│ │ ├── gstvideofiltersbad.c
│ │ ├── gstzebrastripe.c
│ │ ├── gstzebrastripe.h
│ │ └── meson.build
│ ├── videoframe_audiolevel/
│ │ ├── gstvideoframe-audiolevel.c
│ │ ├── gstvideoframe-audiolevel.h
│ │ └── meson.build
│ ├── videoparsers/
│ │ ├── dirac_parse.c
│ │ ├── dirac_parse.h
│ │ ├── gstav1parse.c
│ │ ├── gstav1parse.h
│ │ ├── gstdiracparse.c
│ │ ├── gstdiracparse.h
│ │ ├── gsth263parse.c
│ │ ├── gsth263parse.h
│ │ ├── gsth264parse.c
│ │ ├── gsth264parse.h
│ │ ├── gsth265parse.c
│ │ ├── gsth265parse.h
│ │ ├── gstjpeg2000parse.c
│ │ ├── gstjpeg2000parse.h
│ │ ├── gstmpeg4videoparse.c
│ │ ├── gstmpeg4videoparse.h
│ │ ├── gstmpegvideoparse.c
│ │ ├── gstmpegvideoparse.h
│ │ ├── gstpngparse.c
│ │ ├── gstpngparse.h
│ │ ├── gstvc1parse.c
│ │ ├── gstvc1parse.h
│ │ ├── gstvideoparserselement.c
│ │ ├── gstvideoparserselements.h
│ │ ├── gstvideoparseutils.c
│ │ ├── gstvideoparseutils.h
│ │ ├── gstvp9parse.c
│ │ ├── gstvp9parse.h
│ │ ├── h263parse.c
│ │ ├── h263parse.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── videosignal/
│ │ ├── gstsimplevideomark.c
│ │ ├── gstsimplevideomark.h
│ │ ├── gstsimplevideomarkdetect.c
│ │ ├── gstsimplevideomarkdetect.h
│ │ ├── gstvideoanalyse.c
│ │ ├── gstvideoanalyse.h
│ │ ├── gstvideosignal.c
│ │ ├── gstvideosignal.h
│ │ └── meson.build
│ ├── vmnc/
│ │ ├── meson.build
│ │ ├── vmncdec.c
│ │ └── vmncdec.h
│ └── y4m/
│ ├── gsty4mdec.c
│ ├── gsty4mdec.h
│ └── meson.build
├── gst-libs/
│ ├── gst/
│ │ ├── adaptivedemux/
│ │ │ ├── adaptive-demux-prelude.h
│ │ │ ├── gstadaptivedemux.c
│ │ │ ├── gstadaptivedemux.h
│ │ │ └── meson.build
│ │ ├── audio/
│ │ │ ├── audio-bad-prelude.h
│ │ │ ├── gstnonstreamaudiodecoder.c
│ │ │ ├── gstnonstreamaudiodecoder.h
│ │ │ ├── gstplanaraudioadapter.c
│ │ │ ├── gstplanaraudioadapter.h
│ │ │ └── meson.build
│ │ ├── basecamerabinsrc/
│ │ │ ├── basecamerabinsrc-prelude.h
│ │ │ ├── gstbasecamerasrc.c
│ │ │ ├── gstbasecamerasrc.h
│ │ │ ├── gstcamerabin-enum.c
│ │ │ ├── gstcamerabin-enum.h
│ │ │ ├── gstcamerabinpreview.c
│ │ │ ├── gstcamerabinpreview.h
│ │ │ └── meson.build
│ │ ├── codecparsers/
│ │ │ ├── codecparsers-prelude.h
│ │ │ ├── dboolhuff.AUTHORS
│ │ │ ├── dboolhuff.LICENSE
│ │ │ ├── dboolhuff.PATENTS
│ │ │ ├── dboolhuff.c
│ │ │ ├── dboolhuff.h
│ │ │ ├── gstav1parser.c
│ │ │ ├── gstav1parser.h
│ │ │ ├── gsth264parser.c
│ │ │ ├── gsth264parser.h
│ │ │ ├── gsth265parser.c
│ │ │ ├── gsth265parser.h
│ │ │ ├── gstjpeg2000sampling.c
│ │ │ ├── gstjpeg2000sampling.h
│ │ │ ├── gstjpegparser.c
│ │ │ ├── gstjpegparser.h
│ │ │ ├── gstmpeg4parser.c
│ │ │ ├── gstmpeg4parser.h
│ │ │ ├── gstmpegvideometa.c
│ │ │ ├── gstmpegvideometa.h
│ │ │ ├── gstmpegvideoparser.c
│ │ │ ├── gstmpegvideoparser.h
│ │ │ ├── gstvc1parser.c
│ │ │ ├── gstvc1parser.h
│ │ │ ├── gstvp8parser.c
│ │ │ ├── gstvp8parser.h
│ │ │ ├── gstvp8rangedecoder.c
│ │ │ ├── gstvp8rangedecoder.h
│ │ │ ├── gstvp9parser.c
│ │ │ ├── gstvp9parser.h
│ │ │ ├── meson.build
│ │ │ ├── nalutils.c
│ │ │ ├── nalutils.h
│ │ │ ├── parserutils.c
│ │ │ ├── parserutils.h
│ │ │ ├── vp8utils.c
│ │ │ ├── vp8utils.h
│ │ │ ├── vp9utils.c
│ │ │ └── vp9utils.h
│ │ ├── codecs/
│ │ │ ├── codecs-prelude.h
│ │ │ ├── gstav1decoder.c
│ │ │ ├── gstav1decoder.h
│ │ │ ├── gstav1picture.c
│ │ │ ├── gstav1picture.h
│ │ │ ├── gsth264decoder.c
│ │ │ ├── gsth264decoder.h
│ │ │ ├── gsth264picture.c
│ │ │ ├── gsth264picture.h
│ │ │ ├── gsth265decoder.c
│ │ │ ├── gsth265decoder.h
│ │ │ ├── gsth265picture.c
│ │ │ ├── gsth265picture.h
│ │ │ ├── gstmpeg2decoder.c
│ │ │ ├── gstmpeg2decoder.h
│ │ │ ├── gstmpeg2picture.c
│ │ │ ├── gstmpeg2picture.h
│ │ │ ├── gstvp8decoder.c
│ │ │ ├── gstvp8decoder.h
│ │ │ ├── gstvp8picture.c
│ │ │ ├── gstvp8picture.h
│ │ │ ├── gstvp9decoder.c
│ │ │ ├── gstvp9decoder.h
│ │ │ ├── gstvp9picture.c
│ │ │ ├── gstvp9picture.h
│ │ │ ├── gstvp9statefulparser.c
│ │ │ ├── gstvp9statefulparser.h
│ │ │ └── meson.build
│ │ ├── d3d11/
│ │ │ ├── d3d11-prelude.h
│ │ │ ├── gstd3d11.h
│ │ │ ├── gstd3d11_fwd.h
│ │ │ ├── gstd3d11_private.h
│ │ │ ├── gstd3d11bufferpool.cpp
│ │ │ ├── gstd3d11bufferpool.h
│ │ │ ├── gstd3d11config.h.meson
│ │ │ ├── gstd3d11device.cpp
│ │ │ ├── gstd3d11device.h
│ │ │ ├── gstd3d11format.cpp
│ │ │ ├── gstd3d11format.h
│ │ │ ├── gstd3d11memory.cpp
│ │ │ ├── gstd3d11memory.h
│ │ │ ├── gstd3d11utils.cpp
│ │ │ ├── gstd3d11utils.h
│ │ │ └── meson.build
│ │ ├── gettext.h
│ │ ├── glib-compat-private.h
│ │ ├── gst-i18n-plugin.h
│ │ ├── insertbin/
│ │ │ ├── gstinsertbin.c
│ │ │ ├── gstinsertbin.h
│ │ │ └── meson.build
│ │ ├── interfaces/
│ │ │ ├── meson.build
│ │ │ ├── photography-prelude.h
│ │ │ ├── photography.c
│ │ │ └── photography.h
│ │ ├── isoff/
│ │ │ ├── gstisoff.c
│ │ │ ├── gstisoff.h
│ │ │ └── meson.build
│ │ ├── meson.build
│ │ ├── mpegts/
│ │ │ ├── gst-atsc-descriptor.h
│ │ │ ├── gst-atsc-section.c
│ │ │ ├── gst-atsc-section.h
│ │ │ ├── gst-dvb-descriptor.c
│ │ │ ├── gst-dvb-descriptor.h
│ │ │ ├── gst-dvb-section.c
│ │ │ ├── gst-dvb-section.h
│ │ │ ├── gst-hdmv-section.h
│ │ │ ├── gst-isdb-descriptor.h
│ │ │ ├── gst-scte-section.c
│ │ │ ├── gst-scte-section.h
│ │ │ ├── gstmpegts-private.h
│ │ │ ├── gstmpegtsdescriptor.c
│ │ │ ├── gstmpegtsdescriptor.h
│ │ │ ├── gstmpegtssection.c
│ │ │ ├── gstmpegtssection.h
│ │ │ ├── meson.build
│ │ │ ├── mpegts-prelude.h
│ │ │ ├── mpegts.c
│ │ │ └── mpegts.h
│ │ ├── opencv/
│ │ │ ├── gstopencvutils.cpp
│ │ │ ├── gstopencvutils.h
│ │ │ ├── gstopencvvideofilter.cpp
│ │ │ ├── gstopencvvideofilter.h
│ │ │ ├── meson.build
│ │ │ └── opencv-prelude.h
│ │ ├── play/
│ │ │ ├── gstplay-media-info-private.h
│ │ │ ├── gstplay-media-info.c
│ │ │ ├── gstplay-media-info.h
│ │ │ ├── gstplay-message-private.h
│ │ │ ├── gstplay-signal-adapter.c
│ │ │ ├── gstplay-signal-adapter.h
│ │ │ ├── gstplay-types.h
│ │ │ ├── gstplay-video-overlay-video-renderer.c
│ │ │ ├── gstplay-video-overlay-video-renderer.h
│ │ │ ├── gstplay-video-renderer-private.h
│ │ │ ├── gstplay-video-renderer.c
│ │ │ ├── gstplay-video-renderer.h
│ │ │ ├── gstplay-visualization.c
│ │ │ ├── gstplay-visualization.h
│ │ │ ├── gstplay.c
│ │ │ ├── gstplay.h
│ │ │ ├── meson.build
│ │ │ ├── play-prelude.h
│ │ │ └── play.h
│ │ ├── player/
│ │ │ ├── gstplayer-g-main-context-signal-dispatcher.c
│ │ │ ├── gstplayer-g-main-context-signal-dispatcher.h
│ │ │ ├── gstplayer-media-info-private.h
│ │ │ ├── gstplayer-media-info.c
│ │ │ ├── gstplayer-media-info.h
│ │ │ ├── gstplayer-signal-dispatcher-private.h
│ │ │ ├── gstplayer-signal-dispatcher.c
│ │ │ ├── gstplayer-signal-dispatcher.h
│ │ │ ├── gstplayer-types.h
│ │ │ ├── gstplayer-video-overlay-video-renderer.c
│ │ │ ├── gstplayer-video-overlay-video-renderer.h
│ │ │ ├── gstplayer-video-renderer-private.h
│ │ │ ├── gstplayer-video-renderer.c
│ │ │ ├── gstplayer-video-renderer.h
│ │ │ ├── gstplayer-visualization.c
│ │ │ ├── gstplayer-visualization.h
│ │ │ ├── gstplayer-wrapped-video-renderer-private.h
│ │ │ ├── gstplayer-wrapped-video-renderer.c
│ │ │ ├── gstplayer.c
│ │ │ ├── gstplayer.h
│ │ │ ├── meson.build
│ │ │ ├── player-prelude.h
│ │ │ └── player.h
│ │ ├── sctp/
│ │ │ ├── meson.build
│ │ │ ├── sctp-prelude.h
│ │ │ ├── sctpreceivemeta.c
│ │ │ ├── sctpreceivemeta.h
│ │ │ ├── sctpsendmeta.c
│ │ │ └── sctpsendmeta.h
│ │ ├── transcoder/
│ │ │ ├── gsttranscoder-private.h
│ │ │ ├── gsttranscoder-signal-adapter.c
│ │ │ ├── gsttranscoder-signal-adapter.h
│ │ │ ├── gsttranscoder.c
│ │ │ ├── gsttranscoder.h
│ │ │ ├── meson.build
│ │ │ └── transcoder-prelude.h
│ │ ├── uridownloader/
│ │ │ ├── gstfragment.c
│ │ │ ├── gstfragment.h
│ │ │ ├── gsturidownloader.c
│ │ │ ├── gsturidownloader.h
│ │ │ ├── gsturidownloader_debug.h
│ │ │ ├── meson.build
│ │ │ └── uridownloader-prelude.h
│ │ ├── va/
│ │ │ ├── gstvadisplay.c
│ │ │ ├── gstvadisplay.h
│ │ │ ├── gstvadisplay_drm.c
│ │ │ ├── gstvadisplay_drm.h
│ │ │ ├── gstvadisplay_wrapped.c
│ │ │ ├── gstvadisplay_wrapped.h
│ │ │ ├── meson.build
│ │ │ ├── va-prelude.h
│ │ │ └── va_fwd.h
│ │ ├── vulkan/
│ │ │ ├── android/
│ │ │ │ ├── gstvkdisplay_android.c
│ │ │ │ ├── gstvkdisplay_android.h
│ │ │ │ ├── gstvkwindow_android.c
│ │ │ │ └── gstvkwindow_android.h
│ │ │ ├── cocoa/
│ │ │ │ ├── gstvkcocoa_utils.h
│ │ │ │ ├── gstvkdisplay_cocoa.h
│ │ │ │ ├── gstvkdisplay_cocoa.m
│ │ │ │ ├── gstvkwindow_cocoa.h
│ │ │ │ └── gstvkwindow_cocoa.m
│ │ │ ├── gstvkapi.h
│ │ │ ├── gstvkbarrier.h
│ │ │ ├── gstvkbuffermemory.c
│ │ │ ├── gstvkbuffermemory.h
│ │ │ ├── gstvkbufferpool.c
│ │ │ ├── gstvkbufferpool.h
│ │ │ ├── gstvkcommandbuffer.c
│ │ │ ├── gstvkcommandbuffer.h
│ │ │ ├── gstvkcommandpool-private.h
│ │ │ ├── gstvkcommandpool.c
│ │ │ ├── gstvkcommandpool.h
│ │ │ ├── gstvkconfig.h.meson
│ │ │ ├── gstvkdebug-private.h
│ │ │ ├── gstvkdebug.c
│ │ │ ├── gstvkdebug.h
│ │ │ ├── gstvkdescriptorcache.c
│ │ │ ├── gstvkdescriptorcache.h
│ │ │ ├── gstvkdescriptorpool.c
│ │ │ ├── gstvkdescriptorpool.h
│ │ │ ├── gstvkdescriptorset.c
│ │ │ ├── gstvkdescriptorset.h
│ │ │ ├── gstvkdevice.c
│ │ │ ├── gstvkdevice.h
│ │ │ ├── gstvkdisplay.c
│ │ │ ├── gstvkdisplay.h
│ │ │ ├── gstvkerror.c
│ │ │ ├── gstvkerror.h
│ │ │ ├── gstvkfence.c
│ │ │ ├── gstvkfence.h
│ │ │ ├── gstvkformat.c
│ │ │ ├── gstvkformat.h
│ │ │ ├── gstvkfullscreenquad.c
│ │ │ ├── gstvkfullscreenquad.h
│ │ │ ├── gstvkhandle.c
│ │ │ ├── gstvkhandle.h
│ │ │ ├── gstvkhandlepool.c
│ │ │ ├── gstvkhandlepool.h
│ │ │ ├── gstvkimagebufferpool.c
│ │ │ ├── gstvkimagebufferpool.h
│ │ │ ├── gstvkimagememory.c
│ │ │ ├── gstvkimagememory.h
│ │ │ ├── gstvkimageview.c
│ │ │ ├── gstvkimageview.h
│ │ │ ├── gstvkinstance.c
│ │ │ ├── gstvkinstance.h
│ │ │ ├── gstvkmemory.c
│ │ │ ├── gstvkmemory.h
│ │ │ ├── gstvkphysicaldevice.c
│ │ │ ├── gstvkphysicaldevice.h
│ │ │ ├── gstvkqueue.c
│ │ │ ├── gstvkqueue.h
│ │ │ ├── gstvkswapper.c
│ │ │ ├── gstvkswapper.h
│ │ │ ├── gstvktrash.c
│ │ │ ├── gstvktrash.h
│ │ │ ├── gstvkutils.c
│ │ │ ├── gstvkutils.h
│ │ │ ├── gstvkvideofilter.c
│ │ │ ├── gstvkvideofilter.h
│ │ │ ├── gstvkwindow.c
│ │ │ ├── gstvkwindow.h
│ │ │ ├── ios/
│ │ │ │ ├── gstvkdisplay_ios.h
│ │ │ │ ├── gstvkdisplay_ios.m
│ │ │ │ ├── gstvkios_utils.h
│ │ │ │ ├── gstvkwindow_ios.h
│ │ │ │ └── gstvkwindow_ios.m
│ │ │ ├── meson.build
│ │ │ ├── vulkan-prelude.h
│ │ │ ├── vulkan.h
│ │ │ ├── vulkan_fwd.h
│ │ │ ├── vulkan_mkenum.py
│ │ │ ├── wayland/
│ │ │ │ ├── gstvkdisplay_wayland.c
│ │ │ │ ├── gstvkdisplay_wayland.h
│ │ │ │ ├── gstvkwindow_wayland.c
│ │ │ │ ├── gstvkwindow_wayland.h
│ │ │ │ ├── wayland.h
│ │ │ │ ├── wayland_event_source.c
│ │ │ │ └── wayland_event_source.h
│ │ │ ├── win32/
│ │ │ │ ├── gstvkwindow_win32.c
│ │ │ │ └── gstvkwindow_win32.h
│ │ │ └── xcb/
│ │ │ ├── gstvkdisplay_xcb.c
│ │ │ ├── gstvkdisplay_xcb.h
│ │ │ ├── gstvkwindow_xcb.c
│ │ │ ├── gstvkwindow_xcb.h
│ │ │ ├── xcb.h
│ │ │ ├── xcb_event_source.c
│ │ │ └── xcb_event_source.h
│ │ ├── wayland/
│ │ │ ├── meson.build
│ │ │ ├── wayland.c
│ │ │ └── wayland.h
│ │ └── webrtc/
│ │ ├── datachannel.c
│ │ ├── datachannel.h
│ │ ├── dtlstransport.c
│ │ ├── dtlstransport.h
│ │ ├── icetransport.c
│ │ ├── icetransport.h
│ │ ├── meson.build
│ │ ├── rtcsessiondescription.c
│ │ ├── rtcsessiondescription.h
│ │ ├── rtpreceiver.c
│ │ ├── rtpreceiver.h
│ │ ├── rtpsender.c
│ │ ├── rtpsender.h
│ │ ├── rtptransceiver.c
│ │ ├── rtptransceiver.h
│ │ ├── sctptransport.c
│ │ ├── sctptransport.h
│ │ ├── webrtc-priv.h
│ │ ├── webrtc.h
│ │ └── webrtc_fwd.h
│ └── meson.build
├── gst-plugins-bad.doap
├── hooks/
│ └── pre-commit.hook
├── meson.build
├── meson_options.txt
├── po/
│ ├── LINGUAS
│ ├── POTFILES
│ ├── POTFILES.skip
│ ├── af.po
│ ├── ast.po
│ ├── az.po
│ ├── bg.po
│ ├── ca.po
│ ├── cs.po
│ ├── da.po
│ ├── de.po
│ ├── el.po
│ ├── en_GB.po
│ ├── eo.po
│ ├── es.po
│ ├── eu.po
│ ├── fi.po
│ ├── fr.po
│ ├── fur.po
│ ├── gl.po
│ ├── hr.po
│ ├── hu.po
│ ├── id.po
│ ├── it.po
│ ├── ja.po
│ ├── ky.po
│ ├── lt.po
│ ├── lv.po
│ ├── meson.build
│ ├── mt.po
│ ├── nb.po
│ ├── nl.po
│ ├── or.po
│ ├── pl.po
│ ├── pt_BR.po
│ ├── ro.po
│ ├── ru.po
│ ├── sk.po
│ ├── sl.po
│ ├── sq.po
│ ├── sr.po
│ ├── sv.po
│ ├── tr.po
│ ├── uk.po
│ ├── vi.po
│ └── zh_CN.po
├── scripts/
│ ├── dist-translations.py
│ ├── extract-release-date-from-doap-file.py
│ ├── meson.build
│ └── update-orc-dist-files.py
├── sys/
│ ├── androidmedia/
│ │ ├── gst-android-graphics-imageformat.c
│ │ ├── gst-android-graphics-imageformat.h
│ │ ├── gst-android-hardware-camera.c
│ │ ├── gst-android-hardware-camera.h
│ │ ├── gst-android-hardware-sensor.c
│ │ ├── gst-android-hardware-sensor.h
│ │ ├── gstahcsrc.c
│ │ ├── gstahcsrc.h
│ │ ├── gstahssrc.c
│ │ ├── gstahssrc.h
│ │ ├── gstamc-codec.h
│ │ ├── gstamc-codeclist.h
│ │ ├── gstamc-constants.h
│ │ ├── gstamc-format.h
│ │ ├── gstamc.c
│ │ ├── gstamc.h
│ │ ├── gstamcaudiodec.c
│ │ ├── gstamcaudiodec.h
│ │ ├── gstamcsurfacetexture.c
│ │ ├── gstamcsurfacetexture.h
│ │ ├── gstamcvideodec.c
│ │ ├── gstamcvideodec.h
│ │ ├── gstamcvideoenc.c
│ │ ├── gstamcvideoenc.h
│ │ ├── gstjniutils.c
│ │ ├── gstjniutils.h
│ │ ├── gstsensors.h
│ │ ├── jni/
│ │ │ ├── gstamc-codec-jni.c
│ │ │ ├── gstamc-codeclist-jni.c
│ │ │ ├── gstamc-format-jni.c
│ │ │ ├── gstamc-internal-jni.h
│ │ │ ├── gstamcsurface.c
│ │ │ ├── gstamcsurface.h
│ │ │ ├── gstamcsurfacetexture-jni.c
│ │ │ └── gstamcsurfacetexture-jni.h
│ │ ├── magicleap/
│ │ │ ├── gstamc-codec-ml.c
│ │ │ ├── gstamc-codeclist-ml.c
│ │ │ ├── gstamc-format-ml.c
│ │ │ ├── gstamc-internal-ml.h
│ │ │ ├── gstamc-surfacetexture-ml.c
│ │ │ └── gstamc-surfacetexture-ml.h
│ │ ├── meson.build
│ │ └── org/
│ │ └── freedesktop/
│ │ └── gstreamer/
│ │ └── androidmedia/
│ │ ├── GstAhcCallback.java
│ │ ├── GstAhsCallback.java
│ │ └── GstAmcOnFrameAvailableListener.java
│ ├── applemedia/
│ │ ├── atdec.c
│ │ ├── atdec.h
│ │ ├── avfassetsrc.h
│ │ ├── avfassetsrc.m
│ │ ├── avfdeviceprovider.h
│ │ ├── avfdeviceprovider.m
│ │ ├── avfvideosrc.h
│ │ ├── avfvideosrc.m
│ │ ├── avsamplevideosink.h
│ │ ├── avsamplevideosink.m
│ │ ├── coremediabuffer.c
│ │ ├── coremediabuffer.h
│ │ ├── corevideobuffer.c
│ │ ├── corevideobuffer.h
│ │ ├── corevideomemory.c
│ │ ├── corevideomemory.h
│ │ ├── glcontexthelper.c
│ │ ├── glcontexthelper.h
│ │ ├── iosassetsrc.h
│ │ ├── iosassetsrc.m
│ │ ├── iosglmemory.c
│ │ ├── iosglmemory.h
│ │ ├── iosurfaceglmemory.c
│ │ ├── iosurfaceglmemory.h
│ │ ├── iosurfacevulkanmemory.c
│ │ ├── iosurfacevulkanmemory.h
│ │ ├── meson.build
│ │ ├── metal-helpers.h
│ │ ├── plugin.m
│ │ ├── videotexturecache-gl.h
│ │ ├── videotexturecache-gl.m
│ │ ├── videotexturecache-vulkan.h
│ │ ├── videotexturecache-vulkan.mm
│ │ ├── videotexturecache.h
│ │ ├── videotexturecache.m
│ │ ├── vtdec.c
│ │ ├── vtdec.h
│ │ ├── vtenc.c
│ │ ├── vtenc.h
│ │ ├── vtutil.c
│ │ └── vtutil.h
│ ├── asio/
│ │ ├── gstasiodeviceprovider.cpp
│ │ ├── gstasiodeviceprovider.h
│ │ ├── gstasioobject.cpp
│ │ ├── gstasioobject.h
│ │ ├── gstasioringbuffer.cpp
│ │ ├── gstasioringbuffer.h
│ │ ├── gstasiosink.cpp
│ │ ├── gstasiosink.h
│ │ ├── gstasiosrc.cpp
│ │ ├── gstasiosrc.h
│ │ ├── gstasioutils.cpp
│ │ ├── gstasioutils.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── bluez/
│ │ ├── a2dp-codecs.h
│ │ ├── bluez-plugin.c
│ │ ├── gsta2dpsink.c
│ │ ├── gsta2dpsink.h
│ │ ├── gstavdtpsink.c
│ │ ├── gstavdtpsink.h
│ │ ├── gstavdtpsrc.c
│ │ ├── gstavdtpsrc.h
│ │ ├── gstavdtputil.c
│ │ ├── gstavdtputil.h
│ │ ├── gstavrcputil.c
│ │ ├── gstavrcputil.h
│ │ ├── gstbluezelement.c
│ │ ├── gstbluezelements.h
│ │ ├── meson.build
│ │ └── org.bluez.xml
│ ├── d3d11/
│ │ ├── gstd3d11av1dec.cpp
│ │ ├── gstd3d11av1dec.h
│ │ ├── gstd3d11basefilter.cpp
│ │ ├── gstd3d11basefilter.h
│ │ ├── gstd3d11compositor.cpp
│ │ ├── gstd3d11compositor.h
│ │ ├── gstd3d11compositorbin.cpp
│ │ ├── gstd3d11compositorbin.h
│ │ ├── gstd3d11convert.cpp
│ │ ├── gstd3d11convert.h
│ │ ├── gstd3d11converter.cpp
│ │ ├── gstd3d11converter.h
│ │ ├── gstd3d11decoder.cpp
│ │ ├── gstd3d11decoder.h
│ │ ├── gstd3d11deinterlace.cpp
│ │ ├── gstd3d11deinterlace.h
│ │ ├── gstd3d11desktopdup.cpp
│ │ ├── gstd3d11desktopdup.h
│ │ ├── gstd3d11desktopdupsrc.cpp
│ │ ├── gstd3d11desktopdupsrc.h
│ │ ├── gstd3d11download.cpp
│ │ ├── gstd3d11download.h
│ │ ├── gstd3d11h264dec.cpp
│ │ ├── gstd3d11h264dec.h
│ │ ├── gstd3d11h265dec.cpp
│ │ ├── gstd3d11h265dec.h
│ │ ├── gstd3d11mpeg2dec.cpp
│ │ ├── gstd3d11mpeg2dec.h
│ │ ├── gstd3d11overlaycompositor.cpp
│ │ ├── gstd3d11overlaycompositor.h
│ │ ├── gstd3d11pluginutils.cpp
│ │ ├── gstd3d11pluginutils.h
│ │ ├── gstd3d11shader.cpp
│ │ ├── gstd3d11shader.h
│ │ ├── gstd3d11upload.cpp
│ │ ├── gstd3d11upload.h
│ │ ├── gstd3d11videoprocessor.cpp
│ │ ├── gstd3d11videoprocessor.h
│ │ ├── gstd3d11videosink.cpp
│ │ ├── gstd3d11videosink.h
│ │ ├── gstd3d11vp8dec.cpp
│ │ ├── gstd3d11vp8dec.h
│ │ ├── gstd3d11vp9dec.cpp
│ │ ├── gstd3d11vp9dec.h
│ │ ├── gstd3d11window.cpp
│ │ ├── gstd3d11window.h
│ │ ├── gstd3d11window_corewindow.cpp
│ │ ├── gstd3d11window_corewindow.h
│ │ ├── gstd3d11window_dummy.cpp
│ │ ├── gstd3d11window_dummy.h
│ │ ├── gstd3d11window_swapchainpanel.cpp
│ │ ├── gstd3d11window_swapchainpanel.h
│ │ ├── gstd3d11window_win32.cpp
│ │ ├── gstd3d11window_win32.h
│ │ ├── meson.build
│ │ └── plugin.cpp
│ ├── d3dvideosink/
│ │ ├── d3dhelpers.c
│ │ ├── d3dhelpers.h
│ │ ├── d3dvideosink.c
│ │ ├── d3dvideosink.h
│ │ ├── gstd3d9overlay.c
│ │ ├── gstd3d9overlay.h
│ │ └── meson.build
│ ├── decklink/
│ │ ├── gstdecklink.cpp
│ │ ├── gstdecklink.h
│ │ ├── gstdecklinkaudiosink.cpp
│ │ ├── gstdecklinkaudiosink.h
│ │ ├── gstdecklinkaudiosrc.cpp
│ │ ├── gstdecklinkaudiosrc.h
│ │ ├── gstdecklinkdeviceprovider.cpp
│ │ ├── gstdecklinkdeviceprovider.h
│ │ ├── gstdecklinkplugin.cpp
│ │ ├── gstdecklinkvideosink.cpp
│ │ ├── gstdecklinkvideosink.h
│ │ ├── gstdecklinkvideosrc.cpp
│ │ ├── gstdecklinkvideosrc.h
│ │ ├── linux/
│ │ │ ├── DeckLinkAPI.h
│ │ │ ├── DeckLinkAPIConfiguration.h
│ │ │ ├── DeckLinkAPIDeckControl.h
│ │ │ ├── DeckLinkAPIDiscovery.h
│ │ │ ├── DeckLinkAPIDispatch.cpp
│ │ │ ├── DeckLinkAPIModes.h
│ │ │ ├── DeckLinkAPITypes.h
│ │ │ ├── DeckLinkAPIVersion.h
│ │ │ └── LinuxCOM.h
│ │ ├── meson.build
│ │ ├── osx/
│ │ │ ├── DeckLinkAPI.h
│ │ │ ├── DeckLinkAPIConfiguration.h
│ │ │ ├── DeckLinkAPIDeckControl.h
│ │ │ ├── DeckLinkAPIDiscovery.h
│ │ │ ├── DeckLinkAPIDispatch.cpp
│ │ │ ├── DeckLinkAPIModes.h
│ │ │ ├── DeckLinkAPIStreaming.h
│ │ │ ├── DeckLinkAPITypes.h
│ │ │ └── DeckLinkAPIVersion.h
│ │ └── win/
│ │ ├── DeckLinkAPI.h
│ │ ├── DeckLinkAPIDispatch.cpp
│ │ └── DeckLinkAPI_i.c
│ ├── directsound/
│ │ ├── gstdirectsounddevice.c
│ │ ├── gstdirectsounddevice.h
│ │ ├── gstdirectsoundplugin.c
│ │ ├── gstdirectsoundsrc.c
│ │ ├── gstdirectsoundsrc.h
│ │ └── meson.build
│ ├── dshowdecwrapper/
│ │ ├── CMakeLists.txt
│ │ ├── gstdshowaudiodec.cpp
│ │ ├── gstdshowaudiodec.h
│ │ ├── gstdshowdecwrapper.cpp
│ │ ├── gstdshowdecwrapper.h
│ │ ├── gstdshowfakesrc.cpp
│ │ ├── gstdshowfakesrc.h
│ │ ├── gstdshowutil.cpp
│ │ ├── gstdshowutil.h
│ │ ├── gstdshowvideodec.cpp
│ │ └── gstdshowvideodec.h
│ ├── dshowsrcwrapper/
│ │ ├── BUILD.txt
│ │ ├── CMakeLists.txt
│ │ ├── dshowdeviceprovider.cpp
│ │ ├── dshowdeviceprovider.h
│ │ ├── gstdshow.cpp
│ │ ├── gstdshow.h
│ │ ├── gstdshowaudiosrc.cpp
│ │ ├── gstdshowaudiosrc.h
│ │ ├── gstdshowfakesink.cpp
│ │ ├── gstdshowfakesink.h
│ │ ├── gstdshowsrcwrapper.cpp
│ │ ├── gstdshowvideosrc.cpp
│ │ └── gstdshowvideosrc.h
│ ├── dshowvideosink/
│ │ ├── README
│ │ ├── dshowvideofakesrc.cpp
│ │ ├── dshowvideofakesrc.h
│ │ ├── dshowvideosink.cpp
│ │ └── dshowvideosink.h
│ ├── dvb/
│ │ ├── AUTHORS
│ │ ├── cam.c
│ │ ├── cam.h
│ │ ├── camapplication.c
│ │ ├── camapplication.h
│ │ ├── camapplicationinfo.c
│ │ ├── camapplicationinfo.h
│ │ ├── camconditionalaccess.c
│ │ ├── camconditionalaccess.h
│ │ ├── camdevice.c
│ │ ├── camdevice.h
│ │ ├── camresourcemanager.c
│ │ ├── camresourcemanager.h
│ │ ├── camsession.c
│ │ ├── camsession.h
│ │ ├── camswclient.c
│ │ ├── camswclient.h
│ │ ├── camtransport.c
│ │ ├── camtransport.h
│ │ ├── camutils.c
│ │ ├── camutils.h
│ │ ├── dvbbasebin.c
│ │ ├── dvbbasebin.h
│ │ ├── gstdvb.c
│ │ ├── gstdvbelement.c
│ │ ├── gstdvbelements.h
│ │ ├── gstdvbsrc.c
│ │ ├── gstdvbsrc.h
│ │ ├── meson.build
│ │ ├── parsechannels.c
│ │ └── parsechannels.h
│ ├── fbdev/
│ │ ├── gstfbdevsink.c
│ │ ├── gstfbdevsink.h
│ │ └── meson.build
│ ├── ipcpipeline/
│ │ ├── gstipcpipeline.c
│ │ ├── gstipcpipelinecomm.c
│ │ ├── gstipcpipelinecomm.h
│ │ ├── gstipcpipelineelement.c
│ │ ├── gstipcpipelineelements.h
│ │ ├── gstipcpipelinesink.c
│ │ ├── gstipcpipelinesink.h
│ │ ├── gstipcpipelinesrc.c
│ │ ├── gstipcpipelinesrc.h
│ │ ├── gstipcslavepipeline.c
│ │ ├── gstipcslavepipeline.h
│ │ ├── meson.build
│ │ └── protocol.txt
│ ├── kms/
│ │ ├── gstkmsallocator.c
│ │ ├── gstkmsallocator.h
│ │ ├── gstkmsbufferpool.c
│ │ ├── gstkmsbufferpool.h
│ │ ├── gstkmssink.c
│ │ ├── gstkmssink.h
│ │ ├── gstkmsutils.c
│ │ ├── gstkmsutils.h
│ │ └── meson.build
│ ├── magicleap/
│ │ ├── meson.build
│ │ ├── mlaudiosink.c
│ │ ├── mlaudiosink.h
│ │ ├── mlaudiowrapper.cpp
│ │ ├── mlaudiowrapper.h
│ │ └── plugin.c
│ ├── mediafoundation/
│ │ ├── AsyncOperations.h
│ │ ├── gstmfaacenc.cpp
│ │ ├── gstmfaacenc.h
│ │ ├── gstmfaudioenc.cpp
│ │ ├── gstmfaudioenc.h
│ │ ├── gstmfcapturewinrt.cpp
│ │ ├── gstmfcapturewinrt.h
│ │ ├── gstmfdevice.c
│ │ ├── gstmfdevice.h
│ │ ├── gstmfh264enc.cpp
│ │ ├── gstmfh264enc.h
│ │ ├── gstmfh265enc.cpp
│ │ ├── gstmfh265enc.h
│ │ ├── gstmfmp3enc.cpp
│ │ ├── gstmfmp3enc.h
│ │ ├── gstmfsourceobject.c
│ │ ├── gstmfsourceobject.h
│ │ ├── gstmfsourcereader.cpp
│ │ ├── gstmfsourcereader.h
│ │ ├── gstmftransform.cpp
│ │ ├── gstmftransform.h
│ │ ├── gstmfutils.cpp
│ │ ├── gstmfutils.h
│ │ ├── gstmfvideobuffer.cpp
│ │ ├── gstmfvideobuffer.h
│ │ ├── gstmfvideoenc.cpp
│ │ ├── gstmfvideoenc.h
│ │ ├── gstmfvideosrc.c
│ │ ├── gstmfvideosrc.h
│ │ ├── gstmfvp9enc.cpp
│ │ ├── gstmfvp9enc.h
│ │ ├── gststrmif.h
│ │ ├── mediacapturewrapper.cpp
│ │ ├── mediacapturewrapper.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── meson.build
│ ├── msdk/
│ │ ├── gstmsdk.c
│ │ ├── gstmsdkallocator.h
│ │ ├── gstmsdkallocator_d3d.c
│ │ ├── gstmsdkallocator_libva.c
│ │ ├── gstmsdkallocator_libva.h
│ │ ├── gstmsdkav1dec.c
│ │ ├── gstmsdkav1dec.h
│ │ ├── gstmsdkbufferpool.c
│ │ ├── gstmsdkbufferpool.h
│ │ ├── gstmsdkcontext.c
│ │ ├── gstmsdkcontext.h
│ │ ├── gstmsdkcontextutil.c
│ │ ├── gstmsdkcontextutil.h
│ │ ├── gstmsdkdec.c
│ │ ├── gstmsdkdec.h
│ │ ├── gstmsdkdecproputil.c
│ │ ├── gstmsdkdecproputil.h
│ │ ├── gstmsdkenc.c
│ │ ├── gstmsdkenc.h
│ │ ├── gstmsdkh264dec.c
│ │ ├── gstmsdkh264dec.h
│ │ ├── gstmsdkh264enc.c
│ │ ├── gstmsdkh264enc.h
│ │ ├── gstmsdkh265dec.c
│ │ ├── gstmsdkh265dec.h
│ │ ├── gstmsdkh265enc.c
│ │ ├── gstmsdkh265enc.h
│ │ ├── gstmsdkmjpegdec.c
│ │ ├── gstmsdkmjpegdec.h
│ │ ├── gstmsdkmjpegenc.c
│ │ ├── gstmsdkmjpegenc.h
│ │ ├── gstmsdkmpeg2dec.c
│ │ ├── gstmsdkmpeg2dec.h
│ │ ├── gstmsdkmpeg2enc.c
│ │ ├── gstmsdkmpeg2enc.h
│ │ ├── gstmsdksystemmemory.c
│ │ ├── gstmsdksystemmemory.h
│ │ ├── gstmsdkvc1dec.c
│ │ ├── gstmsdkvc1dec.h
│ │ ├── gstmsdkvideomemory.c
│ │ ├── gstmsdkvideomemory.h
│ │ ├── gstmsdkvp8dec.c
│ │ ├── gstmsdkvp8dec.h
│ │ ├── gstmsdkvp9dec.c
│ │ ├── gstmsdkvp9dec.h
│ │ ├── gstmsdkvp9enc.c
│ │ ├── gstmsdkvp9enc.h
│ │ ├── gstmsdkvpp.c
│ │ ├── gstmsdkvpp.h
│ │ ├── gstmsdkvpputil.c
│ │ ├── gstmsdkvpputil.h
│ │ ├── meson.build
│ │ ├── msdk-enums.c
│ │ ├── msdk-enums.h
│ │ ├── msdk.c
│ │ ├── msdk.h
│ │ ├── msdk_d3d.c
│ │ ├── msdk_libva.c
│ │ └── msdk_libva.h
│ ├── nvcodec/
│ │ ├── cuda-converter.c
│ │ ├── cuda-converter.h
│ │ ├── cuviddec.h
│ │ ├── gstcudabasefilter.c
│ │ ├── gstcudabasefilter.h
│ │ ├── gstcudabasetransform.c
│ │ ├── gstcudabasetransform.h
│ │ ├── gstcudabufferpool.c
│ │ ├── gstcudabufferpool.h
│ │ ├── gstcudacontext.c
│ │ ├── gstcudacontext.h
│ │ ├── gstcudaconvert.c
│ │ ├── gstcudaconvert.h
│ │ ├── gstcudadownload.c
│ │ ├── gstcudadownload.h
│ │ ├── gstcudafilter.c
│ │ ├── gstcudafilter.h
│ │ ├── gstcudaloader.c
│ │ ├── gstcudaloader.h
│ │ ├── gstcudamemory.c
│ │ ├── gstcudamemory.h
│ │ ├── gstcudanvrtc.c
│ │ ├── gstcudanvrtc.h
│ │ ├── gstcudascale.c
│ │ ├── gstcudascale.h
│ │ ├── gstcudaupload.c
│ │ ├── gstcudaupload.h
│ │ ├── gstcudautils.c
│ │ ├── gstcudautils.h
│ │ ├── gstcuvidloader.c
│ │ ├── gstcuvidloader.h
│ │ ├── gstnvbaseenc.c
│ │ ├── gstnvbaseenc.h
│ │ ├── gstnvdec.c
│ │ ├── gstnvdec.h
│ │ ├── gstnvdecoder.c
│ │ ├── gstnvdecoder.h
│ │ ├── gstnvenc.c
│ │ ├── gstnvenc.h
│ │ ├── gstnvh264dec.c
│ │ ├── gstnvh264dec.h
│ │ ├── gstnvh264enc.c
│ │ ├── gstnvh264enc.h
│ │ ├── gstnvh265dec.c
│ │ ├── gstnvh265dec.h
│ │ ├── gstnvh265enc.c
│ │ ├── gstnvh265enc.h
│ │ ├── gstnvrtcloader.c
│ │ ├── gstnvrtcloader.h
│ │ ├── gstnvvp8dec.c
│ │ ├── gstnvvp8dec.h
│ │ ├── gstnvvp9dec.c
│ │ ├── gstnvvp9dec.h
│ │ ├── meson.build
│ │ ├── nvEncodeAPI.h
│ │ ├── nvcuvid.h
│ │ ├── plugin.c
│ │ └── stub/
│ │ ├── cuda.h
│ │ └── nvrtc.h
│ ├── opensles/
│ │ ├── meson.build
│ │ ├── opensles.c
│ │ ├── opensles.h
│ │ ├── openslescommon.c
│ │ ├── openslescommon.h
│ │ ├── openslesplugin.c
│ │ ├── openslesringbuffer.c
│ │ ├── openslesringbuffer.h
│ │ ├── openslessink.c
│ │ ├── openslessink.h
│ │ ├── openslessrc.c
│ │ └── openslessrc.h
│ ├── shm/
│ │ ├── gstshm.c
│ │ ├── gstshmsink.c
│ │ ├── gstshmsink.h
│ │ ├── gstshmsrc.c
│ │ ├── gstshmsrc.h
│ │ ├── meson.build
│ │ ├── shmalloc.c
│ │ ├── shmalloc.h
│ │ ├── shmpipe.c
│ │ └── shmpipe.h
│ ├── tinyalsa/
│ │ ├── meson.build
│ │ ├── tinyalsa.c
│ │ ├── tinyalsasink.c
│ │ └── tinyalsasink.h
│ ├── uvch264/
│ │ ├── gstuvch264.c
│ │ ├── gstuvch264_mjpgdemux.c
│ │ ├── gstuvch264_mjpgdemux.h
│ │ ├── gstuvch264_src.c
│ │ ├── gstuvch264_src.h
│ │ ├── gstuvch264deviceprovider.c
│ │ ├── gstuvch264deviceprovider.h
│ │ ├── meson.build
│ │ ├── uvc_h264.c
│ │ └── uvc_h264.h
│ ├── v4l2codecs/
│ │ ├── gstv4l2codecallocator.c
│ │ ├── gstv4l2codecallocator.h
│ │ ├── gstv4l2codecalphadecodebin.c
│ │ ├── gstv4l2codecalphadecodebin.h
│ │ ├── gstv4l2codecdevice.c
│ │ ├── gstv4l2codecdevice.h
│ │ ├── gstv4l2codech264dec.c
│ │ ├── gstv4l2codech264dec.h
│ │ ├── gstv4l2codecpool.c
│ │ ├── gstv4l2codecpool.h
│ │ ├── gstv4l2codecvp8dec.c
│ │ ├── gstv4l2codecvp8dec.h
│ │ ├── gstv4l2decoder.c
│ │ ├── gstv4l2decoder.h
│ │ ├── gstv4l2format.c
│ │ ├── gstv4l2format.h
│ │ ├── linux/
│ │ │ ├── media.h
│ │ │ ├── types-compat.h
│ │ │ ├── v4l2-common.h
│ │ │ ├── v4l2-controls.h
│ │ │ └── videodev2.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── va/
│ │ ├── gstvaallocator.c
│ │ ├── gstvaallocator.h
│ │ ├── gstvaav1dec.c
│ │ ├── gstvaav1dec.h
│ │ ├── gstvabasedec.c
│ │ ├── gstvabasedec.h
│ │ ├── gstvabasetransform.c
│ │ ├── gstvabasetransform.h
│ │ ├── gstvacaps.c
│ │ ├── gstvacaps.h
│ │ ├── gstvadecoder.c
│ │ ├── gstvadecoder.h
│ │ ├── gstvadeinterlace.c
│ │ ├── gstvadeinterlace.h
│ │ ├── gstvadevice.c
│ │ ├── gstvadevice.h
│ │ ├── gstvadisplay_priv.c
│ │ ├── gstvadisplay_priv.h
│ │ ├── gstvafilter.c
│ │ ├── gstvafilter.h
│ │ ├── gstvah264dec.c
│ │ ├── gstvah264dec.h
│ │ ├── gstvah265dec.c
│ │ ├── gstvah265dec.h
│ │ ├── gstvampeg2dec.c
│ │ ├── gstvampeg2dec.h
│ │ ├── gstvapool.c
│ │ ├── gstvapool.h
│ │ ├── gstvaprofile.c
│ │ ├── gstvaprofile.h
│ │ ├── gstvautils.c
│ │ ├── gstvautils.h
│ │ ├── gstvavideoformat.c
│ │ ├── gstvavideoformat.h
│ │ ├── gstvavp8dec.c
│ │ ├── gstvavp8dec.h
│ │ ├── gstvavp9dec.c
│ │ ├── gstvavp9dec.h
│ │ ├── gstvavpp.c
│ │ ├── gstvavpp.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── wasapi/
│ │ ├── gstaudioclient3.h
│ │ ├── gstmmdeviceenumerator.cpp
│ │ ├── gstmmdeviceenumerator.h
│ │ ├── gstwasapi.c
│ │ ├── gstwasapidevice.c
│ │ ├── gstwasapidevice.h
│ │ ├── gstwasapisink.c
│ │ ├── gstwasapisink.h
│ │ ├── gstwasapisrc.c
│ │ ├── gstwasapisrc.h
│ │ ├── gstwasapiutil.c
│ │ ├── gstwasapiutil.h
│ │ └── meson.build
│ ├── wasapi2/
│ │ ├── AsyncOperations.h
│ │ ├── gstwasapi2client.cpp
│ │ ├── gstwasapi2client.h
│ │ ├── gstwasapi2device.c
│ │ ├── gstwasapi2device.h
│ │ ├── gstwasapi2ringbuffer.cpp
│ │ ├── gstwasapi2ringbuffer.h
│ │ ├── gstwasapi2sink.c
│ │ ├── gstwasapi2sink.h
│ │ ├── gstwasapi2src.c
│ │ ├── gstwasapi2src.h
│ │ ├── gstwasapi2util.c
│ │ ├── gstwasapi2util.h
│ │ ├── meson.build
│ │ └── plugin.c
│ ├── winks/
│ │ ├── gstksclock.c
│ │ ├── gstksclock.h
│ │ ├── gstksvideodevice.c
│ │ ├── gstksvideodevice.h
│ │ ├── gstksvideosrc.c
│ │ ├── gstksvideosrc.h
│ │ ├── ksdeviceprovider.c
│ │ ├── ksdeviceprovider.h
│ │ ├── kshelpers.c
│ │ ├── kshelpers.h
│ │ ├── ksvideohelpers.c
│ │ ├── ksvideohelpers.h
│ │ └── meson.build
│ └── winscreencap/
│ ├── dxgicapture.c
│ ├── dxgicapture.h
│ ├── gstdx9screencapsrc.c
│ ├── gstdx9screencapsrc.h
│ ├── gstdxgiscreencapsrc.c
│ ├── gstdxgiscreencapsrc.h
│ ├── gstgdiscreencapsrc.c
│ ├── gstgdiscreencapsrc.h
│ ├── gstwinscreencap.c
│ ├── gstwinscreencap.h
│ └── meson.build
├── tests/
│ ├── check/
│ │ ├── elements/
│ │ │ ├── adaptive_demux_common.c
│ │ │ ├── adaptive_demux_common.h
│ │ │ ├── adaptive_demux_engine.c
│ │ │ ├── adaptive_demux_engine.h
│ │ │ ├── aesdec.c
│ │ │ ├── aesenc.c
│ │ │ ├── aiffparse.c
│ │ │ ├── asfmux.c
│ │ │ ├── assrender.c
│ │ │ ├── autoconvert.c
│ │ │ ├── autovideoconvert.c
│ │ │ ├── av1parse.c
│ │ │ ├── av1parse.h
│ │ │ ├── avtpaafdepay.c
│ │ │ ├── avtpaafpay.c
│ │ │ ├── avtpcrfbase.c
│ │ │ ├── avtpcrfcheck.c
│ │ │ ├── avtpcrfsync.c
│ │ │ ├── avtpcrfutil.c
│ │ │ ├── avtpcvfdepay.c
│ │ │ ├── avtpcvfpay.c
│ │ │ ├── avtpsink.c
│ │ │ ├── avtpsrc.c
│ │ │ ├── avwait.c
│ │ │ ├── camerabin.c
│ │ │ ├── cccombiner.c
│ │ │ ├── ccconverter.c
│ │ │ ├── ccextractor.c
│ │ │ ├── clockselect.c
│ │ │ ├── cudaconvert.c
│ │ │ ├── cudafilter.c
│ │ │ ├── curlfilesink.c
│ │ │ ├── curlftpsink.c
│ │ │ ├── curlhttpsink.c
│ │ │ ├── curlhttpsrc.c
│ │ │ ├── curlsftpsink.c
│ │ │ ├── curlsmtpsink.c
│ │ │ ├── d3d11colorconvert.c
│ │ │ ├── dash_demux.c
│ │ │ ├── dash_mpd.c
│ │ │ ├── dash_mpd_data/
│ │ │ │ ├── xlink_double_period.period
│ │ │ │ └── xlink_single_period.period
│ │ │ ├── dtls.c
│ │ │ ├── faac.c
│ │ │ ├── faad.c
│ │ │ ├── gdpdepay.c
│ │ │ ├── gdppay.c
│ │ │ ├── h263parse.c
│ │ │ ├── h264parse.c
│ │ │ ├── h265parse.c
│ │ │ ├── hls_demux.c
│ │ │ ├── hlsdemux_m3u8.c
│ │ │ ├── id3mux.c
│ │ │ ├── interlace.c
│ │ │ ├── jifmux.c
│ │ │ ├── jpeg2000parse.c
│ │ │ ├── jpegparse.c
│ │ │ ├── kate.c
│ │ │ ├── line21.c
│ │ │ ├── mfvideosrc.c
│ │ │ ├── mpeg2enc.c
│ │ │ ├── mpeg4videoparse.c
│ │ │ ├── mpegtsdemux.c
│ │ │ ├── mpegtsmux.c
│ │ │ ├── mpegvideoparse.c
│ │ │ ├── mplex.c
│ │ │ ├── msdkh264enc.c
│ │ │ ├── mssdemux.c
│ │ │ ├── mxfdemux.c
│ │ │ ├── mxfdemux.h
│ │ │ ├── mxfmux.c
│ │ │ ├── neonhttpsrc.c
│ │ │ ├── netsim.c
│ │ │ ├── nvdec.c
│ │ │ ├── nvenc.c
│ │ │ ├── ofa.c
│ │ │ ├── openjpeg.c
│ │ │ ├── parser.c
│ │ │ ├── parser.h
│ │ │ ├── pcapparse.c
│ │ │ ├── pnm.c
│ │ │ ├── ristrtpext.c
│ │ │ ├── rtponvifparse.c
│ │ │ ├── rtponviftimestamp.c
│ │ │ ├── rtpsink.c
│ │ │ ├── rtpsrc.c
│ │ │ ├── shm.c
│ │ │ ├── srtp.c
│ │ │ ├── svthevcenc.c
│ │ │ ├── switchbin.c
│ │ │ ├── templatematch.c
│ │ │ ├── test_http_src.c
│ │ │ ├── test_http_src.h
│ │ │ ├── uvch264demux.c
│ │ │ ├── uvch264demux_data/
│ │ │ │ ├── valid_h264_jpg.h264
│ │ │ │ ├── valid_h264_jpg.mjpg
│ │ │ │ ├── valid_h264_yuy2.h264
│ │ │ │ ├── valid_h264_yuy2.mjpg
│ │ │ │ └── valid_h264_yuy2.yuy2
│ │ │ ├── videoframe-audiolevel.c
│ │ │ ├── viewfinderbin.c
│ │ │ ├── vkcolorconvert.c
│ │ │ ├── vkdeviceprovider.c
│ │ │ ├── voaacenc.c
│ │ │ ├── voamrwbenc.c
│ │ │ ├── vp9parse.c
│ │ │ ├── vp9parse.h
│ │ │ ├── wasapi.c
│ │ │ ├── wasapi2.c
│ │ │ ├── webrtcbin.c
│ │ │ ├── x265enc.c
│ │ │ ├── zbar.c
│ │ │ └── zxing.c
│ │ ├── generic/
│ │ │ └── states.c
│ │ ├── gst-plugins-bad.supp
│ │ ├── libs/
│ │ │ ├── av1parser.c
│ │ │ ├── h264parser.c
│ │ │ ├── h265parser.c
│ │ │ ├── insertbin.c
│ │ │ ├── isoff.c
│ │ │ ├── isoff.h
│ │ │ ├── mpegts.c
│ │ │ ├── mpegvideoparser.c
│ │ │ ├── nalutils.c
│ │ │ ├── planaraudioadapter.c
│ │ │ ├── play.c
│ │ │ ├── vc1parser.c
│ │ │ ├── vkcommandpool.c
│ │ │ ├── vkdevice.c
│ │ │ ├── vkimage.c
│ │ │ ├── vkinstance.c
│ │ │ ├── vkmemory.c
│ │ │ ├── vkwindow.c
│ │ │ ├── vp8parser.c
│ │ │ └── vp9parser.c
│ │ ├── media/
│ │ │ ├── download-media
│ │ │ └── meson.build
│ │ ├── meson.build
│ │ └── pipelines/
│ │ ├── ipcpipeline.c
│ │ ├── mxf.c
│ │ └── streamheader.c
│ ├── examples/
│ │ ├── audiomixmatrix/
│ │ │ ├── meson.build
│ │ │ └── test-audiomixmatrix.c
│ │ ├── avsamplesink/
│ │ │ ├── main.m
│ │ │ └── meson.build
│ │ ├── camerabin2/
│ │ │ ├── gst-camera2.c
│ │ │ ├── gst-camera2.h
│ │ │ ├── gst-camera2.ui
│ │ │ ├── gst-camerabin2-test.c
│ │ │ └── meson.build
│ │ ├── codecparsers/
│ │ │ ├── meson.build
│ │ │ ├── parse-jpeg.c
│ │ │ └── parse-vp8.c
│ │ ├── d3d11videosink/
│ │ │ ├── d3d11device.cpp
│ │ │ ├── d3d11device.h
│ │ │ ├── d3d11videosink-kb.c
│ │ │ ├── d3d11videosink-kb.h
│ │ │ ├── d3d11videosink-shared-texture-d3d9ex.cpp
│ │ │ ├── d3d11videosink-shared-texture.cpp
│ │ │ ├── d3d11videosink.c
│ │ │ └── meson.build
│ │ ├── directfb/
│ │ │ ├── gstdfb.c
│ │ │ └── meson.build
│ │ ├── ipcpipeline/
│ │ │ ├── ipc-play.c
│ │ │ ├── ipcpipeline1.c
│ │ │ └── meson.build
│ │ ├── meson.build
│ │ ├── mpegts/
│ │ │ ├── meson.build
│ │ │ ├── ts-parser.c
│ │ │ ├── ts-scte-writer.c
│ │ │ ├── ts-section-writer.c
│ │ │ └── tsmux-prog-map.c
│ │ ├── msdk/
│ │ │ ├── meson.build
│ │ │ └── test-roi.c
│ │ ├── mxf/
│ │ │ ├── meson.build
│ │ │ └── mxfdemux-structure.c
│ │ ├── nvcodec/
│ │ │ ├── meson.build
│ │ │ ├── nvcodec-kb.c
│ │ │ ├── nvcodec.c
│ │ │ └── nvcodec.h
│ │ ├── opencv/
│ │ │ ├── gstfacedetect_test.c
│ │ │ ├── gsthanddetect_test.c
│ │ │ ├── gstmotioncells_dynamic_test.c
│ │ │ └── meson.build
│ │ ├── playout.c
│ │ ├── uvch264/
│ │ │ ├── boolean_property.glade
│ │ │ ├── enum_property.glade
│ │ │ ├── enum_property_gtk2.glade
│ │ │ ├── int_property.glade
│ │ │ ├── meson.build
│ │ │ ├── test-uvch264.c
│ │ │ └── window.glade
│ │ ├── va/
│ │ │ ├── main.c
│ │ │ ├── meson.build
│ │ │ └── multiple-vpp.c
│ │ ├── waylandsink/
│ │ │ ├── main.c
│ │ │ ├── meson.build
│ │ │ ├── wayland-threads.c
│ │ │ └── window.ui
│ │ ├── webrtc/
│ │ │ ├── meson.build
│ │ │ ├── webrtc.c
│ │ │ ├── webrtcbidirectional.c
│ │ │ ├── webrtcrenego.c
│ │ │ ├── webrtcswap.c
│ │ │ └── webrtctransceiver.c
│ │ └── wpe/
│ │ ├── meson.build
│ │ └── wpe.c
│ ├── files/
│ │ ├── s16be-id3v2.aiff
│ │ └── test.ts
│ ├── icles/
│ │ ├── meson.build
│ │ └── pitch-test.c
│ ├── meson.build
│ └── validate/
│ ├── meson.build
│ └── opencv/
│ ├── cvtracker/
│ │ └── flow-expectations/
│ │ └── log-tracker-src-expected
│ └── cvtracker.validatetest
└── tools/
├── element-templates/
│ ├── audiodecoder
│ ├── audioencoder
│ ├── audiofilter
│ ├── audiosink
│ ├── audiosrc
│ ├── baseparse
│ ├── basesink
│ ├── basesrc
│ ├── basetransform
│ ├── element
│ ├── gobject
│ ├── sinkpad
│ ├── sinkpad-audio
│ ├── sinkpad-simple
│ ├── sinkpad-template
│ ├── sinkpad-template-video
│ ├── srcpad
│ ├── srcpad-audio
│ ├── srcpad-simple
│ ├── srcpad-template
│ ├── srcpad-template-video
│ ├── videodecoder
│ ├── videoencoder
│ ├── videofilter
│ └── videosink
├── gst-app-maker
├── gst-element-maker
├── gst-element-maker-test.sh
├── gst-project-maker
├── gst-transcoder.c
├── meson.build
├── utils.c
└── utils.h
Showing preview only (1,791K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (28358 symbols across 2032 files)
FILE: ext/aes/gstaes.c
function gboolean (line 41) | static gboolean
FILE: ext/aes/gstaesdec.c
function gst_aes_dec_class_init (line 121) | static void
function gst_aes_dec_init (line 234) | static void
function gst_aes_dec_finalize (line 244) | static void
function gst_aes_dec_set_property (line 254) | static void
function gst_aes_dec_get_property (line 322) | static void
function gboolean (line 350) | static gboolean
function GstFlowReturn (line 430) | static GstFlowReturn
function GstFlowReturn (line 526) | static GstFlowReturn
function gboolean (line 558) | static gboolean
function gboolean (line 578) | static gboolean
function gboolean (line 596) | static gboolean
function gboolean (line 608) | static gboolean
FILE: ext/aes/gstaesdec.h
type _GstAesDec (line 62) | struct _GstAesDec
type _GstAesDecClass (line 82) | struct _GstAesDecClass
FILE: ext/aes/gstaesenc.c
function gst_aes_enc_class_init (line 120) | static void
function gst_aes_enc_init (line 234) | static void
function gst_aes_enc_finalize (line 244) | static void
function gst_aes_enc_set_property (line 253) | static void
function gst_aes_enc_get_property (line 320) | static void
function gboolean (line 348) | static gboolean
function GstFlowReturn (line 427) | static GstFlowReturn
function GstFlowReturn (line 514) | static GstFlowReturn
function gboolean (line 549) | static gboolean
function gboolean (line 565) | static gboolean
function gboolean (line 577) | static gboolean
FILE: ext/aes/gstaesenc.h
type _GstAesEnc (line 62) | struct _GstAesEnc
type _GstAesEncClass (line 84) | struct _GstAesEncClass
FILE: ext/aes/gstaeshelper.c
function GType (line 53) | GType
function gchar (line 77) | const gchar *
function gchar (line 93) | gchar
function gchar (line 110) | gchar *
function guint (line 140) | guint
FILE: ext/aes/gstaeshelper.h
type GstAesCipher (line 64) | typedef enum {
FILE: ext/aom/gstaom.c
function gboolean (line 29) | static gboolean
FILE: ext/aom/gstav1dec.c
function gst_av1_dec_class_init (line 100) | static void
function gst_av1_dec_init (line 136) | static void
function gst_av1_dec_set_property (line 148) | static void
function gst_av1_dec_get_property (line 159) | static void
function gboolean (line 170) | static gboolean
function gboolean (line 182) | static gboolean
function gboolean (line 205) | static gboolean
function gboolean (line 229) | static gboolean
function GstFlowReturn (line 247) | static GstFlowReturn
function gst_av1_dec_handle_resolution_change (line 264) | static void
function gst_av1_dec_image_to_buffer (line 285) | static void
function gboolean (line 338) | gboolean
function GstFlowReturn (line 413) | static GstFlowReturn
FILE: ext/aom/gstav1dec.h
type GstAV1Dec (line 47) | typedef struct _GstAV1Dec GstAV1Dec;
type GstAV1DecClass (line 48) | typedef struct _GstAV1DecClass GstAV1DecClass;
type _GstAV1Dec (line 50) | struct _GstAV1Dec
type _GstAV1DecClass (line 62) | struct _GstAV1DecClass
FILE: ext/aom/gstav1enc.c
function GType (line 53) | static GType
function GType (line 74) | static GType
function GType (line 100) | static GType
function gst_av1_enc_class_init (line 224) | static void
function gst_av1_codec_error (line 408) | static void
function gst_av1_enc_init (line 416) | static void
function gst_av1_enc_finalize (line 457) | static void
function gst_av1_enc_set_latency (line 473) | static void
function gchar (line 497) | static const gchar *
function gst_av1_enc_debug_encoder_cfg (line 514) | static void
function gint (line 561) | static gint
function gst_av1_enc_adjust_profile (line 600) | static void
function gboolean (line 648) | static gboolean
function GstFlowReturn (line 729) | static GstFlowReturn
function gst_av1_enc_fill_image (line 771) | static void
function GstFlowReturn (line 784) | static GstFlowReturn
function GstFlowReturn (line 832) | static GstFlowReturn
function gst_av1_enc_destroy_encoder (line 858) | static void
function gboolean (line 869) | static gboolean
function gst_av1_enc_set_property (line 878) | static void
function gst_av1_enc_get_property (line 1004) | static void
function gboolean (line 1092) | static gboolean
function gboolean (line 1098) | static gboolean
FILE: ext/aom/gstav1enc.h
type GstAV1Enc (line 49) | typedef struct _GstAV1Enc GstAV1Enc;
type GstAV1EncClass (line 50) | typedef struct _GstAV1EncClass GstAV1EncClass;
type GstAV1EncResizeMode (line 60) | typedef enum
type GstAV1EncSuperresMode (line 78) | typedef enum
type GstAV1EncEndUsageMode (line 97) | typedef enum
type _GstAV1Enc (line 106) | struct _GstAV1Enc
type _GstAV1EncClass (line 129) | struct _GstAV1EncClass
FILE: ext/aom/gstav1utils.c
type AomImageFormat (line 26) | typedef struct
function gint (line 66) | gint
FILE: ext/assrender/gstassrender.c
function gst_ass_render_class_init (line 152) | static void
function _libass_message_cb (line 193) | static void
function gst_ass_render_init (line 213) | static void
function gst_ass_render_finalize (line 277) | static void
function gst_ass_render_reset_composition (line 302) | static void
function gst_ass_render_set_property (line 311) | static void
function gst_ass_render_get_property (line 338) | static void
function gst_ass_render_pop_text (line 363) | static void
function GstStateChangeReturn (line 379) | static GstStateChangeReturn
function gboolean (line 430) | static gboolean
function gboolean (line 455) | static gboolean
function GstCaps (line 483) | static GstCaps *
function GstCaps (line 518) | static GstCaps *
function GstCaps (line 554) | static GstCaps *
function GstCaps (line 615) | static GstCaps *
function blit_bgra_premultiplied (line 678) | static void
function gboolean (line 745) | static gboolean
function gst_ass_render_update_render_size (line 759) | static void
function gboolean (line 777) | static gboolean
function gboolean (line 956) | static gboolean
function gboolean (line 988) | static gboolean
function gst_ass_render_process_text (line 1037) | static void
function GstVideoOverlayComposition (line 1064) | static GstVideoOverlayComposition *
function gboolean (line 1137) | static gboolean
function GstFlowReturn (line 1166) | static GstFlowReturn
function GstFlowReturn (line 1482) | static GstFlowReturn
function gst_ass_render_handle_tag_sample (line 1550) | static void
function gst_ass_render_handle_tags (line 1613) | static void
function gboolean (line 1638) | static gboolean
function gboolean (line 1725) | static gboolean
function gboolean (line 1752) | static gboolean
function gboolean (line 1880) | static gboolean
FILE: ext/assrender/gstassrender.h
type GstAssRender (line 47) | typedef struct _GstAssRender GstAssRender;
type GstAssRenderClass (line 48) | typedef struct _GstAssRenderClass GstAssRenderClass;
type _GstAssRender (line 50) | struct _GstAssRender
type _GstAssRenderClass (line 90) | struct _GstAssRenderClass
FILE: ext/avtp/gstavtp.c
function gboolean (line 249) | static gboolean
FILE: ext/avtp/gstavtpaafdepay.c
function gst_avtp_aaf_depay_class_init (line 65) | static void
function gst_avtp_aaf_depay_init (line 86) | static void
function gchar (line 95) | static const gchar *
function gint (line 121) | static gint
function gboolean (line 150) | static gboolean
function gboolean (line 183) | static gboolean
function GstFlowReturn (line 209) | static GstFlowReturn
FILE: ext/avtp/gstavtpaafdepay.h
type GstAvtpAafDepay (line 41) | typedef struct _GstAvtpAafDepay GstAvtpAafDepay;
type GstAvtpAafDepayClass (line 42) | typedef struct _GstAvtpAafDepayClass GstAvtpAafDepayClass;
type _GstAvtpAafDepay (line 44) | struct _GstAvtpAafDepay
type _GstAvtpAafDepayClass (line 54) | struct _GstAvtpAafDepayClass
FILE: ext/avtp/gstavtpaafpay.c
function GType (line 66) | static GType
function gst_avtp_aaf_pay_class_init (line 107) | static void
function gst_avtp_aaf_pay_init (line 145) | static void
function gst_avtp_aaf_pay_set_property (line 157) | static void
function gst_avtp_aaf_pay_get_property (line 175) | static void
function GstStateChangeReturn (line 193) | static GstStateChangeReturn
function GstFlowReturn (line 263) | static GstFlowReturn
function gst_to_avtp_rate (line 308) | static int
function gst_to_avtp_format (line 337) | static int
function gboolean (line 354) | static gboolean
function gboolean (line 376) | static gboolean
FILE: ext/avtp/gstavtpaafpay.h
type GstAvtpAafPay (line 41) | typedef struct _GstAvtpAafPay GstAvtpAafPay;
type GstAvtpAafPayClass (line 42) | typedef struct _GstAvtpAafPayClass GstAvtpAafPayClass;
type GstAvtpAafTimestampMode (line 43) | typedef enum _GstAvtpAafTimestampMode GstAvtpAafTimestampMode;
type _GstAvtpAafTimestampMode (line 45) | enum _GstAvtpAafTimestampMode {
type _GstAvtpAafPay (line 50) | struct _GstAvtpAafPay
type _GstAvtpAafPayClass (line 63) | struct _GstAvtpAafPayClass
FILE: ext/avtp/gstavtpbasedepayload.c
function GType (line 54) | GType
function gst_avtp_base_depayload_class_init (line 81) | static void
function gst_avtp_base_depayload_init (line 104) | static void
function gst_avtp_base_depayload_set_property (line 136) | static void
function gst_avtp_base_depayload_get_property (line 154) | static void
function gboolean (line 172) | static gboolean
function GstClockTime (line 204) | GstClockTime
function gboolean (line 224) | gboolean
FILE: ext/avtp/gstavtpbasedepayload.h
type GstAvtpBaseDepayload (line 39) | typedef struct _GstAvtpBaseDepayload GstAvtpBaseDepayload;
type GstAvtpBaseDepayloadClass (line 40) | typedef struct _GstAvtpBaseDepayloadClass GstAvtpBaseDepayloadClass;
type _GstAvtpBaseDepayload (line 42) | struct _GstAvtpBaseDepayload
type _GstAvtpBaseDepayloadClass (line 57) | struct _GstAvtpBaseDepayloadClass
FILE: ext/avtp/gstavtpbasepayload.c
function GType (line 59) | GType
function gst_avtp_base_payload_class_init (line 86) | static void
function gst_avtp_base_payload_init (line 122) | static void
function gst_avtp_base_payload_set_property (line 157) | static void
function gst_avtp_base_payload_get_property (line 184) | static void
function gboolean (line 211) | static gboolean
function GstClockTime (line 228) | GstClockTime
FILE: ext/avtp/gstavtpbasepayload.h
type GstAvtpBasePayload (line 39) | typedef struct _GstAvtpBasePayload GstAvtpBasePayload;
type GstAvtpBasePayloadClass (line 40) | typedef struct _GstAvtpBasePayloadClass GstAvtpBasePayloadClass;
type _GstAvtpBasePayload (line 42) | struct _GstAvtpBasePayload
type _GstAvtpBasePayloadClass (line 61) | struct _GstAvtpBasePayloadClass
FILE: ext/avtp/gstavtpcrfbase.c
function gst_avtp_crf_base_class_init (line 80) | static void
function gst_avtp_crf_base_init (line 119) | static void
function GstStateChangeReturn (line 127) | static GstStateChangeReturn
function setup_socket (line 174) | static int
function gboolean (line 246) | static gboolean
function gdouble (line 382) | static gdouble
function calculate_average_period (line 404) | static void
function crf_listener_thread_func (line 475) | static void
function gst_avtp_crf_base_finalize (line 526) | static void
function gst_avtp_crf_base_set_property (line 537) | static void
function gst_avtp_crf_base_get_property (line 563) | static void
FILE: ext/avtp/gstavtpcrfbase.h
type GstAvtpCrfBase (line 38) | typedef struct _GstAvtpCrfBase GstAvtpCrfBase;
type GstAvtpCrfBaseClass (line 39) | typedef struct _GstAvtpCrfBaseClass GstAvtpCrfBaseClass;
type GstAvtpCrfThreadData (line 40) | typedef struct _GstAvtpCrfThreadData GstAvtpCrfThreadData;
type _GstAvtpCrfThreadData (line 42) | struct _GstAvtpCrfThreadData
type _GstAvtpCrfBase (line 63) | struct _GstAvtpCrfBase
type _GstAvtpCrfBaseClass (line 74) | struct _GstAvtpCrfBaseClass
FILE: ext/avtp/gstavtpcrfcheck.c
function gst_avtp_crf_check_class_init (line 71) | static void
function gst_avtp_crf_check_init (line 99) | static void
function gst_avtp_crf_check_set_property (line 105) | static void
function gst_avtp_crf_check_get_property (line 123) | static void
function post_qos_message (line 141) | static void
function GstFlowReturn (line 160) | static GstFlowReturn
FILE: ext/avtp/gstavtpcrfcheck.h
type GstAvtpCrfCheck (line 38) | typedef struct _GstAvtpCrfCheck GstAvtpCrfCheck;
type GstAvtpCrfCheckClass (line 39) | typedef struct _GstAvtpCrfCheckClass GstAvtpCrfCheckClass;
type _GstAvtpCrfCheck (line 41) | struct _GstAvtpCrfCheck
type _GstAvtpCrfCheckClass (line 48) | struct _GstAvtpCrfCheckClass
FILE: ext/avtp/gstavtpcrfsync.c
function gst_avtp_crf_sync_class_init (line 62) | static void
function gst_avtp_crf_sync_init (line 80) | static void
function set_avtp_tstamp (line 86) | static void
function set_avtp_mr_bit (line 112) | static void
function GstFlowReturn (line 138) | static GstFlowReturn
FILE: ext/avtp/gstavtpcrfsync.h
type GstAvtpCrfSync (line 38) | typedef struct _GstAvtpCrfSync GstAvtpCrfSync;
type GstAvtpCrfSyncClass (line 39) | typedef struct _GstAvtpCrfSyncClass GstAvtpCrfSyncClass;
type _GstAvtpCrfSync (line 41) | struct _GstAvtpCrfSync
type _GstAvtpCrfSyncClass (line 46) | struct _GstAvtpCrfSyncClass
FILE: ext/avtp/gstavtpcrfutil.c
function gboolean (line 29) | gboolean
function GstClockTime (line 55) | GstClockTime
function gboolean (line 93) | gboolean
FILE: ext/avtp/gstavtpcrfutil.h
type avtp_stream_pdu (line 29) | struct avtp_stream_pdu
type avtp_stream_pdu (line 30) | struct avtp_stream_pdu
FILE: ext/avtp/gstavtpcvfdepay.c
function gst_avtp_cvf_depay_class_init (line 89) | static void
function gst_avtp_cvf_depay_init (line 113) | static void
function GstStateChangeReturn (line 121) | static GstStateChangeReturn
function gboolean (line 143) | static gboolean
function GstFlowReturn (line 178) | static GstFlowReturn
function GstFlowReturn (line 272) | static GstFlowReturn
function gboolean (line 294) | static gboolean
function guint8 (line 399) | static guint8
function gst_avtp_cvf_depay_get_avtp_timestamps (line 414) | static void
function GstFlowReturn (line 448) | static GstFlowReturn
function gst_avtp_cvf_depay_get_M (line 474) | static void
function gst_avtp_cvf_depay_get_nalu_size (line 490) | static void
function GstFlowReturn (line 507) | static GstFlowReturn
function GstFlowReturn (line 563) | static GstFlowReturn
function GstFlowReturn (line 645) | static GstFlowReturn
function GstFlowReturn (line 689) | static GstFlowReturn
FILE: ext/avtp/gstavtpcvfdepay.h
type GstAvtpCvfDepay (line 41) | typedef struct _GstAvtpCvfDepay GstAvtpCvfDepay;
type GstAvtpCvfDepayClass (line 42) | typedef struct _GstAvtpCvfDepayClass GstAvtpCvfDepayClass;
type _GstAvtpCvfDepay (line 44) | struct _GstAvtpCvfDepay
type _GstAvtpCvfDepayClass (line 53) | struct _GstAvtpCvfDepayClass
FILE: ext/avtp/gstavtpcvfpay.c
function gst_avtp_cvf_pay_class_init (line 103) | static void
function gst_avtp_cvf_pay_init (line 150) | static void
function gst_avtp_cvf_set_property (line 161) | static void
function gst_avtp_cvf_get_property (line 185) | static void
function GstStateChangeReturn (line 209) | static GstStateChangeReturn
function gst_avtp_cvf_pay_extract_nals (line 254) | static void
function gboolean (line 326) | static gboolean
function GstBuffer (line 337) | static GstBuffer *
function gst_avtp_cvf_pay_spread_ts (line 414) | static void
function gboolean (line 522) | static gboolean
function GstFlowReturn (line 639) | static GstFlowReturn
function GstFlowReturn (line 659) | static GstFlowReturn
function gboolean (line 691) | static gboolean
function gboolean (line 734) | static gboolean
FILE: ext/avtp/gstavtpcvfpay.h
type GstAvtpCvfPay (line 41) | typedef struct _GstAvtpCvfPay GstAvtpCvfPay;
type GstAvtpCvfPayClass (line 42) | typedef struct _GstAvtpCvfPayClass GstAvtpCvfPayClass;
type _GstAvtpCvfPay (line 44) | struct _GstAvtpCvfPay
type _GstAvtpCvfPayClass (line 58) | struct _GstAvtpCvfPayClass
FILE: ext/avtp/gstavtpsink.c
function gst_avtp_sink_class_init (line 102) | static void
function gst_avtp_sink_init (line 144) | static void
function gst_avtp_sink_finalize (line 156) | static void
function gst_avtp_sink_set_property (line 167) | static void
function gst_avtp_sink_get_property (line 193) | static void
function gboolean (line 217) | static gboolean
function gst_avtp_sink_init_msghdr (line 283) | static void
function gboolean (line 305) | static gboolean
function gboolean (line 320) | static gboolean
function GstClockTime (line 337) | static GstClockTime
function gst_avtp_sink_process_error_queue (line 370) | static void
function GstFlowReturn (line 415) | static GstFlowReturn
function gst_avtp_sink_get_times (line 468) | static void
FILE: ext/avtp/gstavtpsink.h
type GstAvtpSink (line 41) | typedef struct _GstAvtpSink GstAvtpSink;
type GstAvtpSinkClass (line 42) | typedef struct _GstAvtpSinkClass GstAvtpSinkClass;
type _GstAvtpSink (line 44) | struct _GstAvtpSink
type _GstAvtpSinkClass (line 57) | struct _GstAvtpSinkClass
FILE: ext/avtp/gstavtpsrc.c
function gst_avtp_src_class_init (line 92) | static void
function gst_avtp_src_init (line 129) | static void
function gst_avtp_src_finalize (line 141) | static void
function gst_avtp_src_set_property (line 152) | static void
function gst_avtp_src_get_property (line 175) | static void
function gboolean (line 196) | static gboolean
function gboolean (line 258) | static gboolean
function GstFlowReturn (line 269) | static GstFlowReturn
FILE: ext/avtp/gstavtpsrc.h
type GstAvtpSrc (line 40) | typedef struct _GstAvtpSrc GstAvtpSrc;
type GstAvtpSrcClass (line 41) | typedef struct _GstAvtpSrcClass GstAvtpSrcClass;
type _GstAvtpSrc (line 43) | struct _GstAvtpSrc
type _GstAvtpSrcClass (line 53) | struct _GstAvtpSrcClass
FILE: ext/bs2b/gstbs2b.c
type GstBs2bPreset (line 78) | typedef struct
function gchar (line 117) | static gchar **
function gchar (line 131) | static gchar **
function gboolean (line 142) | static gboolean
function gboolean (line 160) | static gboolean
function gst_preset_interface_init (line 178) | static void
function gst_bs2b_class_init (line 195) | static void
function gst_bs2b_init (line 236) | static void
function gboolean (line 243) | static gboolean
function gst_bs2b_finalize (line 330) | static void
function GstFlowReturn (line 341) | static GstFlowReturn
function gst_bs2b_set_property (line 363) | static void
function gst_bs2b_get_property (line 388) | static void
function gboolean (line 411) | static gboolean
FILE: ext/bs2b/gstbs2b.h
type GstBs2b (line 40) | typedef struct _GstBs2b GstBs2b;
type GstBs2bClass (line 41) | typedef struct _GstBs2bClass GstBs2bClass;
type _GstBs2b (line 44) | struct _GstBs2b
type _GstBs2bClass (line 55) | struct _GstBs2bClass
FILE: ext/bz2/gstbz2.c
function gboolean (line 30) | static gboolean
FILE: ext/bz2/gstbz2dec.c
type _GstBz2dec (line 39) | struct _GstBz2dec
type _GstBz2decClass (line 55) | struct _GstBz2decClass
function gst_bz2dec_decompress_end (line 74) | static void
function gst_bz2dec_decompress_init (line 86) | static void
function GstFlowReturn (line 105) | static GstFlowReturn
function gst_bz2dec_init (line 194) | static void
function gst_bz2dec_finalize (line 211) | static void
function gst_bz2dec_get_property (line 221) | static void
function gst_bz2dec_set_property (line 239) | static void
function GstStateChangeReturn (line 257) | static GstStateChangeReturn
function gst_bz2dec_class_init (line 277) | static void
FILE: ext/bz2/gstbz2dec.h
type GstBz2dec (line 31) | typedef struct _GstBz2dec GstBz2dec;
type GstBz2decClass (line 32) | typedef struct _GstBz2decClass GstBz2decClass;
FILE: ext/bz2/gstbz2enc.c
type _GstBz2enc (line 47) | struct _GstBz2enc
type _GstBz2encClass (line 63) | struct _GstBz2encClass
function gst_bz2enc_compress_end (line 72) | static void
function gst_bz2enc_compress_init (line 84) | static void
function gboolean (line 103) | static gboolean
function GstFlowReturn (line 169) | static GstFlowReturn
function gst_bz2enc_init (line 240) | static void
function gst_bz2enc_finalize (line 258) | static void
function gst_bz2enc_get_property (line 268) | static void
function gst_bz2enc_set_property (line 286) | static void
function gst_bz2enc_class_init (line 305) | static void
FILE: ext/bz2/gstbz2enc.h
type GstBz2enc (line 31) | typedef struct _GstBz2enc GstBz2enc;
type GstBz2encClass (line 32) | typedef struct _GstBz2encClass GstBz2encClass;
FILE: ext/chromaprint/gstchromaprint.c
function gst_chromaprint_class_init (line 80) | static void
function gst_chromaprint_reset (line 123) | static void
function gst_chromaprint_create_fingerprint (line 136) | static void
function gst_chromaprint_init (line 161) | static void
function gst_chromaprint_finalize (line 172) | static void
function GstFlowReturn (line 192) | static GstFlowReturn
function gboolean (line 238) | static gboolean
function gst_chromaprint_set_property (line 262) | static void
function gst_chromaprint_get_property (line 278) | static void
function gboolean (line 297) | static gboolean
function gboolean (line 319) | static gboolean
FILE: ext/chromaprint/gstchromaprint.h
type GstChromaprint (line 47) | typedef struct _GstChromaprint GstChromaprint;
type GstChromaprintClass (line 48) | typedef struct _GstChromaprintClass GstChromaprintClass;
type _GstChromaprint (line 55) | struct _GstChromaprint
type _GstChromaprintClass (line 68) | struct _GstChromaprintClass
FILE: ext/closedcaption/bcd.h
type vbi_pgno (line 75) | typedef int vbi_pgno;
type vbi_subno (line 86) | typedef int vbi_subno;
function vbi_dec2bcd (line 108) | _vbi_inline unsigned int
function vbi_bcd2dec (line 132) | _vbi_inline unsigned int
function vbi_add_bcd (line 158) | _vbi_inline unsigned int
function _vbi_inline (line 182) | _vbi_inline vbi_bool
function _vbi_inline (line 205) | _vbi_inline vbi_bool
FILE: ext/closedcaption/bit_slicer.c
function vbi_bool (line 283) | static vbi_bool
function vbi_bool (line 456) | static vbi_bool
function vbi_bool (line 503) | vbi_bool
function vbi_bool (line 576) | vbi_bool
function vbi_bool (line 648) | vbi_bool
function vbi3_bit_slicer_set_log_fn (line 926) | void
function _vbi3_bit_slicer_destroy (line 943) | void
function vbi_bool (line 955) | vbi_bool
function vbi3_bit_slicer_delete (line 973) | void
function vbi3_bit_slicer (line 990) | vbi3_bit_slicer *
FILE: ext/closedcaption/bit_slicer.h
type vbi3_bit_slicer (line 71) | typedef struct _vbi3_bit_slicer vbi3_bit_slicer;
type vbi3_bit_slicer_bit (line 73) | typedef enum {
type vbi3_bit_slicer_point (line 85) | typedef struct {
type vbi_bool (line 146) | typedef vbi_bool
type _vbi3_bit_slicer (line 154) | struct _vbi3_bit_slicer {
FILE: ext/closedcaption/decoder.c
function sample (line 67) | static inline unsigned int
function vbi_bool (line 102) | static inline vbi_bool
function vbi_bool (line 240) | static vbi_bool
function vbi_bool (line 246) | static vbi_bool
function vbi_bool (line 252) | static vbi_bool
function vbi_bool (line 258) | static vbi_bool
function vbi_bool (line 264) | static vbi_bool
function vbi_bool (line 270) | static vbi_bool
function vbi_bool (line 276) | static vbi_bool
function vbi_bool (line 282) | static vbi_bool
function vbi_bool (line 288) | static vbi_bool
function vbi_bool (line 294) | static vbi_bool
function vbi_bit_slicer_init (line 338) | void
function vbi_raw_decode (line 507) | int
function vbi_raw_decoder_resize (line 538) | void
function vbi_raw_decoder_remove_services (line 592) | unsigned int
function vbi_raw_decoder_check_services (line 625) | unsigned int
function vbi_raw_decoder_add_services (line 670) | unsigned int
function vbi_raw_decoder_parameters (line 721) | unsigned int
function vbi_raw_decoder_reset (line 765) | void
function vbi_raw_decoder_destroy (line 792) | void
function vbi_raw_decoder_init (line 813) | void
function vbi_initialize_gst_debug (line 831) | void
FILE: ext/closedcaption/decoder.h
type vbi_pixfmt (line 135) | typedef enum {
type vbi_pixfmt_set (line 168) | typedef uint64_t vbi_pixfmt_set;
type vbi_modulation (line 211) | typedef enum {
type vbi_bit_slicer (line 244) | typedef struct vbi_bit_slicer {
function _vbi_inline (line 294) | _vbi_inline vbi_bool
type vbi_raw_decoder (line 309) | typedef struct vbi_raw_decoder {
FILE: ext/closedcaption/gstcccombiner.c
type CaptionData (line 69) | typedef struct
type CaptionQueueItem (line 75) | typedef struct
function caption_data_clear (line 82) | static void
function clear_scheduled (line 88) | static void
function gst_cc_combiner_finalize (line 94) | static void
function guint8 (line 109) | static const guint8 *
type cdp_fps_entry (line 193) | struct cdp_fps_entry
type cdp_fps_entry (line 203) | struct cdp_fps_entry
type cdp_fps_entry (line 205) | struct cdp_fps_entry
function GstBuffer (line 217) | static GstBuffer *
function GstBuffer (line 326) | static GstBuffer *
function queue_caption (line 390) | static void
function schedule_cdp (line 437) | static void
function schedule_cea608_s334_1a (line 480) | static void
function schedule_cea708_raw (line 548) | static void
function schedule_cea608_raw (line 639) | static void
function schedule_caption (line 653) | static void
function dequeue_caption (line 685) | static void
function GstFlowReturn (line 702) | static GstFlowReturn
function GstFlowReturn (line 945) | static GstFlowReturn
function gboolean (line 1083) | static gboolean
function gboolean (line 1158) | static gboolean
function GstFlowReturn (line 1178) | static GstFlowReturn
function GstAggregatorPad (line 1200) | static GstAggregatorPad *
function gboolean (line 1225) | static gboolean
function gboolean (line 1261) | static gboolean
function GstSample (line 1330) | static GstSample *
function GstStateChangeReturn (line 1381) | static GstStateChangeReturn
function gst_cc_combiner_set_property (line 1398) | static void
function gst_cc_combiner_get_property (line 1417) | static void
function gst_cc_combiner_class_init (line 1436) | static void
function gst_cc_combiner_init (line 1532) | static void
FILE: ext/closedcaption/gstcccombiner.h
type GstCCCombiner (line 40) | typedef struct _GstCCCombiner GstCCCombiner;
type GstCCCombinerClass (line 41) | typedef struct _GstCCCombinerClass GstCCCombinerClass;
type cdp_fps_entry (line 43) | struct cdp_fps_entry
type _GstCCCombiner (line 52) | struct _GstCCCombiner
type _GstCCCombinerClass (line 77) | struct _GstCCCombinerClass
FILE: ext/closedcaption/gstccconverter.c
function GType (line 78) | static GType
function gboolean (line 103) | static gboolean
function GstCaps (line 121) | static GstCaps *
function GstCaps (line 368) | static GstCaps *
function gboolean (line 427) | static gboolean
type cdp_fps_entry (line 474) | struct cdp_fps_entry
type cdp_fps_entry (line 483) | struct cdp_fps_entry
type cdp_fps_entry (line 493) | struct cdp_fps_entry
type cdp_fps_entry (line 495) | struct cdp_fps_entry
type cdp_fps_entry (line 506) | struct cdp_fps_entry
function get_framerate_output_scale (line 517) | static void
function gboolean (line 534) | static gboolean
function guint (line 603) | static guint
function gint (line 650) | static gint
function store_cc_data (line 720) | static void
function gboolean (line 756) | static gboolean
function gboolean (line 868) | static gboolean
function guint (line 1037) | static guint
function guint (line 1155) | static guint
function gboolean (line 1300) | static gboolean
function gboolean (line 1374) | static gboolean
function gboolean (line 1468) | static gboolean
function GstFlowReturn (line 1494) | static GstFlowReturn
function GstFlowReturn (line 1535) | static GstFlowReturn
function GstFlowReturn (line 1576) | static GstFlowReturn
function GstFlowReturn (line 1647) | static GstFlowReturn
function GstFlowReturn (line 1687) | static GstFlowReturn
function GstFlowReturn (line 1724) | static GstFlowReturn
function GstFlowReturn (line 1805) | static GstFlowReturn
function GstFlowReturn (line 1849) | static GstFlowReturn
function GstFlowReturn (line 1891) | static GstFlowReturn
function GstFlowReturn (line 1960) | static GstFlowReturn
function GstFlowReturn (line 2000) | static GstFlowReturn
function GstFlowReturn (line 2054) | static GstFlowReturn
function GstFlowReturn (line 2103) | static GstFlowReturn
function GstFlowReturn (line 2148) | static GstFlowReturn
function gboolean (line 2288) | static gboolean
function gboolean (line 2302) | static gboolean
function reset_counters (line 2332) | static void
function GstFlowReturn (line 2344) | static GstFlowReturn
function GstFlowReturn (line 2391) | static GstFlowReturn
function gboolean (line 2454) | static gboolean
function gboolean (line 2476) | static gboolean
function gboolean (line 2493) | static gboolean
function gst_cc_converter_set_property (line 2504) | static void
function gst_cc_converter_get_property (line 2520) | static void
function gst_cc_converter_class_init (line 2536) | static void
function gst_cc_converter_init (line 2599) | static void
FILE: ext/closedcaption/gstccconverter.h
type GstCCConverter (line 40) | typedef struct _GstCCConverter GstCCConverter;
type GstCCConverterClass (line 41) | typedef struct _GstCCConverterClass GstCCConverterClass;
type GstCCConverterCDPMode (line 46) | typedef enum {
type _GstCCConverter (line 52) | struct _GstCCConverter
type _GstCCConverterClass (line 84) | struct _GstCCConverterClass
FILE: ext/closedcaption/gstccextractor.c
function gst_cc_extractor_class_init (line 88) | static void
function GstIterator (line 133) | static GstIterator *
function gst_cc_extractor_reset (line 157) | static void
function gst_cc_extractor_init (line 174) | static void
function GstEvent (line 205) | static GstEvent *
function gboolean (line 224) | static gboolean
function gboolean (line 261) | static gboolean
function GstCaps (line 293) | static GstCaps *
function gboolean (line 305) | static gboolean
function GstFlowReturn (line 342) | static GstFlowReturn
function gboolean (line 412) | static gboolean
function GstFlowReturn (line 421) | static GstFlowReturn
function GstStateChangeReturn (line 461) | static GstStateChangeReturn
function gst_cc_extractor_finalize (line 496) | static void
function gst_cc_extractor_set_property (line 506) | static void
function gst_cc_extractor_get_property (line 522) | static void
FILE: ext/closedcaption/gstccextractor.h
type GstCCExtractor (line 40) | typedef struct _GstCCExtractor GstCCExtractor;
type GstCCExtractorClass (line 41) | typedef struct _GstCCExtractorClass GstCCExtractorClass;
type _GstCCExtractor (line 43) | struct _GstCCExtractor
type _GstCCExtractorClass (line 57) | struct _GstCCExtractorClass
FILE: ext/closedcaption/gstcea708decoder.c
function gst_cea708_decoder_init_debug (line 29) | void
function Cea708Dec (line 160) | Cea708Dec *
function gst_cea708dec_free (line 178) | void
function gst_cea708dec_set_service_number (line 192) | void
function gboolean (line 209) | gboolean
function gst_cea708dec_process_dtvcc_byte (line 268) | static void
function gst_cea708dec_print_command_name (line 320) | static void
function gst_cea708dec_render_pangocairo (line 415) | static void
function gst_cea708dec_adjust_values_with_fontdesc (line 484) | static void
function gint (line 496) | static gint
function PangoAlignment (line 514) | static const PangoAlignment
function gchar (line 536) | static const gchar *
function guint8 (line 573) | static guint8
function gst_cea708dec_set_pen_color (line 614) | static void
function gst_cea708dec_set_window_attributes (line 638) | static void
function gst_cea708dec_set_pen_style (line 668) | static void
function gst_cea708dec_set_window_style (line 720) | static void
function gst_cea708dec_define_window (line 772) | static void
function pango_span_markup_init (line 918) | static inline void
function pango_span_markup_start (line 929) | static inline void
function pango_span_markup_txt (line 946) | static inline void
function pango_span_markup_end (line 962) | static inline void
function gst_cea708dec_show_pango_window (line 982) | static void
function gst_cea708dec_clear_window_text (line 1272) | static void
function gst_cea708dec_scroll_window_up (line 1288) | static void
function gst_cea708dec_clear_window (line 1316) | static void
function gst_cea708dec_init_window (line 1323) | static void
function gst_cea708dec_set_pen_attributes (line 1395) | static void
function gst_cea708dec_for_each_window (line 1424) | static void
function gst_cea708dec_process_command (line 1467) | static void
function get_cea708dec_bufcat (line 1598) | static void
function gboolean (line 1606) | static gboolean
function gst_cea708dec_window_add_char (line 1652) | static void
function gst_cea708dec_process_c2 (line 1767) | static void
function gst_cea708dec_process_g2 (line 1782) | static void
function gst_cea708dec_process_c3 (line 1790) | static void
function gst_cea708dec_process_g3 (line 1805) | static void
function gst_cea708dec_set_video_width_height (line 1812) | void
FILE: ext/closedcaption/gstcea708decoder.h
type Cea708Dec (line 141) | typedef struct _Cea708Dec Cea708Dec;
type Cea708ColorType (line 143) | typedef enum
type VisibilityControl (line 156) | typedef enum
type Opacity (line 164) | typedef enum
type WindowStyle (line 172) | typedef enum
type PenStyle (line 183) | typedef enum
type AnchorPoint (line 194) | typedef enum
type TagType (line 207) | typedef enum
type JUSTIFY_MODE (line 227) | typedef enum
type PRINT_DIRECTION (line 235) | typedef enum
type SCROLL_DIRECTION (line 243) | typedef enum
type DisplayEffect (line 251) | typedef enum
type EFFECT_DIRECTION (line 258) | typedef enum
type BORDER_TYPE (line 266) | typedef enum
type PenSize (line 274) | typedef enum
type PenOffset (line 282) | typedef enum
type EdgeType (line 290) | typedef enum
type FontStyle (line 302) | typedef enum
type cea708PenColor (line 314) | typedef struct
type cea708PangoSpanControl (line 323) | typedef struct
type cea708PenAttributes (line 340) | typedef struct
type cea708char (line 352) | typedef struct
type cea708Window (line 368) | typedef struct
type _Cea708Dec (line 447) | struct _Cea708Dec
FILE: ext/closedcaption/gstceaccoverlay.c
function GType (line 104) | static GType
function GType (line 173) | GType
function gst_base_cea_cc_overlay_base_init (line 201) | static void
function gst_base_cea_cc_overlay_class_init (line 221) | static void
function gst_cea_cc_overlay_finalize (line 295) | static void
function gst_base_cea_cc_overlay_init (line 318) | static void
function gboolean (line 385) | static gboolean
function gboolean (line 495) | static gboolean
function gboolean (line 509) | static gboolean
function gst_cea_cc_overlay_set_property (line 547) | static void
function gst_cea_cc_overlay_get_property (line 599) | static void
function gboolean (line 628) | static gboolean
function gboolean (line 657) | static gboolean
function GstCaps (line 686) | static GstCaps *
function GstCaps (line 722) | static GstCaps *
function GstCaps (line 757) | static GstCaps *
function GstCaps (line 818) | static GstCaps *
function GstFlowReturn (line 887) | static GstFlowReturn
function GstPadLinkReturn (line 929) | static GstPadLinkReturn
function gst_cea_cc_overlay_cc_pad_unlink (line 945) | static void
function gboolean (line 960) | static gboolean
function gboolean (line 1073) | static gboolean
function gboolean (line 1147) | static gboolean
function gst_cea_cc_overlay_pop_text (line 1177) | static void
function gst_cea_cc_overlay_image_to_argb (line 1195) | static void
function gst_cea_cc_overlay_image_to_ayuv (line 1225) | static void
function gst_cea_cc_overlay_create_and_push_buffer (line 1263) | static void
function gst_cea_cc_overlay_process_packet (line 1425) | static void
function gst_cea_cc_overlay_user_data_decode (line 1505) | static void
function gboolean (line 1574) | static gboolean
function GstFlowReturn (line 1656) | static GstFlowReturn
function GstFlowReturn (line 1733) | static GstFlowReturn
function GstStateChangeReturn (line 1945) | static GstStateChangeReturn
FILE: ext/closedcaption/gstceaccoverlay.h
type GstCeaCcOverlay (line 43) | typedef struct _GstCeaCcOverlay GstCeaCcOverlay;
type GstCeaCcOverlayClass (line 44) | typedef struct _GstCeaCcOverlayClass GstCeaCcOverlayClass;
type DtvccType (line 46) | typedef enum
type GstCeaCcOverlayWinHPos (line 63) | typedef enum
type _GstCeaCcOverlay (line 76) | struct _GstCeaCcOverlay
type _GstCeaCcOverlayClass (line 125) | struct _GstCeaCcOverlayClass
FILE: ext/closedcaption/gstclosedcaption.c
function gboolean (line 35) | static gboolean
FILE: ext/closedcaption/gstline21dec.c
function GType (line 77) | static GType
function gst_line_21_decoder_set_property (line 113) | static void
function gst_line_21_decoder_get_property (line 132) | static void
function gst_line_21_decoder_class_init (line 151) | static void
function gst_line_21_decoder_init (line 223) | static void
function vbi_pixfmt (line 235) | static vbi_pixfmt
function gboolean (line 264) | static gboolean
function GstFlowReturn (line 410) | static GstFlowReturn
function convert_line_v210_luma (line 429) | static void
function guint8 (line 453) | static guint8 *
function gboolean (line 476) | static gboolean
function gboolean (line 487) | static gboolean
function GstFlowReturn (line 571) | static GstFlowReturn
function gboolean (line 584) | static gboolean
function gst_line_21_decoder_finalize (line 598) | static void
FILE: ext/closedcaption/gstline21dec.h
type GstLine21Decoder (line 41) | typedef struct _GstLine21Decoder GstLine21Decoder;
type GstLine21DecoderClass (line 42) | typedef struct _GstLine21DecoderClass GstLine21DecoderClass;
type GstLine21DecoderMode (line 44) | typedef enum {
type _GstLine21Decoder (line 50) | struct _GstLine21Decoder
type _GstLine21DecoderClass (line 74) | struct _GstLine21DecoderClass
FILE: ext/closedcaption/gstline21enc.c
function gst_line_21_encoder_class_init (line 77) | static void
function gst_line_21_encoder_init (line 123) | static void
function gst_line_21_encoder_set_property (line 128) | static void
function gst_line_21_encoder_get_property (line 144) | static void
function vbi_pixfmt (line 160) | static vbi_pixfmt
function gboolean (line 181) | static gboolean
function guint (line 221) | static guint
function guint (line 312) | static guint
function gint (line 359) | static gint
function GstFlowReturn (line 429) | static GstFlowReturn
FILE: ext/closedcaption/gstline21enc.h
type GstLine21Encoder (line 41) | typedef struct _GstLine21Encoder GstLine21Encoder;
type GstLine21EncoderClass (line 42) | typedef struct _GstLine21EncoderClass GstLine21EncoderClass;
type _GstLine21Encoder (line 44) | struct _GstLine21Encoder
type _GstLine21EncoderClass (line 55) | struct _GstLine21EncoderClass
FILE: ext/closedcaption/hamm.h
function vbi_rev8 (line 56) | _vbi_inline unsigned int
function vbi_rev16 (line 72) | _vbi_inline unsigned int
function vbi_rev16p (line 90) | _vbi_inline unsigned int
function vbi_par8 (line 106) | _vbi_inline unsigned int
function _vbi_inline (line 126) | _vbi_inline int
function vbi_ham8 (line 168) | _vbi_inline unsigned int
function _vbi_inline (line 186) | _vbi_inline int
function _vbi_inline (line 206) | _vbi_inline int
FILE: ext/closedcaption/io-sim.c
function _vbi_inline (line 105) | _vbi_inline void
function signal_teletext (line 114) | static void
function signal_vps (line 155) | static void
function wss_biphase (line 205) | static void
function signal_wss_625 (line 246) | static void
function signal_closed_caption (line 278) | static void
function clear_image (line 363) | static void
function vbi_bool (line 405) | vbi_bool
function vbi_bool (line 495) | static vbi_bool
function vbi_bool (line 633) | vbi_bool
function vbi_bool (line 776) | vbi_bool
function vbi_bool (line 1068) | vbi_bool
function vbi_bool (line 1124) | vbi_bool
FILE: ext/closedcaption/macros.h
type vbi_bool (line 86) | typedef int vbi_bool;
type vbi_log_mask (line 111) | typedef enum {
type _vbi_log_hook (line 153) | typedef struct {
FILE: ext/closedcaption/misc.h
function _vbi_inline (line 259) | _vbi_inline int
type _vbi_key_value_pair (line 273) | typedef struct {
function VBI_CAT_LEVEL_LOG_valist (line 318) | static inline void
function VBI_CAT_LEVEL_LOG (line 328) | static inline void
function VBI_CAT_LEVEL_LOG (line 341) | static inline void
function _vbi_inline (line 463) | _vbi_inline time_t
function _vbi_inline (line 480) | _vbi_inline time_t
FILE: ext/closedcaption/raw_decoder.c
function _vbi_inline (line 257) | _vbi_inline const _vbi_service_par *
function vbi_sliced_payload_bits (line 310) | unsigned int
function dump_pattern_line (line 335) | static void
function _vbi3_raw_decoder_dump (line 377) | void
function _vbi_inline (line 411) | _vbi_inline int
function vbi_bool (line 432) | static vbi_bool
function _vbi_inline (line 450) | _vbi_inline vbi_sliced *
function vbi3_raw_decoder_decode (line 577) | unsigned int
function vbi3_raw_decoder_reset (line 633) | void
function remove_job_from_pattern (line 651) | static void
function vbi_service_set (line 700) | vbi_service_set
function vbi_bool (line 731) | static vbi_bool
function lines_containing_data (line 812) | static void
function vbi_service_set (line 881) | vbi_service_set
function vbi_bool (line 1041) | vbi_bool
function vbi_bool (line 1059) | vbi_bool
function vbi_service_set (line 1111) | vbi_service_set
function vbi_service_set (line 1136) | vbi_service_set
function vbi3_raw_decoder_get_sampling_par (line 1168) | void vbi3_raw_decoder_get_sampling_par
function vbi3_raw_decoder_set_log_fn (line 1177) | void
function _vbi3_raw_decoder_destroy (line 1202) | void
function vbi_bool (line 1218) | vbi_bool
function vbi3_raw_decoder_delete (line 1241) | void
function vbi3_raw_decoder (line 1267) | vbi3_raw_decoder *
FILE: ext/closedcaption/raw_decoder.h
type _vbi3_raw_decoder (line 42) | struct _vbi3_raw_decoder
type _vbi3_raw_decoder_job (line 102) | typedef struct {
type _vbi3_raw_decoder_sp_line (line 108) | typedef struct {
type _vbi3_raw_decoder (line 118) | struct _vbi3_raw_decoder {
type _vbi_service_par_flag (line 135) | typedef enum {
type _vbi_service_par (line 142) | typedef struct _vbi_service_par _vbi_service_par;
type _vbi_service_par (line 145) | struct _vbi_service_par {
FILE: ext/closedcaption/sampling_par.c
function vbi_videostd_set (line 48) | vbi_videostd_set
function _vbi_inline (line 65) | _vbi_inline vbi_bool
function vbi_bool (line 80) | vbi_bool
function vbi_bool (line 169) | static vbi_bool
function vbi_service_set (line 332) | vbi_service_set
function vbi_service_set (line 357) | vbi_service_set
function vbi_service_set (line 503) | vbi_service_set
function vbi_service_set (line 535) | vbi_service_set
FILE: ext/closedcaption/sampling_par.h
type vbi_videostd_set (line 40) | typedef uint64_t vbi_videostd_set;
FILE: ext/closedcaption/sliced.h
type vbi_service_set (line 311) | typedef unsigned int vbi_service_set;
type vbi_sliced (line 321) | typedef struct {
FILE: ext/colormanagement/gstcolormanagement.c
function gboolean (line 27) | static gboolean
FILE: ext/colormanagement/gstlcms.c
function GType (line 67) | GType
function GType (line 90) | static GType
function gst_lcms_class_init (line 163) | static void
function gst_lcms_init (line 234) | static void
function gst_lcms_finalize (line 243) | static void
function gst_lcms_set_intent (line 254) | static void
function GstLcmsIntent (line 278) | static GstLcmsIntent
function gst_lcms_set_lookup_method (line 285) | static void
function GstLcmsLookupMethod (line 309) | static GstLcmsLookupMethod
function gst_lcms_set_property (line 316) | static void
function gst_lcms_get_property (line 376) | static void
function GstStateChangeReturn (line 407) | static GstStateChangeReturn
function gst_lcms_get_ready (line 456) | static void
function gst_lcms_cleanup_cms (line 487) | static void
function gst_lcms_init_lookup_table (line 504) | static void
function cmsUInt32Number (line 540) | static cmsUInt32Number
function gboolean (line 573) | static gboolean
function gst_lcms_create_transform (line 612) | static void
function gboolean (line 633) | static gboolean
function gst_lcms_handle_tag_sample (line 659) | static void
function gst_lcms_handle_tags (line 699) | static void
function GstFlowReturn (line 721) | static GstFlowReturn
function GstFlowReturn (line 730) | static GstFlowReturn
function gst_lcms_process_rgb (line 740) | static void
FILE: ext/colormanagement/gstlcms.h
type GstLcmsLookupMethod (line 44) | typedef enum
type GstLcms (line 61) | typedef struct _GstLcms GstLcms;
type GstLcmsClass (line 62) | typedef struct _GstLcmsClass GstLcmsClass;
type _GstLcms (line 69) | struct _GstLcms
type _GstLcmsClass (line 93) | struct _GstLcmsClass
FILE: ext/curl/gstcurl.c
function gboolean (line 26) | static gboolean
FILE: ext/curl/gstcurlbasesink.c
function gboolean (line 155) | static gboolean
function gboolean (line 161) | static gboolean
function gst_curl_base_sink_class_init (line 175) | static void
function gst_curl_base_sink_init (line 243) | static void
function gst_curl_base_sink_finalize (line 262) | static void
function gst_curl_base_sink_transfer_thread_notify_unlocked (line 287) | void
function gst_curl_base_sink_transfer_thread_close (line 298) | void
function gst_curl_base_sink_set_live (line 314) | void
function gboolean (line 324) | gboolean
function GstFlowReturn (line 338) | static GstFlowReturn
function gboolean (line 410) | static gboolean
function gboolean (line 436) | static gboolean
function gboolean (line 462) | static gboolean
function gboolean (line 476) | static gboolean
function gboolean (line 489) | static gboolean
function gst_curl_base_sink_set_property (line 502) | static void
function gst_curl_base_sink_get_property (line 583) | static void
function gboolean (line 617) | static gboolean
function gboolean (line 744) | static gboolean
function transfer_data_buffer (line 777) | static size_t
function gst_curl_base_sink_transfer_data_buffer (line 800) | static size_t
function gst_curl_base_sink_transfer_read_cb (line 820) | static size_t
function gst_curl_base_sink_transfer_write_cb (line 877) | static size_t
function gst_curl_base_sink_transfer_seek_cb (line 902) | static int
function CURLcode (line 941) | CURLcode
function handle_transfer (line 969) | static void
function gst_curl_base_sink_debug_cb (line 1084) | static int
function gst_curl_base_sink_transfer_socket_cb (line 1139) | static int
function gboolean (line 1178) | static gboolean
function gpointer (line 1203) | static gpointer
function gboolean (line 1301) | static gboolean
function gst_curl_base_sink_transfer_cleanup (line 1333) | static void
function gboolean (line 1350) | static gboolean
function gst_curl_base_sink_new_file_notify_unlocked (line 1373) | static void
function gst_curl_base_sink_wait_for_transfer_thread_to_send_unlocked (line 1381) | static void
function gst_curl_base_sink_data_sent_notify (line 1397) | static void
function gst_curl_base_sink_wait_for_response (line 1408) | static void
function gst_curl_base_sink_got_response_notify (line 1422) | static void
function gint (line 1433) | static gint
FILE: ext/curl/gstcurlbasesink.h
type GstCurlBaseSink (line 40) | typedef struct _GstCurlBaseSink GstCurlBaseSink;
type GstCurlBaseSinkClass (line 41) | typedef struct _GstCurlBaseSinkClass GstCurlBaseSinkClass;
type TransferBuffer (line 43) | typedef struct _TransferBuffer TransferBuffer;
type TransferCondition (line 44) | typedef struct _TransferCondition TransferCondition;
type _TransferBuffer (line 46) | struct _TransferBuffer
type _TransferCondition (line 53) | struct _TransferCondition
type _GstCurlBaseSink (line 61) | struct _GstCurlBaseSink
type _GstCurlBaseSinkClass (line 88) | struct _GstCurlBaseSinkClass
FILE: ext/curl/gstcurlelement.c
function curl_element_init (line 27) | void
FILE: ext/curl/gstcurlfilesink.c
function gst_curl_file_sink_class_init (line 101) | static void
function gst_curl_file_sink_init (line 131) | static void
function gst_curl_file_sink_set_property (line 136) | static void
function gst_curl_file_sink_get_property (line 165) | static void
function gboolean (line 184) | static gboolean
function gboolean (line 201) | static gboolean
function gboolean (line 216) | static gboolean
FILE: ext/curl/gstcurlfilesink.h
type GstCurlFileSink (line 39) | typedef struct _GstCurlFileSink GstCurlFileSink;
type GstCurlFileSinkClass (line 40) | typedef struct _GstCurlFileSinkClass GstCurlFileSinkClass;
type _GstCurlFileSink (line 42) | struct _GstCurlFileSink
type _GstCurlFileSinkClass (line 50) | struct _GstCurlFileSinkClass
FILE: ext/curl/gstcurlftpsink.c
function gst_curl_ftp_sink_class_init (line 108) | static void
function gst_curl_ftp_sink_init (line 157) | static void
function gst_curl_ftp_sink_finalize (line 162) | static void
function gboolean (line 179) | static gboolean
function gboolean (line 261) | static gboolean
function gst_curl_ftp_sink_set_property (line 314) | static void
function gst_curl_ftp_sink_get_property (line 362) | static void
FILE: ext/curl/gstcurlftpsink.h
type GstCurlFtpSink (line 39) | typedef struct _GstCurlFtpSink GstCurlFtpSink;
type GstCurlFtpSinkClass (line 40) | typedef struct _GstCurlFtpSinkClass GstCurlFtpSinkClass;
type _GstCurlFtpSink (line 42) | struct _GstCurlFtpSink
type _GstCurlFtpSinkClass (line 55) | struct _GstCurlFtpSinkClass
FILE: ext/curl/gstcurlhttpsink.c
function gst_curl_http_sink_class_init (line 121) | static void
function gst_curl_http_sink_init (line 178) | static void
function gst_curl_http_sink_finalize (line 193) | static void
function gst_curl_http_sink_set_property (line 212) | static void
function gst_curl_http_sink_get_property (line 283) | static void
function gboolean (line 317) | static gboolean
function gboolean (line 384) | static gboolean
function gboolean (line 424) | static gboolean
function gst_curl_http_sink_transfer_prepare_poll_wait (line 442) | static void
function gst_curl_http_sink_set_mime_type (line 467) | static void
function gboolean (line 489) | static gboolean
FILE: ext/curl/gstcurlhttpsink.h
type GstCurlHttpSink (line 39) | typedef struct _GstCurlHttpSink GstCurlHttpSink;
type GstCurlHttpSinkClass (line 40) | typedef struct _GstCurlHttpSinkClass GstCurlHttpSinkClass;
type _GstCurlHttpSink (line 42) | struct _GstCurlHttpSink
type _GstCurlHttpSinkClass (line 61) | struct _GstCurlHttpSinkClass
FILE: ext/curl/gstcurlhttpsrc.c
function GType (line 235) | static GType
function gst_curl_http_src_class_init (line 261) | static void
function gst_curl_http_src_set_property (line 497) | static void
function gst_curl_http_src_get_property (line 596) | static void
function gst_curl_http_src_init (line 679) | static void
function gst_curl_http_src_ref_multi (line 751) | static void
function gst_curl_http_src_unref_multi (line 810) | static void
function gst_curl_http_src_finalize (line 846) | static void
function GstFlowReturn (line 867) | static GstFlowReturn
function gboolean (line 1058) | static gboolean
function CURL (line 1078) | static CURL *
function GstFlowReturn (line 1220) | static GstFlowReturn
function gboolean (line 1373) | static gboolean
function gst_curl_http_src_destroy_easy_handle (line 1411) | static inline void
function GstStateChangeReturn (line 1426) | static GstStateChangeReturn
function gst_curl_http_src_cleanup_instance (line 1465) | static void
function gboolean (line 1518) | static gboolean
function gboolean (line 1544) | static gboolean
function gboolean (line 1571) | static gboolean
function gboolean (line 1580) | static gboolean
function gst_curl_http_src_uri_handler_init (line 1624) | static void
function guint (line 1635) | static guint
function gchar (line 1641) | static const gchar *const *
function gchar (line 1649) | static gchar *
function gboolean (line 1668) | static gboolean
function gboolean (line 1703) | static gboolean
function gboolean (line 1741) | static gboolean
function gst_curl_http_src_curl_multi_loop (line 1758) | static void
function gst_curl_http_src_get_header (line 1902) | static size_t
function gst_curl_http_src_get_chunks (line 2054) | static size_t
function gst_curl_http_src_request_remove (line 2082) | static void
function gst_curl_http_src_wait_until_removed (line 2104) | static void
function gst_curl_http_src_get_debug (line 2120) | static int
FILE: ext/curl/gstcurlhttpsrc.h
type GstCurlHttpSrc (line 82) | typedef struct _GstCurlHttpSrc GstCurlHttpSrc;
type GstCurlHttpSrcClass (line 83) | typedef struct _GstCurlHttpSrcClass GstCurlHttpSrcClass;
type GstCurlHttpSrcMultiTaskContext (line 84) | typedef struct _GstCurlHttpSrcMultiTaskContext GstCurlHttpSrcMultiTaskCo...
type GstCurlHttpSrcQueueElement (line 85) | typedef struct _GstCurlHttpSrcQueueElement GstCurlHttpSrcQueueElement;
type GstCurlHttpVersion (line 94) | typedef enum
type GstCGstCurlHttpSrcSeekable (line 105) | typedef enum _GstCGstCurlHttpSrcSeekable
type _GstCurlHttpSrcMultiTaskContext (line 112) | struct _GstCurlHttpSrcMultiTaskContext
type _GstCurlHttpSrcClass (line 132) | struct _GstCurlHttpSrcClass
type _GstCurlHttpSrc (line 142) | struct _GstCurlHttpSrc
FILE: ext/curl/gstcurlqueue.c
function gboolean (line 58) | gboolean
function gboolean (line 100) | gboolean
function gboolean (line 147) | gboolean
FILE: ext/curl/gstcurlqueue.h
type _GstCurlHttpSrcQueueElement (line 51) | struct _GstCurlHttpSrcQueueElement
FILE: ext/curl/gstcurlsftpsink.c
function gst_curl_sftp_sink_class_init (line 99) | static void
function gst_curl_sftp_sink_init (line 132) | static void
function gst_curl_sftp_sink_finalize (line 137) | static void
function gboolean (line 144) | static gboolean
function gboolean (line 161) | static gboolean
function gst_curl_sftp_sink_set_property (line 191) | static void
function gst_curl_sftp_sink_get_property (line 220) | static void
FILE: ext/curl/gstcurlsftpsink.h
type GstCurlSftpSink (line 39) | typedef struct _GstCurlSftpSink GstCurlSftpSink;
type GstCurlSftpSinkClass (line 40) | typedef struct _GstCurlSftpSinkClass GstCurlSftpSinkClass;
type _GstCurlSftpSink (line 43) | struct _GstCurlSftpSink
type _GstCurlSftpSinkClass (line 51) | struct _GstCurlSftpSinkClass
FILE: ext/curl/gstcurlsmtpsink.c
function gst_curl_smtp_sink_notify_transfer_end_unlocked (line 141) | static void
function gst_curl_smtp_sink_wait_for_transfer_end_unlocked (line 149) | static void
function add_final_boundary_unlocked (line 160) | static void
function gboolean (line 197) | static gboolean
function gboolean (line 229) | static gboolean
function gst_curl_smtp_sink_class_init (line 248) | static void
function gst_curl_smtp_sink_init (line 324) | static void
function gst_curl_smtp_sink_finalize (line 349) | static void
function gst_curl_smtp_sink_set_property (line 389) | static void
function gst_curl_smtp_sink_get_property (line 482) | static void
function gboolean (line 529) | static gboolean
function gchar (line 588) | static gchar *
function gboolean (line 616) | static gboolean
function gst_curl_smtp_sink_set_mime_type (line 744) | static void
function gst_curl_smtp_sink_flush_data_unlocked (line 760) | static size_t
function transfer_chunk (line 830) | static size_t
function gst_curl_smtp_sink_transfer_data_buffer (line 912) | static size_t
function transfer_payload_headers (line 951) | static size_t
function gboolean (line 971) | static gboolean
FILE: ext/curl/gstcurlsmtpsink.h
type GstCurlSmtpSink (line 39) | typedef struct _GstCurlSmtpSink GstCurlSmtpSink;
type GstCurlSmtpSinkClass (line 40) | typedef struct _GstCurlSmtpSinkClass GstCurlSmtpSinkClass;
type Base64Chunk (line 42) | typedef struct _Base64Chunk Base64Chunk;
type _Base64Chunk (line 44) | struct _Base64Chunk
type _GstCurlSmtpSink (line 51) | struct _GstCurlSmtpSink
type _GstCurlSmtpSinkClass (line 80) | struct _GstCurlSmtpSinkClass
FILE: ext/curl/gstcurlsshsink.c
type curl_khkey (line 75) | struct curl_khkey
type curl_khkey (line 75) | struct curl_khkey
type curl_khmatch (line 76) | enum curl_khmatch
function GType (line 97) | static GType
function gst_curl_ssh_sink_class_init (line 114) | static void
function gst_curl_ssh_sink_init (line 180) | static void
function gst_curl_ssh_sink_finalize (line 192) | static void
function gst_curl_ssh_sink_set_property (line 208) | static void
function gst_curl_ssh_sink_get_property (line 278) | static void
function gboolean (line 322) | static gboolean
function gint (line 443) | static gint
FILE: ext/curl/gstcurlsshsink.h
type GstCurlSshAuthType (line 42) | typedef enum
type GstCurlSshSink (line 50) | typedef struct _GstCurlSshSink GstCurlSshSink;
type GstCurlSshSinkClass (line 51) | typedef struct _GstCurlSshSinkClass GstCurlSshSinkClass;
type _GstCurlSshSink (line 54) | struct _GstCurlSshSink
type _GstCurlSshSinkClass (line 79) | struct _GstCurlSshSinkClass
FILE: ext/curl/gstcurltlssink.c
function gst_curl_tls_sink_class_init (line 91) | static void
function gst_curl_tls_sink_init (line 138) | static void
function gst_curl_tls_sink_finalize (line 147) | static void
function gst_curl_tls_sink_set_property (line 161) | static void
function gst_curl_tls_sink_get_property (line 207) | static void
function gboolean (line 235) | static gboolean
FILE: ext/curl/gstcurltlssink.h
type GstCurlTlsSink (line 41) | typedef struct _GstCurlTlsSink GstCurlTlsSink;
type GstCurlTlsSinkClass (line 42) | typedef struct _GstCurlTlsSinkClass GstCurlTlsSinkClass;
type _GstCurlTlsSink (line 44) | struct _GstCurlTlsSink
type _GstCurlTlsSinkClass (line 55) | struct _GstCurlTlsSinkClass
FILE: ext/dash/gstdashdemux.c
type _GstDashDemuxClockDrift (line 348) | struct _GstDashDemuxClockDrift
type GstDashStreamSyncSample (line 359) | typedef struct
function GstSidxBoxEntry (line 429) | static inline GstSidxBoxEntry *
function gst_dash_demux_dispose (line 449) | static void
function gboolean (line 469) | static gboolean
function GstClockTime (line 519) | static GstClockTime
function GstClockTime (line 530) | static GstClockTime
function gst_dash_demux_class_init (line 538) | static void
function gst_dash_demux_init (line 659) | static void
function gst_dash_demux_set_property (line 677) | static void
function gst_dash_demux_get_property (line 714) | static void
function gboolean (line 753) | static gboolean
function gboolean (line 775) | static gboolean
function gst_dash_demux_send_content_protection_event (line 882) | static void
function GstClockTime (line 915) | static GstClockTime
function gboolean (line 925) | static gboolean
function gboolean (line 935) | static gboolean
function gboolean (line 1024) | static gboolean
function GstPad (line 1066) | static GstPad *
function gst_dash_demux_reset (line 1106) | static void
function GstCaps (line 1133) | static GstCaps *
function GstCaps (line 1169) | static GstCaps *
function GstCaps (line 1198) | static GstCaps *
function GstCaps (line 1214) | static GstCaps *
function gst_dash_demux_stream_update_headers_info (line 1229) | static void
function GstFlowReturn (line 1260) | static GstFlowReturn
function gint (line 1385) | static gint
function GstFlowReturn (line 1398) | static GstFlowReturn
function GstFlowReturn (line 1469) | static GstFlowReturn
function gboolean (line 1550) | static gboolean
function gboolean (line 1569) | static gboolean
function gboolean (line 1587) | static gboolean
function gboolean (line 1692) | static gboolean
function gboolean (line 1731) | static gboolean
function GstClockTime (line 1760) | static GstClockTime
function GstFlowReturn (line 1980) | static GstFlowReturn
function gboolean (line 2170) | static gboolean
function gboolean (line 2296) | static gboolean
function gint64 (line 2392) | static gint64
function GstFlowReturn (line 2400) | static GstFlowReturn
function gint64 (line 2539) | static gint64
function gboolean (line 2574) | static gboolean
function gst_dash_demux_advance_period (line 2585) | static void
function GstBuffer (line 2608) | static GstBuffer *
function gboolean (line 2620) | static gboolean
function GstFlowReturn (line 2647) | static GstFlowReturn
function gboolean (line 2687) | static gboolean
function GstFlowReturn (line 2804) | static GstFlowReturn
function gboolean (line 3038) | static gboolean
function GstFlowReturn (line 3272) | static GstFlowReturn
function GstFlowReturn (line 3442) | static GstFlowReturn
function gst_dash_demux_stream_free (line 3551) | static void
function GstDashDemuxClockDrift (line 3565) | static GstDashDemuxClockDrift *
function gst_dash_demux_clock_drift_free (line 3578) | static void
function GstDateTime (line 3600) | static GstDateTime *
type Rfc5322TimeZone (line 3666) | struct Rfc5322TimeZone
function GstDateTime (line 3677) | static GstDateTime *
function GstDateTime (line 3798) | static GstDateTime *
function GstDateTime (line 3832) | static GstDateTime *
function gboolean (line 3850) | static gboolean
function GTimeSpan (line 3987) | static GTimeSpan
function GDateTime (line 4000) | static GDateTime *
FILE: ext/dash/gstdashdemux.h
type GstDashDemuxClockDrift (line 55) | typedef struct _GstDashDemuxClockDrift GstDashDemuxClockDrift;
type GstDashDemuxStream (line 56) | typedef struct _GstDashDemuxStream GstDashDemuxStream;
type GstDashDemux (line 57) | typedef struct _GstDashDemux GstDashDemux;
type GstDashDemuxClass (line 58) | typedef struct _GstDashDemuxClass GstDashDemuxClass;
type _GstDashDemuxStream (line 60) | struct _GstDashDemuxStream
type _GstDashDemux (line 122) | struct _GstDashDemux
type _GstDashDemuxClass (line 151) | struct _GstDashDemuxClass
FILE: ext/dash/gstdashsink.c
type GstDashSinkMuxerType (line 105) | typedef enum
type DashSinkMuxer (line 111) | typedef struct _DashSinkMuxer
function GType (line 120) | static GType
type GstDashSinkStreamType (line 197) | typedef enum
type GstDashSinkStreamVideoInfo (line 205) | typedef struct _GstDashSinkStreamVideoInfo
type GstDashSinkStreamAudioInfo (line 211) | typedef struct _GstDashSinkStreamAudioInfo
type GstDashSinkStreamSubtitleInfo (line 217) | typedef struct GstDashSinkStreamSubtitleInfo
type GstDashSinkStreamInfo (line 222) | typedef union _GstDashSinkStreamInfo
type _GstDashSink (line 229) | struct _GstDashSink
type GstDashSinkStream (line 254) | typedef struct _GstDashSinkStream
function GstDashSinkStream (line 311) | static GstDashSinkStream *
function GstDashSinkStream (line 324) | static GstDashSinkStream *
function gchar (line 337) | static gchar *
function gst_dash_sink_stream_free (line 368) | static void
function gst_dash_sink_dispose (line 381) | static void
function gst_dash_sink_finalize (line 389) | static void
function GOutputStream (line 407) | static GOutputStream *
function GOutputStream (line 429) | static GOutputStream *
function gst_dash_sink_class_init (line 451) | static void
function gchar (line 574) | static gchar *
function gboolean (line 623) | static gboolean
function gst_dash_sink_init (line 668) | static void
function gst_dash_sink_reset (line 690) | static void
function gst_dash_sink_get_stream_metadata (line 696) | static void
function gst_dash_sink_generate_mpd_content (line 736) | static void
function gst_dash_sink_write_mpd_file (line 843) | static void
function gst_dash_sink_handle_message (line 891) | static void
function GstPadProbeReturn (line 931) | static GstPadProbeReturn
function GstPad (line 946) | static GstPad *
function gst_dash_sink_release_pad (line 1012) | static void
function GstStateChangeReturn (line 1042) | static GstStateChangeReturn
function gst_dash_sink_set_property (line 1074) | static void
function gst_dash_sink_get_property (line 1123) | static void
FILE: ext/dash/gstmpdadaptationsetnode.c
function gst_mpd_adaptation_set_node_set_property (line 36) | static void
function gst_mpd_adaptation_set_node_get_property (line 55) | static void
function gst_mpd_adaptation_set_node_finalize (line 73) | static void
function xmlNodePtr (line 109) | static xmlNodePtr
function gst_mpd_adaptation_set_node_class_init (line 194) | static void
function gst_mpd_adaptation_set_node_init (line 219) | static void
function GstMPDAdaptationSetNode (line 262) | GstMPDAdaptationSetNode *
function gst_mpd_adaptation_set_node_free (line 268) | void
FILE: ext/dash/gstmpdadaptationsetnode.h
type _GstMPDAdaptationSetNode (line 35) | struct _GstMPDAdaptationSetNode
FILE: ext/dash/gstmpdbaseurlnode.c
function gst_mpd_baseurl_node_set_property (line 36) | static void
function gst_mpd_baseurl_node_get_property (line 60) | static void
function gst_mpd_baseurl_node_finalize (line 81) | static void
function xmlNodePtr (line 95) | static xmlNodePtr
function gst_mpd_baseurl_node_class_init (line 117) | static void
function gst_mpd_baseurl_node_init (line 147) | static void
function GstMPDBaseURLNode (line 155) | GstMPDBaseURLNode *
function gst_mpd_baseurl_node_free (line 161) | void
FILE: ext/dash/gstmpdbaseurlnode.h
type _GstMPDBaseURLNode (line 32) | struct _GstMPDBaseURLNode
FILE: ext/dash/gstmpdclient.c
type GstMPDNode (line 51) | typedef GstMPDNode *(*MpdClientStringIDFilter) (GList * list, gchar * da...
type GstMPDNode (line 52) | typedef GstMPDNode *(*MpdClientIDFilter) (GList * list, guint data);
function GstMPDNode (line 54) | static GstMPDNode *
function GstMPDNode (line 68) | static GstMPDNode *
function GstMPDNode (line 82) | static GstMPDNode *
function gchar (line 97) | static gchar *
function guint (line 114) | static guint
function GstMPDRepresentationNode (line 127) | static GstMPDRepresentationNode *
function GstMPDRepresentationNode (line 148) | static GstMPDRepresentationNode *
function GstMPDRepresentationNode (line 161) | static GstMPDRepresentationNode *
function GstMPDSegmentListNode (line 185) | static GstMPDSegmentListNode *
function GstMPDSegmentBaseNode (line 281) | static GstMPDSegmentBaseNode *
function GstMPDSegmentListNode (line 322) | static GstMPDSegmentListNode *
function GstClockTime (line 362) | static GstClockTime
function gst_mpd_client_active_streams_free (line 396) | void
function gst_mpd_client_finalize (line 407) | static void
function gst_mpd_client_class_init (line 434) | static void
function gst_mpd_client_init (line 441) | static void
function GstMPDClient (line 446) | GstMPDClient *
function GstMPDClient (line 454) | GstMPDClient *
function gst_mpd_client_free (line 470) | void
function gboolean (line 477) | gboolean
function gboolean (line 494) | gboolean
function GstDateTime (line 509) | GstDateTime *
function gst_mpd_client_set_uri_downloader (line 523) | void
function gst_mpd_client_check_profiles (line 532) | void
function gst_mpd_client_fetch_on_load_external_resources (line 549) | void
function GstStreamPeriod (line 685) | static GstStreamPeriod *
function gchar (line 694) | const gchar *
function gchar (line 708) | gchar *
function GstClockTime (line 759) | static GstClockTime
function gboolean (line 780) | static gboolean
function gst_mpd_client_stream_update_presentation_time_offset (line 809) | static void
function gboolean (line 839) | gboolean
function GList (line 1121) | static GList *
function gboolean (line 1211) | gboolean
function GList (line 1454) | static GList *
function GList (line 1529) | static GList *
function GList (line 1584) | GList *
function gboolean (line 1598) | gboolean
function gboolean (line 1661) | gboolean
function gint64 (line 1797) | gint64
function GstDateTime (line 1813) | GstDateTime *
function gboolean (line 1835) | gboolean
function gboolean (line 1877) | gboolean
function GstClockTime (line 1915) | GstClockTime
function GstClockTime (line 1929) | GstClockTime
function gchar (line 1957) | gchar **
function gboolean (line 1979) | gboolean
function gboolean (line 2139) | gboolean
function GstFlowReturn (line 2166) | GstFlowReturn
function gboolean (line 2281) | gboolean
function gboolean (line 2329) | gboolean
function GstClockTime (line 2364) | GstClockTime
function GstClockTime (line 2396) | GstClockTime
function gboolean (line 2413) | gboolean
function gboolean (line 2444) | gboolean
function guint (line 2465) | guint
function gchar (line 2476) | const gchar *
function gboolean (line 2490) | gboolean
function gboolean (line 2506) | gboolean
function gint (line 2523) | gint
function gint (line 2544) | gint
function gst_mpd_client_seek_to_first_segment (line 2600) | void
function guint (line 2618) | static guint
function gboolean (line 2639) | gboolean
function guint (line 2648) | guint
function guint (line 2656) | guint
function GstActiveStream (line 2668) | GstActiveStream *
function gboolean (line 2678) | gboolean
function GstCaps (line 2704) | GstCaps *
function gboolean (line 2733) | gboolean
function guint (line 2742) | guint
function guint (line 2759) | guint
function gboolean (line 2777) | gboolean
function guint (line 2835) | guint
function guint (line 2856) | guint
function guint (line 2866) | guint
function GstDateTime (line 2908) | GstDateTime *
function gboolean (line 2968) | gboolean
function gboolean (line 3001) | gboolean
function gint64 (line 3017) | gint64
function GstClockTime (line 3047) | GstClockTime
function guint (line 3073) | guint
function gboolean (line 3112) | gboolean
function gboolean (line 3129) | gboolean
function gchar (line 3151) | gchar *
function guint (line 3184) | guint
function gchar (line 3225) | gchar *
function gboolean (line 3270) | gboolean
function gboolean (line 3307) | gboolean
function gboolean (line 3344) | gboolean
FILE: ext/dash/gstmpdclient.h
type _GstMPDClient (line 31) | struct _GstMPDClient
FILE: ext/dash/gstmpdcontentcomponentnode.c
function gst_mpd_content_component_node_finalize (line 29) | static void
function xmlNodePtr (line 54) | static xmlNodePtr
function gst_mpd_content_component_node_class_init (line 81) | static void
function gst_mpd_content_component_node_init (line 96) | static void
function GstMPDContentComponentNode (line 109) | GstMPDContentComponentNode *
function gst_mpd_content_component_node_free (line 115) | void
FILE: ext/dash/gstmpdcontentcomponentnode.h
type _GstMPDContentComponentNode (line 32) | struct _GstMPDContentComponentNode
FILE: ext/dash/gstmpddescriptortypenode.c
function gst_mpd_descriptor_type_node_finalize (line 29) | static void
function xmlNodePtr (line 45) | static xmlNodePtr
function gst_mpd_descriptor_type_node_class_init (line 62) | static void
function gst_mpd_descriptor_type_node_init (line 76) | static void
function GstMPDDescriptorTypeNode (line 85) | GstMPDDescriptorTypeNode *
function gst_mpd_descriptor_type_node_free (line 94) | void
FILE: ext/dash/gstmpddescriptortypenode.h
type _GstMPDDescriptorTypeNode (line 33) | struct _GstMPDDescriptorTypeNode
FILE: ext/dash/gstmpdhelper.c
function gboolean (line 25) | gboolean
function gboolean (line 55) | gboolean
function gchar (line 81) | const gchar *
function gchar (line 109) | const gchar *
function gchar (line 136) | const gchar *
function GstUri (line 157) | GstUri *
function gst_mpd_helper_strncmp_ext (line 187) | int
FILE: ext/dash/gstmpdhelper.h
type GstMPDFileType (line 45) | typedef enum
type GstMPDXLinkActuate (line 53) | typedef enum
FILE: ext/dash/gstmpdlocationnode.c
function gst_mpd_location_node_finalize (line 28) | static void
function xmlNodePtr (line 40) | static xmlNodePtr
function gst_mpd_location_node_class_init (line 54) | static void
function gst_mpd_location_node_init (line 67) | static void
function GstMPDLocationNode (line 73) | GstMPDLocationNode *
function gst_mpd_location_node_free (line 79) | void
FILE: ext/dash/gstmpdlocationnode.h
type _GstMPDLocationNode (line 33) | struct _GstMPDLocationNode
FILE: ext/dash/gstmpdmetricsnode.c
function gst_mpd_metrics_node_finalize (line 28) | static void
function xmlNodePtr (line 42) | static xmlNodePtr
function gst_mpd_metrics_node_class_init (line 61) | static void
function gst_mpd_metrics_node_init (line 75) | static void
function GstMPDMetricsNode (line 83) | GstMPDMetricsNode *
function gst_mpd_metrics_node_free (line 89) | void
FILE: ext/dash/gstmpdmetricsnode.h
type _GstMPDMetricsNode (line 33) | struct _GstMPDMetricsNode
FILE: ext/dash/gstmpdmetricsrangenode.c
function xmlNodePtr (line 29) | static xmlNodePtr
function gst_mpd_metrics_range_node_class_init (line 47) | static void
function gst_mpd_metrics_range_node_init (line 57) | static void
function GstMPDMetricsRangeNode (line 64) | GstMPDMetricsRangeNode *
function gst_mpd_metrics_range_node_free (line 70) | void
FILE: ext/dash/gstmpdmetricsrangenode.h
type _GstMPDMetricsRangeNode (line 32) | struct _GstMPDMetricsRangeNode
FILE: ext/dash/gstmpdmultsegmentbasenode.c
function gst_mpd_mult_segment_base_node_set_property (line 36) | static void
function gst_mpd_mult_segment_base_node_get_property (line 54) | static void
function gst_mpd_mult_segment_base_node_finalize (line 72) | static void
function gst_mpd_mult_segment_base_get_xml_node (line 87) | static void
function gst_mpd_mult_segment_base_node_class_init (line 110) | static void
function gst_mpd_mult_segment_base_node_init (line 134) | static void
function gst_mpd_mult_segment_base_node_add_child_node (line 144) | void
FILE: ext/dash/gstmpdmultsegmentbasenode.h
type _GstMPDMultSegmentBaseNode (line 31) | struct _GstMPDMultSegmentBaseNode
FILE: ext/dash/gstmpdnode.c
function gst_mpd_node_class_init (line 27) | static void
function gst_mpd_node_init (line 32) | static void
function gst_mpd_node_get_list_item (line 37) | void
function gst_mpd_node_add_child_node (line 47) | void
function gboolean (line 54) | gboolean
function xmlNodePtr (line 67) | xmlNodePtr
FILE: ext/dash/gstmpdnode.h
type gboolean (line 31) | typedef gboolean (*GstMPDGetXMLBuffer) (GstMPDNode * n, gchar ** doc_con...
type xmlNodePtr (line 32) | typedef xmlNodePtr (*GstMPDGetXMLNode) (GstMPDNode * n);
type _GstMPDNodeClass (line 34) | struct _GstMPDNodeClass {
FILE: ext/dash/gstmpdparser.c
function gst_mpdparser_parse_baseURL_node (line 103) | static void
function gst_mpdparser_parse_descriptor_type (line 121) | static void
function gst_mpdparser_parse_content_component_node (line 139) | static void
function gst_mpdparser_parse_location_node (line 176) | static void
function gst_mpdparser_parse_subrepresentation_node (line 190) | static void
function gst_mpdparser_parse_segment_url_node (line 215) | static void
function gst_mpdparser_parse_url_type_node (line 232) | static void
function gst_mpdparser_parse_seg_base_type_ext (line 248) | static void
function gst_mpdparser_parse_s_node (line 320) | static void
function gst_mpdparser_parse_segment_timeline_node (line 336) | static void
function gboolean (line 360) | static gboolean
function gboolean (line 426) | static gboolean
function gst_mpdparser_parse_content_protection_node (line 503) | static void
function gst_mpdparser_parse_representation_base (line 516) | static void
function gboolean (line 574) | static gboolean
function gboolean (line 644) | static gboolean
function gst_mpdparser_parse_subset_node (line 763) | static void
function gboolean (line 776) | static gboolean
function gboolean (line 828) | static gboolean
function gst_mpdparser_parse_program_info_node (line 901) | static void
function gst_mpdparser_parse_metrics_range_node (line 930) | static void
function gst_mpdparser_parse_metrics_node (line 945) | static void
function gst_mpdparser_parse_utctiming_node (line 977) | static void
function gboolean (line 1013) | static gboolean
function gboolean (line 1090) | static gboolean
function gchar (line 1126) | static gchar *
function gboolean (line 1160) | static gboolean
function gst_mpdparser_media_fragment_info_clear (line 1180) | void
function gboolean (line 1188) | gboolean
function GstMPDSegmentListNode (line 1234) | GstMPDSegmentListNode *
function GList (line 1264) | GList *
function GList (line 1304) | GList *
function gst_mpdparser_free_stream_period (line 1330) | void
function gst_mpdparser_free_media_segment (line 1338) | void
function gst_mpdparser_init_active_stream_segments (line 1346) | void
function gst_mpdparser_free_active_stream (line 1355) | void
function gchar (line 1369) | const gchar *
function gchar (line 1384) | gchar *
function GstStreamMimeType (line 1400) | GstStreamMimeType
function gchar (line 1423) | gchar *
FILE: ext/dash/gstmpdparser.h
type _GstActiveStream (line 62) | struct _GstActiveStream
type GstStreamPeriod (line 63) | typedef struct _GstStreamPeriod GstStreamPeriod;
type GstMediaFragmentInfo (line 64) | typedef struct _GstMediaFragmentInfo GstMediaFragmentInfo;
type GstMediaSegment (line 65) | typedef struct _GstMediaSegment GstMediaSegment;
type GstStreamMimeType (line 70) | typedef enum
type _GstStreamPeriod (line 83) | struct _GstStreamPeriod
type _GstMediaSegment (line 96) | struct _GstMediaSegment
type _GstMediaFragmentInfo (line 107) | struct _GstMediaFragmentInfo
type _GstActiveStream (line 127) | struct _GstActiveStream
FILE: ext/dash/gstmpdperiodnode.c
function gst_mpd_period_node_set_property (line 37) | static void
function gst_mpd_period_node_get_property (line 62) | static void
function gst_mpd_period_node_finalize (line 86) | static void
function xmlNodePtr (line 108) | static xmlNodePtr
function gst_mpd_period_node_class_init (line 146) | static void
function gst_mpd_period_node_init (line 186) | static void
function GstMPDPeriodNode (line 203) | GstMPDPeriodNode *
function gst_mpd_period_node_free (line 209) | void
FILE: ext/dash/gstmpdperiodnode.h
type _GstMPDPeriodNode (line 36) | struct _GstMPDPeriodNode
FILE: ext/dash/gstmpdprograminformationnode.c
function gst_mpd_program_information_node_finalize (line 29) | static void
function xmlNodePtr (line 52) | static xmlNodePtr
function gst_mpd_program_information_node_class_init (line 89) | static void
function gst_mpd_program_information_node_init (line 104) | static void
function GstMPDProgramInformationNode (line 114) | GstMPDProgramInformationNode *
function gst_mpd_program_information_node_free (line 120) | void
FILE: ext/dash/gstmpdprograminformationnode.h
type _GstMPDProgramInformationNode (line 32) | struct _GstMPDProgramInformationNode
FILE: ext/dash/gstmpdreportingnode.c
function xmlNodePtr (line 28) | static xmlNodePtr
function gst_mpd_reporting_node_class_init (line 38) | static void
function gst_mpd_reporting_node_init (line 48) | static void
function GstMPDReportingNode (line 53) | GstMPDReportingNode *
function gst_mpd_reporting_node_free (line 59) | void
FILE: ext/dash/gstmpdreportingnode.h
type _GstMPDReportingNode (line 32) | struct _GstMPDReportingNode
FILE: ext/dash/gstmpdrepresentationbasenode.c
function gst_mpd_representation_base_node_set_property (line 50) | static void
function gst_mpd_representation_base_node_get_property (line 125) | static void
function gst_mpd_representation_base_node_finalize (line 187) | static void
function gst_mpd_representation_base_get_xml_node (line 222) | static void
function gst_mpd_representation_base_node_class_init (line 278) | static void
function gst_mpd_representation_base_node_init (line 314) | static void
function gst_mpd_representation_base_node_get_list_item (line 338) | void
FILE: ext/dash/gstmpdrepresentationbasenode.h
type _GstMPDRepresentationBaseNode (line 32) | struct _GstMPDRepresentationBaseNode
FILE: ext/dash/gstmpdrepresentationnode.c
function gst_mpd_representation_node_set_property (line 37) | static void
function gst_mpd_representation_node_get_property (line 59) | static void
function gst_mpd_representation_node_finalize (line 80) | static void
function xmlNodePtr (line 101) | static xmlNodePtr
function gst_mpd_representation_node_class_init (line 146) | static void
function gst_mpd_representation_node_init (line 172) | static void
function GstMPDRepresentationNode (line 187) | GstMPDRepresentationNode *
function gst_mpd_representation_node_free (line 193) | void
FILE: ext/dash/gstmpdrepresentationnode.h
type _GstMPDRepresentationNode (line 35) | struct _GstMPDRepresentationNode
FILE: ext/dash/gstmpdrootnode.c
function gst_mpd_root_node_set_property (line 50) | static void
function gst_mpd_root_node_get_property (line 113) | static void
function gst_mpd_root_node_finalize (line 164) | static void
function xmlNodePtr (line 199) | static xmlNodePtr
function gboolean (line 265) | static gboolean
function gst_mpd_root_node_class_init (line 285) | static void
function gst_mpd_root_node_init (line 360) | static void
function GstMPDRootNode (line 394) | GstMPDRootNode *
function gst_mpd_root_node_free (line 400) | void
FILE: ext/dash/gstmpdrootnode.h
type _GstMPDRootNode (line 32) | struct _GstMPDRootNode
FILE: ext/dash/gstmpdsegmentbasenode.c
function gst_mpd_segment_base_node_finalize (line 29) | static void
function xmlNodePtr (line 44) | static xmlNodePtr
function gst_mpd_segment_base_node_class_init (line 74) | static void
function gst_mpd_segment_base_node_init (line 88) | static void
function GstMPDSegmentBaseNode (line 101) | GstMPDSegmentBaseNode *
function gst_mpd_segment_base_node_free (line 107) | void
FILE: ext/dash/gstmpdsegmentbasenode.h
type _GstMPDSegmentBaseNode (line 33) | struct _GstMPDSegmentBaseNode
FILE: ext/dash/gstmpdsegmentlistnode.c
function gst_mpd_segment_list_node_finalize (line 29) | static void
function xmlNodePtr (line 44) | static xmlNodePtr
function gst_mpd_segment_list_node_class_init (line 62) | static void
function gst_mpd_segment_list_node_init (line 76) | static void
function GstMPDSegmentListNode (line 84) | GstMPDSegmentListNode *
function gst_mpd_segment_list_node_free (line 90) | void
function gst_mpd_segment_list_node_add_segment (line 97) | void
FILE: ext/dash/gstmpdsegmentlistnode.h
type _GstMPDSegmentListNode (line 35) | struct _GstMPDSegmentListNode
FILE: ext/dash/gstmpdsegmenttemplatenode.c
function gst_mpd_segment_template_node_set_property (line 38) | static void
function gst_mpd_segment_template_node_get_property (line 62) | static void
function gst_mpd_segment_template_node_finalize (line 86) | static void
function xmlNodePtr (line 106) | static xmlNodePtr
function gst_mpd_segment_template_node_class_init (line 133) | static void
function gst_mpd_segment_template_node_init (line 166) | static void
function GstMPDSegmentTemplateNode (line 175) | GstMPDSegmentTemplateNode *
function gst_mpd_segment_template_node_free (line 181) | void
FILE: ext/dash/gstmpdsegmenttemplatenode.h
type _GstMPDSegmentTemplateNode (line 33) | struct _GstMPDSegmentTemplateNode
FILE: ext/dash/gstmpdsegmenttimelinenode.c
function gst_mpd_segment_timeline_node_finalize (line 29) | static void
function xmlNodePtr (line 43) | static xmlNodePtr
function gst_mpd_segment_timeline_node_class_init (line 57) | static void
function gst_mpd_segment_timeline_node_init (line 72) | static void
function GstMPDSegmentTimelineNode (line 78) | GstMPDSegmentTimelineNode *
function gst_mpd_segment_timeline_node_free (line 84) | void
function GstMPDSegmentTimelineNode (line 91) | GstMPDSegmentTimelineNode *
FILE: ext/dash/gstmpdsegmenttimelinenode.h
type _GstMPDSegmentTimelineNode (line 32) | struct _GstMPDSegmentTimelineNode
FILE: ext/dash/gstmpdsegmenturlnode.c
function gst_mpd_segment_url_node_set_property (line 36) | static void
function gst_mpd_segment_url_node_get_property (line 52) | static void
function gst_mpd_segment_url_node_finalize (line 67) | static void
function xmlNodePtr (line 84) | static xmlNodePtr
function gst_mpd_segment_url_node_class_init (line 109) | static void
function gst_mpd_segment_url_node_init (line 130) | static void
function GstMPDSegmentURLNode (line 139) | GstMPDSegmentURLNode *
function gst_mpd_segment_url_node_free (line 145) | void
function GstMPDSegmentURLNode (line 152) | GstMPDSegmentURLNode *
FILE: ext/dash/gstmpdsegmenturlnode.h
type _GstMPDSegmentURLNode (line 32) | struct _GstMPDSegmentURLNode
FILE: ext/dash/gstmpdsnode.c
function xmlNodePtr (line 28) | static xmlNodePtr
function gst_mpd_s_node_class_init (line 48) | static void
function gst_mpd_s_node_init (line 58) | static void
function GstMPDSNode (line 66) | GstMPDSNode *
function gst_mpd_s_node_free (line 72) | void
function GstMPDSNode (line 79) | GstMPDSNode *
FILE: ext/dash/gstmpdsnode.h
type _GstMPDSNode (line 32) | struct _GstMPDSNode
FILE: ext/dash/gstmpdsubrepresentationnode.c
function gst_mpd_sub_representation_node_finalize (line 29) | static void
function xmlNodePtr (line 44) | static xmlNodePtr
function gst_mpd_sub_representation_node_class_init (line 73) | static void
function gst_mpd_sub_representation_node_init (line 88) | static void
function GstMPDSubRepresentationNode (line 98) | GstMPDSubRepresentationNode *
function gst_mpd_sub_representation_node_free (line 104) | void
FILE: ext/dash/gstmpdsubrepresentationnode.h
type _GstMPDSubRepresentationNode (line 33) | struct _GstMPDSubRepresentationNode
FILE: ext/dash/gstmpdsubsetnode.c
function gst_mpd_subset_node_finalize (line 28) | static void
function xmlNodePtr (line 41) | static xmlNodePtr
function gst_mpd_subset_node_class_init (line 56) | static void
function gst_mpd_subset_node_init (line 70) | static void
function GstMPDSubsetNode (line 77) | GstMPDSubsetNode *
function gst_mpd_subset_node_free (line 83) | void
FILE: ext/dash/gstmpdsubsetnode.h
type _GstMPDSubsetNode (line 32) | struct _GstMPDSubsetNode
type _GstMPDSubsetNodeClass (line 39) | struct _GstMPDSubsetNodeClass {
FILE: ext/dash/gstmpdurltypenode.c
function gst_mpd_url_type_node_finalize (line 28) | static void
function xmlNodePtr (line 43) | static xmlNodePtr
function gst_mpd_url_type_node_class_init (line 58) | static void
function gst_mpd_url_type_node_init (line 72) | static void
function GstMPDURLTypeNode (line 80) | GstMPDURLTypeNode *
function gst_mpd_url_type_node_free (line 88) | void
function GstMPDURLTypeNode (line 95) | GstMPDURLTypeNode *
FILE: ext/dash/gstmpdurltypenode.h
type _GstMPDURLTypeNode (line 32) | struct _GstMPDURLTypeNode
FILE: ext/dash/gstmpdutctimingnode.c
type GstMPDUTCTimingMethod (line 26) | struct GstMPDUTCTimingMethod
function gst_mpd_utctiming_node_finalize (line 51) | static void
function xmlNodePtr (line 63) | static xmlNodePtr
function gst_mpd_utctiming_node_class_init (line 85) | static void
function gst_mpd_utctiming_node_init (line 99) | static void
function GstMPDUTCTimingNode (line 106) | GstMPDUTCTimingNode *
function gst_mpd_utctiming_node_free (line 112) | void
function gchar (line 119) | const gchar *
function GstMPDUTCTimingType (line 130) | GstMPDUTCTimingType
FILE: ext/dash/gstmpdutctimingnode.h
type GstMPDUTCTimingType (line 32) | typedef enum
type GstMPDUTCTimingMethod (line 44) | struct GstMPDUTCTimingMethod
type _GstMPDUTCTimingNode (line 50) | struct _GstMPDUTCTimingNode
FILE: ext/dash/gstplugin.c
function gboolean (line 27) | static gboolean
FILE: ext/dash/gstxmlhelper.c
function guint (line 32) | static guint
function gboolean (line 50) | static gboolean
function gboolean (line 81) | static gboolean
function gboolean (line 282) | static gboolean
function GstXMLRange (line 290) | GstXMLRange *
function GstXMLRatio (line 304) | GstXMLRatio *
function GstXMLFrameRate (line 318) | GstXMLFrameRate *
function gboolean (line 333) | gboolean
function gboolean (line 356) | gboolean
function gboolean (line 375) | gboolean
function gboolean (line 383) | gboolean
function gboolean (line 412) | gboolean
function gboolean (line 436) | gboolean
function gboolean (line 463) | gboolean
function gboolean (line 488) | gboolean
function gboolean (line 538) | gboolean
function gboolean (line 560) | gboolean
function gboolean (line 589) | gboolean
function gboolean (line 655) | gboolean
function gboolean (line 711) | gboolean
function gboolean (line 767) | gboolean
function gboolean (line 813) | gboolean
function gboolean (line 930) | gboolean
function gboolean (line 956) | gboolean
function gboolean (line 972) | gboolean
function gchar (line 1025) | gchar *
function gboolean (line 1054) | gboolean
function gboolean (line 1065) | gboolean
function gst_xml_helper_set_prop_string (line 1076) | void
function gst_xml_helper_set_prop_boolean (line 1084) | void
function gst_xml_helper_set_prop_int (line 1094) | void
function gst_xml_helper_set_prop_uint (line 1103) | void
function gst_xml_helper_set_prop_int64 (line 1112) | void
function gst_xml_helper_set_prop_uint64 (line 1122) | void
function gst_xml_helper_set_prop_double (line 1132) | void
function gst_xml_helper_set_prop_uint_vector_type (line 1142) | void
function gst_xml_helper_set_prop_date_time (line 1165) | void
function gst_xml_helper_set_prop_duration (line 1177) | void
function gst_xml_helper_set_prop_ratio (line 1209) | void
function gst_xml_helper_set_prop_framerate (line 1222) | void
function gst_xml_helper_set_prop_range (line 1234) | void
function gst_xml_helper_set_prop_cond_uint (line 1248) | void
function gst_xml_helper_set_content (line 1267) | void
FILE: ext/dash/gstxmlhelper.h
type _GstXMLRange (line 30) | struct _GstXMLRange
type GstXMLRatio (line 31) | typedef struct _GstXMLRatio GstXMLRatio;
type GstXMLFrameRate (line 32) | typedef struct _GstXMLFrameRate GstXMLFrameRate;
type GstXMLConditionalUintType (line 33) | typedef struct _GstXMLConditionalUintType GstXMLConditionalUintType;
type _GstXMLRange (line 35) | struct _GstXMLRange
type _GstXMLRatio (line 41) | struct _GstXMLRatio
type _GstXMLFrameRate (line 47) | struct _GstXMLFrameRate
type _GstXMLConditionalUintType (line 53) | struct _GstXMLConditionalUintType
FILE: ext/dc1394/gstdc1394src.c
function GType (line 68) | static GType
function gst_dc1394_src_class_init (line 134) | static void
function gst_dc1394_src_init (line 194) | static void
function gst_dc1394_src_get_property (line 211) | static void
function gst_dc1394_src_set_property (line 238) | static void
function gboolean (line 265) | static gboolean
function gboolean (line 275) | static gboolean
function GstCaps (line 288) | static GstCaps *
function gboolean (line 310) | static gboolean
function GstFlowReturn (line 322) | static GstFlowReturn
function gst_dc1394_src_set_prop_camera_guid (line 362) | static void
function gchar (line 382) | static gchar *
function gst_dc1394_src_set_prop_camera_unit (line 392) | static void
function gint (line 399) | static gint
function gst_dc1394_src_set_prop_iso_speed (line 406) | static void
function guint (line 434) | static guint
function gst_dc1394_src_set_prop_dma_buffer_size (line 456) | static void
function guint (line 463) | static guint
function gboolean (line 470) | static gboolean
function gst_dc1394_src_close_cam (line 564) | static void
function gboolean (line 583) | static gboolean
function gboolean (line 657) | static gboolean
function gboolean (line 716) | static gboolean
function GstCaps (line 823) | GstCaps *
function GstCaps (line 890) | static GstCaps *
function GstCaps (line 932) | static GstCaps *
function gboolean (line 1104) | static gboolean
function gboolean (line 1233) | static gboolean
FILE: ext/dc1394/gstdc1394src.h
type GstDC1394Src (line 36) | typedef struct _GstDC1394Src GstDC1394Src;
type GstDC1394SrcClass (line 37) | typedef struct _GstDC1394SrcClass GstDC1394SrcClass;
type _GstDC1394Src (line 39) | struct _GstDC1394Src {
type _GstDC1394SrcClass (line 52) | struct _GstDC1394SrcClass {
FILE: ext/directfb/dfb-example.c
function gboolean (line 26) | static gboolean
function main (line 33) | int
FILE: ext/directfb/dfbvideosink.c
function GType (line 128) | static GType
function GType (line 147) | GType
function gboolean (line 160) | static gboolean
function GstMetaInfo (line 174) | const GstMetaInfo *
function gboolean (line 193) | static gboolean
function gst_dfb_buffer_pool_free_buffer (line 275) | static void
function GstFlowReturn (line 299) | static GstFlowReturn
function GstBufferPool (line 464) | static GstBufferPool *
function gst_dfb_buffer_pool_finalize (line 480) | static void
function gst_dfb_buffer_pool_init (line 492) | static void
function gst_dfb_buffer_pool_class_init (line 498) | static void
function gpointer (line 572) | static gpointer
function DFBEnumerationResult (line 647) | static DFBEnumerationResult
function DFBEnumerationResult (line 724) | static DFBEnumerationResult
function DFBEnumerationResult (line 754) | static DFBEnumerationResult
function gboolean (line 790) | static gboolean
function gst_dfbvideosink_cleanup (line 1036) | static void
function DFBSurfacePixelFormat (line 1105) | static DFBSurfacePixelFormat
function GstCaps (line 1159) | static GstCaps *
function gboolean (line 1204) | static gboolean
function gboolean (line 1291) | static gboolean
function GstCaps (line 1349) | static GstCaps *
function gboolean (line 1462) | static gboolean
function GstStateChangeReturn (line 1663) | static GstStateChangeReturn
function gst_dfbvideosink_get_times (line 1729) | static void
function GstFlowReturn (line 1750) | static GstFlowReturn
function gst_dfbvideosink_navigation_send_event (line 1984) | static void
function gst_dfbvideosink_navigation_init (line 2051) | static void
function gst_dfbvideosink_update_colorbalance (line 2057) | static void
function GList (line 2093) | static const GList *
function gst_dfbvideosink_colorbalance_set_value (line 2103) | static void
function gint (line 2131) | static gint
function GstColorBalanceType (line 2157) | static GstColorBalanceType
function gst_dfbvideosink_colorbalance_init (line 2163) | static void
function gst_dfbvideosink_set_property (line 2174) | static void
function gst_dfbvideosink_get_property (line 2232) | static void
function gboolean (line 2270) | static gboolean
function gst_dfbvideosink_finalize (line 2337) | static void
function gst_dfbvideosink_init (line 2355) | static void
function gst_dfbvideosink_class_init (line 2394) | static void
function gboolean (line 2464) | static gboolean
FILE: ext/directfb/dfbvideosink.h
type GstDfbVideoSink (line 44) | typedef struct _GstDfbVideoSink GstDfbVideoSink;
type GstDfbVideoSinkClass (line 45) | typedef struct _GstDfbVideoSinkClass GstDfbVideoSinkClass;
type GstMetaDfbSurface (line 47) | typedef struct _GstMetaDfbSurface GstMetaDfbSurface;
type _GstMetaDfbSurface (line 57) | struct _GstMetaDfbSurface {
type GstDfbBufferPool (line 72) | typedef struct _GstDfbBufferPool GstDfbBufferPool;
type _GstDfbBufferPool (line 74) | struct _GstDfbBufferPool
type GstDfbBufferPoolClass (line 83) | typedef struct _GstDfbBufferPoolClass GstDfbBufferPoolClass;
type _GstDfbBufferPoolClass (line 85) | struct _GstDfbBufferPoolClass
type GstDfbVMode (line 90) | typedef struct _GstDfbVMode GstDfbVMode;
type _GstDfbVMode (line 92) | struct _GstDfbVMode {
type _GstDfbVideoSink (line 103) | struct _GstDfbVideoSink {
type _GstDfbVideoSinkClass (line 152) | struct _GstDfbVideoSinkClass {
FILE: ext/dtls/gstdtlsagent.c
type _GstDtlsAgentPrivate (line 54) | struct _GstDtlsAgentPrivate
function ssl_locking_function (line 71) | static void
function ssl_thread_id_function (line 101) | static void
function _gst_dtls_init_openssl (line 108) | void
function gst_dtls_agent_class_init (line 146) | static void
function ssl_warn_cb (line 166) | static int
function gst_dtls_agent_init (line 174) | static void
function gst_dtls_agent_finalize (line 209) | static void
function gst_dtls_agent_set_property (line 224) | static void
function GstDtlsCertificate (line 262) | GstDtlsCertificate *
function gchar (line 272) | gchar *
function GstDtlsAgentContext (line 285) | const GstDtlsAgentContext
FILE: ext/dtls/gstdtlsagent.h
type gpointer (line 42) | typedef gpointer GstDtlsAgentContext;
type GstDtlsAgent (line 44) | typedef struct _GstDtlsAgent GstDtlsAgent;
type GstDtlsAgentClass (line 45) | typedef struct _GstDtlsAgentClass GstDtlsAgentClass;
type GstDtlsAgentPrivate (line 46) | typedef struct _GstDtlsAgentPrivate GstDtlsAgentPrivate;
type _GstDtlsAgent (line 54) | struct _GstDtlsAgent {
type _GstDtlsAgentClass (line 60) | struct _GstDtlsAgentClass {
FILE: ext/dtls/gstdtlscertificate.c
type _GstDtlsCertificatePrivate (line 71) | struct _GstDtlsCertificatePrivate
function gst_dtls_certificate_class_init (line 93) | static void
function gst_dtls_certificate_init (line 115) | static void
function gst_dtls_certificate_finalize (line 127) | static void
function gst_dtls_certificate_set_property (line 145) | static void
function gst_dtls_certificate_get_property (line 166) | static void
function init_generated (line 190) | static void
function init_from_pem_string (line 295) | static void
function gchar (line 332) | gchar *
function GstDtlsCertificateInternalCertificate (line 363) | GstDtlsCertificateInternalCertificate
function GstDtlsCertificateInternalKey (line 370) | GstDtlsCertificateInternalKey
FILE: ext/dtls/gstdtlscertificate.h
type gpointer (line 40) | typedef gpointer GstDtlsCertificateInternalCertificate;
type gpointer (line 41) | typedef gpointer GstDtlsCertificateInternalKey;
type GstDtlsCertificate (line 43) | typedef struct _GstDtlsCertificate GstDtlsCertificate;
type GstDtlsCertificateClass (line 44) | typedef struct _GstDtlsCertificateClass GstDtlsCertificateClass;
type GstDtlsCertificatePrivate (line 45) | typedef struct _GstDtlsCertificatePrivate GstDtlsCertificatePrivate;
type _GstDtlsCertificate (line 53) | struct _GstDtlsCertificate {
type _GstDtlsCertificateClass (line 59) | struct _GstDtlsCertificateClass {
FILE: ext/dtls/gstdtlsconnection.c
type _GstDtlsConnectionPrivate (line 82) | struct _GstDtlsConnectionPrivate
function gst_dtls_connection_class_init (line 137) | static void
function gst_dtls_connection_init (line 184) | static void
function gst_dtls_connection_finalize (line 213) | static void
function BIO_set_data (line 237) | static void
function BIO_set_shutdown (line 249) | static void
function BIO_set_init (line 255) | static void
function X509 (line 261) | static X509 *
function gst_dtls_connection_set_property (line 268) | static void
function gst_dtls_connection_get_property (line 306) | static void
function gboolean (line 324) | gboolean
function handle_timeout (line 387) | static void
function gboolean (line 421) | static gboolean
function gst_dtls_connection_check_timeout_locked (line 440) | static void
function gst_dtls_connection_check_timeout (line 489) | void
function gst_dtls_connection_stop (line 506) | void
function gst_dtls_connection_close (line 542) | void
function gst_dtls_connection_set_send_callback (line 579) | void
function gst_dtls_connection_set_flow_return (line 604) | void
function GstFlowReturn (line 612) | GstFlowReturn
function GstFlowReturn (line 728) | GstFlowReturn
function log_state (line 829) | static void
function gboolean (line 863) | static gboolean
function ssl_warn_cb (line 965) | static int
function ssl_err_cb (line 973) | static int
function GstFlowReturn (line 981) | static GstFlowReturn
function GstFlowReturn (line 1041) | static GstFlowReturn
function openssl_verify_callback (line 1094) | static int
function BIO_METHOD (line 1164) | static BIO_METHOD *
function BIO_METHOD (line 1172) | static BIO_METHOD *
function bio_method_write (line 1193) | static int
function bio_method_read (line 1209) | static int
function bio_method_ctrl (line 1253) | static long
function bio_method_new (line 1299) | static int
function bio_method_free (line 1310) | static int
function GType (line 1322) | GType
FILE: ext/dtls/gstdtlsconnection.h
type GstDtlsConnection (line 40) | typedef struct _GstDtlsConnection GstDtlsConnection;
type GstDtlsConnectionClass (line 41) | typedef struct _GstDtlsConnectionClass GstDtlsConnectionClass;
type GstDtlsConnectionPrivate (line 42) | typedef struct _GstDtlsConnectionPrivate GstDtlsConnectionPrivate;
type GstDtlsSrtpCipher (line 50) | typedef enum {
type GstDtlsSrtpAuth (line 61) | typedef enum {
type GstDtlsConnectionState (line 68) | typedef enum
type _GstDtlsConnection (line 87) | struct _GstDtlsConnection {
type _GstDtlsConnectionClass (line 93) | struct _GstDtlsConnectionClass {
type gboolean (line 114) | typedef gboolean (*GstDtlsConnectionSendCallback) (GstDtlsConnection * c...
FILE: ext/dtls/gstdtlsdec.c
function gst_dtls_dec_class_init (line 113) | static void
function gst_dtls_dec_init (line 195) | static void
function gst_dtls_dec_finalize (line 220) | static void
function gst_dtls_dec_dispose (line 243) | static void
function gst_dtls_dec_set_property (line 261) | static void
function gst_dtls_dec_get_property (line 288) | static void
function GstStateChangeReturn (line 326) | static GstStateChangeReturn
function gboolean (line 355) | static gboolean
function GstPad (line 370) | static GstPad *
function gst_dtls_dec_release_pad (line 407) | static void
function on_key_received (line 424) | static void
function gboolean (line 451) | static gboolean
function GstFlowReturn (line 470) | static GstFlowReturn
type ProcessListData (line 515) | typedef struct
function gboolean (line 522) | static gboolean
function GstFlowReturn (line 541) | static GstFlowReturn
function GstFlowReturn (line 599) | static GstFlowReturn
function GstDtlsAgent (line 661) | static GstDtlsAgent *
function agent_weak_ref_notify (line 722) | static void
function GstDtlsConnection (line 736) | GstDtlsConnection *
function on_connection_state_changed (line 761) | static void
function create_connection (line 770) | static void
function connection_weak_ref_notify (line 811) | static void
FILE: ext/dtls/gstdtlsdec.h
type GstDtlsDec (line 47) | typedef struct _GstDtlsDec GstDtlsDec;
type GstDtlsDecClass (line 48) | typedef struct _GstDtlsDecClass GstDtlsDecClass;
type _GstDtlsDec (line 50) | struct _GstDtlsDec {
type _GstDtlsDecClass (line 68) | struct _GstDtlsDecClass {
FILE: ext/dtls/gstdtlselement.c
function dtls_element_init (line 36) | void
FILE: ext/dtls/gstdtlsenc.c
function gst_dtls_enc_class_init (line 109) | static void
function gst_dtls_enc_init (line 185) | static void
function gst_dtls_enc_finalize (line 210) | static void
function gst_dtls_enc_set_property (line 238) | static void
function gst_dtls_enc_get_property (line 260) | static void
function on_connection_state_changed (line 294) | static void
function GstStateChangeReturn (line 303) | static GstStateChangeReturn
function GstPad (line 377) | static GstPad *
function gboolean (line 406) | static gboolean
function src_task_loop (line 445) | static void
function GstFlowReturn (line 521) | static GstFlowReturn
function gboolean (line 586) | static gboolean
function on_key_received (line 631) | static void
function gboolean (line 659) | static gboolean
FILE: ext/dtls/gstdtlsenc.h
type GstDtlsEnc (line 42) | typedef struct _GstDtlsEnc GstDtlsEnc;
type GstDtlsEncClass (line 43) | typedef struct _GstDtlsEncClass GstDtlsEncClass;
type _GstDtlsEnc (line 45) | struct _GstDtlsEnc {
type _GstDtlsEncClass (line 68) | struct _GstDtlsEncClass {
FILE: ext/dtls/gstdtlssrtpbin.c
function gst_dtls_srtp_bin_class_init (line 63) | static void
function gst_dtls_srtp_bin_init (line 128) | static void
function gst_dtls_srtp_bin_finalize (line 139) | static void
function gst_dtls_srtp_bin_set_property (line 160) | static void
function gst_dtls_srtp_bin_get_property (line 209) | static void
FILE: ext/dtls/gstdtlssrtpbin.h
type GstDtlsSrtpBin (line 40) | typedef struct _GstDtlsSrtpBin GstDtlsSrtpBin;
type GstDtlsSrtpBinClass (line 41) | typedef struct _GstDtlsSrtpBinClass GstDtlsSrtpBinClass;
type _GstDtlsSrtpBin (line 43) | struct _GstDtlsSrtpBin {
type _GstDtlsSrtpBinClass (line 56) | struct _GstDtlsSrtpBinClass {
FILE: ext/dtls/gstdtlssrtpdec.c
function gst_dtls_srtp_dec_class_init (line 101) | static void
function on_connection_state_changed (line 159) | static void
function gst_dtls_srtp_dec_init (line 168) | static void
function gst_dtls_srtp_dec_set_property (line 252) | static void
function gst_dtls_srtp_dec_get_property (line 271) | static void
function GstPad (line 307) | static GstPad *
function gst_dtls_srtp_dec_release_pad (line 347) | static void
function GstCaps (line 372) | static GstCaps *
function on_peer_pem (line 449) | static void
function gst_dtls_srtp_dec_remove_dtls_element (line 457) | static void
function GstPadProbeReturn (line 483) | static GstPadProbeReturn
FILE: ext/dtls/gstdtlssrtpdec.h
type GstDtlsSrtpDec (line 41) | typedef struct _GstDtlsSrtpDec GstDtlsSrtpDec;
type GstDtlsSrtpDecClass (line 42) | typedef struct _GstDtlsSrtpDecClass GstDtlsSrtpDecClass;
type _GstDtlsSrtpDec (line 44) | struct _GstDtlsSrtpDec {
type _GstDtlsSrtpDecClass (line 51) | struct _GstDtlsSrtpDecClass {
FILE: ext/dtls/gstdtlssrtpdemux.c
function gst_dtls_srtp_demux_class_init (line 69) | static void
function gst_dtls_srtp_demux_init (line 87) | static void
function GstFlowReturn (line 108) | static GstFlowReturn
FILE: ext/dtls/gstdtlssrtpdemux.h
type GstDtlsSrtpDemux (line 44) | typedef struct _GstDtlsSrtpDemux GstDtlsSrtpDemux;
type GstDtlsSrtpDemuxClass (line 45) | typedef struct _GstDtlsSrtpDemuxClass GstDtlsSrtpDemuxClass;
type _GstDtlsSrtpDemux (line 47) | struct _GstDtlsSrtpDemux {
type _GstDtlsSrtpDemuxClass (line 54) | struct _GstDtlsSrtpDemuxClass {
FILE: ext/dtls/gstdtlssrtpenc.c
function gst_dtls_srtp_enc_class_init (line 112) | static void
function on_connection_state_changed (line 175) | static void
function gst_dtls_srtp_enc_init (line 184) | static void
function gboolean (line 271) | static gboolean
function gst_dtls_srtp_enc_set_property (line 292) | static void
function gst_dtls_srtp_enc_get_property (line 316) | static void
function GstPad (line 349) | static GstPad *
function GstPad (line 369) | static GstPad *
function on_key_received (line 457) | static void
function gst_dtls_srtp_enc_remove_dtls_element (line 485) | static void
function GstPadProbeReturn (line 533) | static GstPadProbeReturn
FILE: ext/dtls/gstdtlssrtpenc.h
type GstDtlsSrtpEnc (line 41) | typedef struct _GstDtlsSrtpEnc GstDtlsSrtpEnc;
type GstDtlsSrtpEncClass (line 42) | typedef struct _GstDtlsSrtpEncClass GstDtlsSrtpEncClass;
type _GstDtlsSrtpEnc (line 44) | struct _GstDtlsSrtpEnc {
type _GstDtlsSrtpEncClass (line 53) | struct _GstDtlsSrtpEncClass {
FILE: ext/dtls/plugin.c
function gboolean (line 34) | static gboolean
FILE: ext/dts/gstdtsdec.c
type dca_state_t (line 56) | typedef struct dts_state_s dca_state_t;
function gst_dtsdec_class_init (line 151) | static void
function gst_dtsdec_init (line 211) | static void
function gboolean (line 229) | static gboolean
function gboolean (line 254) | static gboolean
function GstFlowReturn (line 270) | static GstFlowReturn
function gint (line 315) | static gint
function gboolean (line 407) | static gboolean
function gst_dtsdec_update_streaminfo (line 442) | static void
function GstFlowReturn (line 459) | static GstFlowReturn
function gboolean (line 661) | static gboolean
function GstFlowReturn (line 677) | static GstFlowReturn
function gst_dtsdec_set_property (line 758) | static void
function gst_dtsdec_get_property (line 774) | static void
function gboolean (line 790) | static gboolean
function gboolean (line 803) | static gboolean
FILE: ext/dts/gstdtsdec.h
type GstDtsDec (line 40) | typedef struct _GstDtsDec GstDtsDec;
type GstDtsDecClass (line 41) | typedef struct _GstDtsDecClass GstDtsDecClass;
type _GstDtsDec (line 43) | struct _GstDtsDec {
type _GstDtsDecClass (line 73) | struct _GstDtsDecClass {
FILE: ext/faac/gstfaac.c
function GType (line 141) | static GType
function GType (line 161) | static GType
function gst_faac_class_init (line 181) | static void
function gst_faac_init (line 246) | static void
function gst_faac_close_encoder (line 252) | static void
function gboolean (line 260) | static gboolean
function GstCaps (line 299) | static GstCaps *
function gst_faac_set_tags (line 347) | static void
function gboolean (line 363) | static gboolean
function gst_faac_negotiate (line 409) | static void
function gboolean (line 466) | static gboolean
function gboolean (line 546) | static gboolean
function GstFlowReturn (line 640) | static GstFlowReturn
function gst_faac_set_property (line 712) | static void
function gst_faac_get_property (line 747) | static void
function gboolean (line 782) | static gboolean
FILE: ext/faac/gstfaac.h
type GstFaac (line 41) | typedef struct _GstFaac GstFaac;
type GstFaacClass (line 42) | typedef struct _GstFaacClass GstFaacClass;
type _GstFaac (line 44) | struct _GstFaac {
type _GstFaacClass (line 70) | struct _GstFaacClass {
FILE: ext/faad/gstfaad.c
function gst_faad_class_init (line 109) | static void
function gst_faad_init (line 133) | static void
function gst_faad_reset_stream_state (line 142) | static void
function gst_faad_reset (line 149) | static void
function gboolean (line 163) | static gboolean
function gboolean (line 179) | static gboolean
function gint (line 191) | static gint
function gboolean (line 220) | static gboolean
function gboolean (line 337) | static gboolean
function gboolean (line 423) | static gboolean
function gboolean (line 500) | static gboolean
function gboolean (line 574) | static gboolean
function GstFlowReturn (line 592) | static GstFlowReturn
function GstFlowReturn (line 623) | static GstFlowReturn
function gst_faad_flush (line 801) | static void
function gboolean (line 807) | static gboolean
function gst_faad_close_decoder (line 832) | static void
function gboolean (line 841) | static gboolean
FILE: ext/faad/gstfaad.h
type GstFaad (line 41) | typedef struct _GstFaad {
type GstFaadClass (line 63) | typedef struct _GstFaadClass {
FILE: ext/fdkaac/gstfdkaac.h
function G_BEGIN_DECLS (line 27) | G_BEGIN_DECLS
FILE: ext/fdkaac/gstfdkaacdec.c
function gboolean (line 74) | static gboolean
function gboolean (line 84) | static gboolean
function gboolean (line 101) | static gboolean
function GstFlowReturn (line 187) | static GstFlowReturn
function gst_fdkaacdec_flush (line 425) | static void
function gst_fdkaacdec_init (line 440) | static void
function gst_fdkaacdec_class_init (line 449) | static void
FILE: ext/fdkaac/gstfdkaacdec.h
type GstFdkAacDec (line 41) | typedef struct _GstFdkAacDec GstFdkAacDec;
type GstFdkAacDecClass (line 42) | typedef struct _GstFdkAacDecClass GstFdkAacDecClass;
type _GstFdkAacDec (line 44) | struct _GstFdkAacDec {
type _GstFdkAacDecClass (line 52) | struct _GstFdkAacDecClass {
FILE: ext/fdkaac/gstfdkaacenc.c
function gst_fdkaacenc_set_property (line 101) | static void
function gst_fdkaacenc_get_property (line 118) | static void
function gboolean (line 135) | static gboolean
function gboolean (line 145) | static gboolean
function GstCaps (line 161) | static GstCaps *
function gboolean (line 194) | static gboolean
function GstFlowReturn (line 424) | static GstFlowReturn
function gst_fdkaacenc_flush (line 530) | static void
function gst_fdkaacenc_init (line 544) | static void
function gst_fdkaacenc_class_init (line 554) | static void
FILE: ext/fdkaac/gstfdkaacenc.h
type GstFdkAacEnc (line 41) | typedef struct _GstFdkAacEnc GstFdkAacEnc;
type GstFdkAacEncClass (line 42) | typedef struct _GstFdkAacEncClass GstFdkAacEncClass;
type _GstFdkAacEnc (line 44) | struct _GstFdkAacEnc {
type _GstFdkAacEncClass (line 56) | struct _GstFdkAacEncClass {
FILE: ext/fdkaac/gstfdkaacplugin.c
function gboolean (line 27) | static gboolean
FILE: ext/flite/gstflite.c
function gboolean (line 30) | static gboolean
FILE: ext/flite/gstflitetestsrc.c
type GstFliteTestSrc (line 43) | typedef struct _GstFliteTestSrc GstFliteTestSrc;
type GstFliteTestSrcClass (line 44) | typedef struct _GstFliteTestSrcClass GstFliteTestSrcClass;
type _GstFliteTestSrc (line 46) | struct _GstFliteTestSrc
type _GstFliteTestSrcClass (line 61) | struct _GstFliteTestSrcClass
function gst_flite_test_src_class_init (line 112) | static void
function gst_flite_test_src_init (line 150) | static void
function gint (line 161) | static gint
function GstCaps (line 177) | static GstCaps *
function gboolean (line 274) | static gboolean
function gboolean (line 289) | static gboolean
function gst_flite_test_src_get_times (line 357) | static void
function gboolean (line 384) | static gboolean
function gboolean (line 396) | static gboolean
function GstFlowReturn (line 437) | static GstFlowReturn
function gst_flite_test_src_set_property (line 490) | static void
function gst_flite_test_src_get_property (line 506) | static void
FILE: ext/fluidsynth/gstfluiddec.c
function gst_fluid_dec_class_init (line 123) | static void
function gst_fluid_dec_init (line 176) | static void
function gst_fluid_dec_finalize (line 209) | static void
function GstBuffer (line 222) | static GstBuffer *
function gst_fluid_dec_reset (line 262) | static void
function gboolean (line 269) | static gboolean
function GstFlowReturn (line 314) | static GstFlowReturn
function handle_buffer (line 357) | static void
function GstFlowReturn (line 439) | static GstFlowReturn
function gboolean (line 475) | static gboolean
function gboolean (line 570) | static gboolean
function GstStateChangeReturn (line 580) | static GstStateChangeReturn
function gst_fluid_dec_set_property (line 624) | static void
function gst_fluid_dec_get_property (line 657) | static void
function gst_fluid_synth_error_log_function (line 686) | static void
function gst_fluid_synth_warning_log_function (line 692) | static void
function gst_fluid_synth_info_log_function (line 699) | static void
function gst_fluid_synth_debug_log_function (line 705) | static void
function gboolean (line 711) | static gboolean
function gboolean (line 753) | static gboolean
FILE: ext/fluidsynth/gstfluiddec.h
type GstFluidDec (line 43) | typedef struct _GstFluidDec GstFluidDec;
type GstFluidDecClass (line 44) | typedef struct _GstFluidDecClass GstFluidDecClass;
type _GstFluidDec (line 46) | struct _GstFluidDec
type _GstFluidDecClass (line 69) | struct _GstFluidDecClass
FILE: ext/gme/gstgme.c
function gboolean (line 71) | static gboolean
function gst_gme_dec_class_init (line 83) | static void
function gst_gme_dec_init (line 104) | static void
function gst_gme_dec_dispose (line 125) | static void
function GstFlowReturn (line 138) | static GstFlowReturn
function gboolean (line 149) | static gboolean
function gboolean (line 182) | static gboolean
function gboolean (line 276) | static gboolean
function gst_gme_play (line 317) | static void
function gboolean (line 375) | static gboolean
function GstStateChangeReturn (line 473) | static GstStateChangeReturn
function gboolean (line 508) | static gboolean
FILE: ext/gme/gstgme.h
type GstGmeDec (line 42) | typedef struct _GstGmeDec GstGmeDec;
type GstGmeDecClass (line 43) | typedef struct _GstGmeDecClass GstGmeDecClass;
type _GstGmeDec (line 45) | struct _GstGmeDec
type _GstGmeDecClass (line 61) | struct _GstGmeDecClass
FILE: ext/gs/gstgs.cpp
function gboolean (line 37) | static gboolean
FILE: ext/gs/gstgscommon.cpp
function gchar (line 31) | static inline gchar *
function gst_gs_create_client (line 64) | std::unique_ptr <
function gboolean (line 102) | gboolean
FILE: ext/gs/gstgssink.cpp
class GSWriteStream (line 115) | class GSWriteStream
method GSWriteStream (line 175) | GSWriteStream(google::cloud::storage::Client& client,
type _GstGsSink (line 117) | struct _GstGsSink {
function GType (line 155) | static GType gst_gs_sink_next_get_type(void) {
class GSWriteStream (line 173) | class GSWriteStream {
method GSWriteStream (line 175) | GSWriteStream(google::cloud::storage::Client& client,
function gst_gs_sink_class_init (line 192) | static void gst_gs_sink_class_init(GstGsSinkClass* klass) {
function gst_gs_sink_init (line 319) | static void gst_gs_sink_init(GstGsSink* sink) {
function gst_gs_sink_finalize (line 337) | static void gst_gs_sink_finalize(GObject* object) {
function gboolean (line 359) | static gboolean gst_gs_sink_set_object_name(GstGsSink* sink,
function gst_gs_sink_set_property (line 403) | static void gst_gs_sink_set_property(GObject* object,
function gst_gs_sink_get_property (line 450) | static void gst_gs_sink_get_property(GObject* object,
function gboolean (line 484) | static gboolean gst_gs_sink_start(GstBaseSink* bsink) {
function gboolean (line 517) | static gboolean gst_gs_sink_stop(GstBaseSink* bsink) {
function gst_gs_sink_post_message_full (line 527) | static void gst_gs_sink_post_message_full(GstGsSink* sink,
function gst_gs_sink_post_message_from_time (line 553) | static void gst_gs_sink_post_message_from_time(GstGsSink* sink,
function gst_gs_sink_post_message (line 578) | static void gst_gs_sink_post_message(GstGsSink* sink,
function GstFlowReturn (line 606) | static GstFlowReturn gst_gs_sink_write_buffer(GstGsSink* sink,
function GstFlowReturn (line 716) | static GstFlowReturn gst_gs_sink_render(GstBaseSink* bsink, GstBuffer* b...
function gboolean (line 724) | static gboolean buffer_list_copy_data(GstBuffer** buf,
function GstFlowReturn (line 747) | static GstFlowReturn gst_gs_sink_render_list(GstBaseSink* sink,
function gboolean (line 767) | static gboolean gst_gs_sink_set_caps(GstBaseSink* bsink, GstCaps* caps) {
function gboolean (line 778) | static gboolean gst_gs_sink_event(GstBaseSink* bsink, GstEvent* event) {
FILE: ext/gs/gstgssrc.cpp
class GSReadStream (line 68) | class GSReadStream
method GSReadStream (line 118) | GSReadStream(GstGsSrc* src,
type _GstGsSrc (line 70) | struct _GstGsSrc {
class GSReadStream (line 116) | class GSReadStream {
method GSReadStream (line 118) | GSReadStream(GstGsSrc* src,
function gst_gs_src_class_init (line 132) | static void gst_gs_src_class_init(GstGsSrcClass* klass) {
function gst_gs_src_init (line 185) | static void gst_gs_src_init(GstGsSrc* src) {
function gst_gs_src_finalize (line 197) | static void gst_gs_src_finalize(GObject* object) {
function gboolean (line 210) | static gboolean gst_gs_src_set_location(GstGsSrc* src,
function gboolean (line 274) | static gboolean gst_gs_src_set_service_account_email(
function gst_gs_src_set_property (line 297) | static void gst_gs_src_set_property(GObject* object,
function gst_gs_src_get_property (line 318) | static void gst_gs_src_get_property(GObject* object,
function gint (line 343) | static gint gst_gs_read_stream(GstGsSrc* src,
function GstFlowReturn (line 369) | static GstFlowReturn gst_gs_src_fill(GstBaseSrc* basesrc,
function gboolean (line 445) | static gboolean gst_gs_src_is_seekable(GstBaseSrc* basesrc) {
function gboolean (line 449) | static gboolean gst_gs_src_get_size(GstBaseSrc* basesrc, guint64* size) {
function gboolean (line 457) | static gboolean gst_gs_src_start(GstBaseSrc* basesrc) {
function gboolean (line 510) | static gboolean gst_gs_src_stop(GstBaseSrc* basesrc) {
function gboolean (line 520) | static gboolean gst_gs_src_query(GstBaseSrc* src, GstQuery* query) {
function GstURIType (line 540) | static GstURIType gst_gs_src_uri_get_type(GType type) {
function gchar (line 544) | static const gchar* const* gst_gs_src_uri_get_protocols(GType type) {
function gchar (line 550) | static gchar* gst_gs_src_uri_get_uri(GstURIHandler* handler) {
function gboolean (line 556) | static gboolean gst_gs_src_uri_set_uri(GstURIHandler* handler,
function gst_gs_src_uri_handler_init (line 572) | static void gst_gs_src_uri_handler_init(gpointer g_iface, gpointer iface...
FILE: ext/gsm/gstgsm.c
function gboolean (line 29) | static gboolean
FILE: ext/gsm/gstgsmdec.c
function gst_gsmdec_class_init (line 80) | static void
function gst_gsmdec_init (line 106) | static void
function gboolean (line 115) | static gboolean
function gboolean (line 127) | static gboolean
function gboolean (line 139) | static gboolean
function GstFlowReturn (line 190) | static GstFlowReturn
function guint (line 225) | static guint
function GstFlowReturn (line 241) | static GstFlowReturn
FILE: ext/gsm/gstgsmdec.h
type GstGSMDec (line 45) | typedef struct _GstGSMDec GstGSMDec;
type GstGSMDecClass (line 46) | typedef struct _GstGSMDecClass GstGSMDecClass;
type _GstGSMDec (line 48) | struct _GstGSMDec
type _GstGSMDecClass (line 57) | struct _GstGSMDecClass
FILE: ext/gsm/gstgsmenc.c
function gst_gsmenc_class_init (line 74) | static void
function gst_gsmenc_init (line 99) | static void
function gboolean (line 105) | static gboolean
function gboolean (line 122) | static gboolean
function gboolean (line 133) | static gboolean
function GstFlowReturn (line 150) | static GstFlowReturn
FILE: ext/gsm/gstgsmenc.h
type GstGSMEnc (line 45) | typedef struct _GstGSMEnc GstGSMEnc;
type GstGSMEncClass (line 46) | typedef struct _GstGSMEncClass GstGSMEncClass;
type _GstGSMEnc (line 48) | struct _GstGSMEnc
type _GstGSMEncClass (line 55) | struct _GstGSMEncClass
FILE: ext/hls/gsthlsdemux-util.c
function gboolean (line 48) | static gboolean
function gint (line 62) | static gint
function gboolean (line 79) | static gboolean
function gboolean (line 114) | static gboolean
function gboolean (line 147) | static gboolean
function gst_hlsdemux_tsreader_init (line 184) | void
function gst_hlsdemux_tsreader_set_type (line 194) | void
function gboolean (line 201) | static gboolean
function gboolean (line 266) | static gboolean
function gboolean (line 347) | gboolean
FILE: ext/hls/gsthlsdemux.c
function gst_hls_demux_finalize (line 126) | static void
function gst_hls_demux_class_init (line 141) | static void
function gst_hls_demux_init (line 192) | static void
function GstStateChangeReturn (line 202) | static GstStateChangeReturn
function GstPad (line 229) | static GstPad *
function guint64 (line 242) | static guint64
function gst_hls_demux_stream_clear_pending_data (line 260) | static void
function gst_hls_demux_clear_all_pending_data (line 272) | static void
function gst_hls_demux_set_current (line 285) | static void
function gboolean (line 319) | static gboolean
function GstFlowReturn (line 407) | static GstFlowReturn
function GstFlowReturn (line 480) | static GstFlowReturn
function create_stream_for_playlist (line 490) | static void
function GstHLSDemuxStream (line 522) | static GstHLSDemuxStream *
function gboolean (line 545) | static gboolean
function gboolean (line 595) | static gboolean
function gchar (line 698) | static const gchar *
function gst_hls_demux_set_current_variant (line 704) | static void
function gboolean (line 762) | static gboolean
function GstClockTime (line 822) | static GstClockTime
function gboolean (line 834) | static gboolean
function GstHLSKey (line 846) | static const GstHLSKey *
function gboolean (line 900) | static gboolean
function GstHLSTSReaderType (line 950) | static GstHLSTSReaderType
function GstFlowReturn (line 963) | static GstFlowReturn
function GstFlowReturn (line 1060) | static GstFlowReturn
function GstFlowReturn (line 1125) | static GstFlowReturn
function gst_hls_demux_stream_free (line 1172) | static void
function GstM3U8 (line 1200) | static GstM3U8 *
function gboolean (line 1210) | static gboolean
function GstFlowReturn (line 1223) | static GstFlowReturn
function GstFlowReturn (line 1237) | static GstFlowReturn
function gboolean (line 1306) | static gboolean
function gst_hls_demux_reset (line 1335) | static void
function gchar (line 1365) | static gchar *
function gint (line 1390) | static gint
function gboolean (line 1408) | static gboolean
function gboolean (line 1497) | static gboolean
function gboolean (line 1548) | static gboolean
function gboolean (line 1751) | static gboolean
function gboolean (line 1847) | static gboolean
function gboolean (line 1865) | static gboolean
function gst_hls_demux_stream_decrypt_end (line 1889) | static void
function gboolean (line 1901) | static gboolean
function gboolean (line 1911) | static gboolean
function gst_hls_demux_stream_decrypt_end (line 1924) | static void
function gboolean (line 1931) | static gboolean
function gboolean (line 1958) | static gboolean
function gst_hls_demux_stream_decrypt_end (line 1970) | static void
function gboolean (line 1981) | static gboolean
function gboolean (line 1989) | static gboolean
function gst_hls_demux_stream_decrypt_end (line 1997) | static void
function GstBuffer (line 2004) | static GstBuffer *
function gint64 (line 2044) | static gint64
function gboolean (line 2060) | static gboolean
FILE: ext/hls/gsthlsdemux.h
type GstHLSDemux (line 57) | typedef struct _GstHLSDemux GstHLSDemux;
type GstHLSDemuxClass (line 58) | typedef struct _GstHLSDemuxClass GstHLSDemuxClass;
type GstHLSDemuxStream (line 59) | typedef struct _GstHLSDemuxStream GstHLSDemuxStream;
type GstHLSTSReader (line 60) | typedef struct _GstHLSTSReader GstHLSTSReader;
type GstHLSTSReaderType (line 64) | typedef enum {
type _GstHLSTSReader (line 70) | struct _GstHLSTSReader
type _GstHLSDemuxStream (line 83) | struct _GstHLSDemuxStream
type GstHLSKey (line 125) | typedef struct {
type _GstHLSDemux (line 134) | struct _GstHLSDemux
type _GstHLSDemuxClass (line 155) | struct _GstHLSDemuxClass
FILE: ext/hls/gsthlselement.c
function hls_element_init (line 10) | void
FILE: ext/hls/gsthlsplugin.c
function gboolean (line 9) | static gboolean
FILE: ext/hls/gsthlssink.c
function gst_hls_sink_dispose (line 96) | static void
function gst_hls_sink_finalize (line 104) | static void
function gst_hls_sink_class_init (line 118) | static void
function gst_hls_sink_init (line 178) | static void
function gst_hls_sink_reset (line 204) | static void
function gboolean (line 221) | static gboolean
function gst_hls_sink_write_playlist (line 258) | static void
function gst_hls_sink_handle_message (line 277) | static void
function GstStateChangeReturn (line 343) | static GstStateChangeReturn
function gst_hls_sink_set_property (line 385) | static void
function gst_hls_sink_get_property (line 427) | static void
function GstPadProbeReturn (line 458) | static GstPadProbeReturn
function gboolean (line 498) | static gboolean
function gst_hls_sink_check_schedule_next_key_unit (line 530) | static void
function GstPadProbeReturn (line 544) | static GstPadProbeReturn
function GstFlowReturn (line 558) | static GstFlowReturn
FILE: ext/hls/gsthlssink.h
type GstHlsSink (line 34) | typedef struct _GstHlsSink GstHlsSink;
type GstHlsSinkClass (line 35) | typedef struct _GstHlsSinkClass GstHlsSinkClass;
type _GstHlsSink (line 37) | struct _GstHlsSink
type _GstHlsSinkClass (line 60) | struct _GstHlsSinkClass
FILE: ext/hls/gsthlssink2.c
function gst_hls_sink2_dispose (line 119) | static void
function gst_hls_sink2_finalize (line 127) | static void
function GOutputStream (line 146) | static GOutputStream *
function GOutputStream (line 168) | static GOutputStream *
function gst_hls_sink2_class_init (line 190) | static void
function gchar (line 309) | static gchar *
function gst_hls_sink2_init (line 339) | static void
function gst_hls_sink2_reset (line 372) | static void
function gst_hls_sink2_write_playlist (line 388) | static void
function gst_hls_sink2_handle_message (line 420) | static void
function GstPad (line 510) | static GstPad *
function gst_hls_sink2_release_pad (line 546) | static void
function GstStateChangeReturn (line 571) | static GstStateChangeReturn
function gst_hls_sink2_set_property (line 610) | static void
function gst_hls_sink2_get_property (line 658) | static void
FILE: ext/hls/gsthlssink2.h
type GstHlsSink2 (line 35) | typedef struct _GstHlsSink2 GstHlsSink2;
type GstHlsSink2Class (line 36) | typedef struct _GstHlsSink2Class GstHlsSink2Class;
type _GstHlsSink2 (line 38) | struct _GstHlsSink2
type _GstHlsSink2Class (line 63) | struct _GstHlsSink2Class
FILE: ext/hls/gstm3u8playlist.c
type GstM3U8Entry (line 35) | typedef struct _GstM3U8Entry GstM3U8Entry;
type _GstM3U8Entry (line 37) | struct _GstM3U8Entry
function GstM3U8Entry (line 45) | static GstM3U8Entry *
function gst_m3u8_entry_free (line 61) | static void
function GstM3U8Playlist (line 71) | GstM3U8Playlist *
function gst_m3u8_playlist_free (line 86) | void
function gboolean (line 97) | gboolean
function guint (line 128) | static guint
function gchar (line 144) | gchar *
FILE: ext/hls/gstm3u8playlist.h
type _GstM3U8Playlist (line 29) | struct _GstM3U8Playlist
type _GstM3U8Playlist (line 31) | struct _GstM3U8Playlist
type GstM3U8PlaylistRenderState (line 43) | typedef enum
FILE: ext/hls/m3u8.c
function GstM3U8 (line 39) | GstM3U8 *
function gst_m3u8_take_uri (line 60) | static void
function gst_m3u8_set_uri (line 79) | void
function GstM3U8 (line 89) | GstM3U8 *
function gst_m3u8_unref (line 98) | void
function GstM3U8MediaFile (line 117) | static GstM3U8MediaFile *
function GstM3U8MediaFile (line 133) | GstM3U8MediaFile *
function gst_m3u8_media_file_unref (line 142) | void
function GstM3U8InitFile (line 157) | static GstM3U8InitFile *
function GstM3U8InitFile (line 169) | static GstM3U8InitFile *
function gst_m3u8_init_file_unref (line 178) | static void
function gboolean (line 189) | static gboolean
function gboolean (line 219) | static gboolean
function gboolean (line 244) | static gboolean
function gboolean (line 274) | static gboolean
function gint (line 333) | static gint
function gboolean (line 347) | static gboolean
function generate_media_seqnums (line 418) | static void
function gboolean (line 482) | gboolean
function GList (line 889) | static GList *
function GstM3U8MediaFile (line 920) | GstM3U8MediaFile *
function gboolean (line 961) | gboolean
function m3u8_alternate_advance (line 988) | static void
function gst_m3u8_advance_fragment (line 1015) | void
function GstClockTime (line 1098) | GstClockTime
function GstClockTime (line 1127) | GstClockTime
function gchar (line 1141) | gchar *
function gboolean (line 1153) | gboolean
function gchar (line 1167) | gchar *
function gboolean (line 1223) | gboolean
function GstHLSMedia (line 1265) | GstHLSMedia *
function gst_hls_media_unref (line 1273) | void
function GstHLSMediaType (line 1288) | static GstHLSMediaType
function gchar (line 1304) | const gchar *
function gchar (line 1318) | static gchar *
function GstHLSMedia (line 1334) | static GstHLSMedia *
function GstHLSVariantStream (line 1421) | static GstHLSVariantStream *
function GstHLSVariantStream (line 1432) | GstHLSVariantStream *
function gst_hls_variant_stream_unref (line 1439) | void
function GstHLSVariantStream (line 1457) | static GstHLSVariantStream *
function GstHLSVariantStream (line 1469) | static GstHLSVariantStream *
function GstHLSMasterPlaylist (line 1481) | static GstHLSMasterPlaylist *
function gst_hls_master_playlist_unref (line 1493) | void
function gint (line 1508) | static gint
function GstHLSMasterPlaylist (line 1515) | GstHLSMasterPlaylist *
function gboolean (line 1813) | gboolean
function gint (line 1825) | static gint
function GstHLSMedia (line 1831) | GstHLSMedia *
function GstHLSVariantStream (line 1848) | GstHLSVariantStream *
function GstHLSVariantStream (line 1871) | GstHLSVariantStream *
FILE: ext/hls/m3u8.h
type _GstM3U8 (line 31) | struct _GstM3U8
type GstM3U8MediaFile (line 32) | typedef struct _GstM3U8MediaFile GstM3U8MediaFile;
type GstM3U8InitFile (line 33) | typedef struct _GstM3U8InitFile GstM3U8InitFile;
type GstHLSMedia (line 34) | typedef struct _GstHLSMedia GstHLSMedia;
type GstM3U8Client (line 35) | typedef struct _GstM3U8Client GstM3U8Client;
type GstHLSVariantStream (line 36) | typedef struct _GstHLSVariantStream GstHLSVariantStream;
type GstHLSMasterPlaylist (line 37) | typedef struct _GstHLSMasterPlaylist GstHLSMasterPlaylist;
type _GstM3U8 (line 53) | struct _GstM3U8
type _GstM3U8MediaFile (line 92) | struct _GstM3U8MediaFile
type _GstM3U8InitFile (line 106) | struct _GstM3U8InitFile
type GstHLSMediaType (line 150) | typedef enum
type _GstHLSMedia (line 160) | struct _GstHLSMedia {
type _GstHLSVariantStream (line 182) | struct _GstHLSVariantStream {
type _GstHLSMasterPlaylist (line 212) | struct _GstHLSMasterPlaylist
FILE: ext/iqa/iqa.c
function GObject (line 102) | static GObject *
function guint (line 118) | static guint
function gst_iqa_child_proxy_init (line 132) | static void
type GstIqaMode (line 149) | typedef enum
function GType (line 155) | static GType
function to_byte (line 184) | inline static unsigned char
function gboolean (line 194) | static gboolean
function gboolean (line 321) | static gboolean
function GstFlowReturn (line 335) | static GstFlowReturn
function _set_property (line 401) | static void
function _get_property (line 429) | static void
function gst_iqa_class_init (line 458) | static void
function gst_iqa_init (line 508) | static void
function gboolean (line 513) | static gboolean
FILE: ext/iqa/iqa.h
type GstIqa (line 39) | typedef struct _GstIqa GstIqa;
type GstIqaClass (line 40) | typedef struct _GstIqaClass GstIqaClass;
type _GstIqa (line 47) | struct _GstIqa
type _GstIqaClass (line 57) | struct _GstIqaClass
FILE: ext/isac/gstisac.c
function gboolean (line 39) | static gboolean
FILE: ext/isac/gstisacdec.c
type _GstIsacDec (line 63) | struct _GstIsacDec
function gboolean (line 81) | static gboolean
function gboolean (line 94) | static gboolean
function gboolean (line 110) | static gboolean
function GstFlowReturn (line 158) | static GstFlowReturn
function GstFlowReturn (line 210) | static GstFlowReturn
function gst_isacdec_class_init (line 273) | static void
function gst_isacdec_init (line 293) | static void
FILE: ext/isac/gstisacenc.c
function GType (line 47) | static GType
type EncoderMode (line 94) | typedef enum
type _GstIsacEnc (line 100) | struct _GstIsacEnc
function gboolean (line 126) | static gboolean
function gboolean (line 141) | static gboolean
function gboolean (line 157) | static gboolean
function GstFlowReturn (line 245) | static GstFlowReturn
function gst_isacenc_set_property (line 321) | static void
function gst_isacenc_get_property (line 346) | static void
function gst_isacenc_class_init (line 371) | static void
function gst_isacenc_init (line 430) | static void
FILE: ext/isac/gstisacutils.c
function gchar (line 26) | const gchar *
FILE: ext/kate/gstkate.c
function gboolean (line 53) | static gboolean
FILE: ext/kate/gstkatedec.c
function gst_kate_dec_class_init (line 147) | static void
function gst_kate_dec_init (line 183) | static void
function gst_kate_dec_set_property (line 212) | static void
function gst_kate_dec_get_property (line 223) | static void
function GstFlowReturn (line 242) | static GstFlowReturn
function GstFlowReturn (line 356) | static GstFlowReturn
function GstStateChangeReturn (line 387) | static GstStateChangeReturn
function gboolean (line 403) | gboolean
function gboolean (line 413) | static gboolean
function gboolean (line 462) | static gboolean
function gboolean (line 493) | static gboolean
function gboolean (line 529) | static gboolean
FILE: ext/kate/gstkatedec.h
type GstKateDec (line 65) | typedef struct _GstKateDec GstKateDec;
type GstKateDecClass (line 66) | typedef struct _GstKateDecClass GstKateDecClass;
type _GstKateDec (line 68) | struct _GstKateDec
type _GstKateDecClass (line 82) | struct _GstKateDecClass
FILE: ext/kate/gstkateelement.c
function kate_element_init (line 63) | void
FILE: ext/kate/gstkateenc.c
function gst_kate_enc_class_init (line 159) | static void
function gst_kate_enc_init (line 236) | static void
function gst_kate_enc_dispose (line 275) | static void
function gst_kate_enc_set_property (line 294) | static void
function gst_kate_enc_get_property (line 347) | static void
function GstBuffer (line 389) | static GstBuffer *
function GstFlowReturn (line 420) | static GstFlowReturn
function GstFlowReturn (line 440) | static GstFlowReturn
function gst_kate_enc_metadata_set1 (line 462) | static void
function gst_kate_enc_set_metadata (line 487) | static void
function gboolean (line 509) | static gboolean
function gboolean (line 555) | static gboolean
function GstFlowReturn (line 575) | static GstFlowReturn
function GstFlowReturn (line 657) | static GstFlowReturn
function GstFlowReturn (line 675) | static GstFlowReturn
function gst_kate_enc_generate_keepalive (line 698) | static void
function GstFlowReturn (line 719) | static GstFlowReturn
function GstFlowReturn (line 782) | static GstFlowReturn
function GstFlowReturn (line 928) | static GstFlowReturn
function GstFlowReturn (line 984) | static GstFlowReturn
function GstStateChangeReturn (line 1016) | static GstStateChangeReturn
function GstClockTime (line 1122) | static GstClockTime
function gboolean (line 1144) | static gboolean
function gboolean (line 1195) | static gboolean
function gboolean (line 1224) | static gboolean
FILE: ext/kate/gstkateenc.h
type GstKateEnc (line 66) | typedef struct _GstKateEnc GstKateEnc;
type GstKateEncClass (line 67) | typedef struct _GstKateEncClass GstKateEncClass;
type _GstKateEnc (line 69) | struct _GstKateEnc
type _GstKateEncClass (line 121) | struct _GstKateEncClass
FILE: ext/kate/gstkateparse.c
function gst_kate_parse_class_init (line 107) | static void
function gst_kate_parse_init (line 127) | static void
function gst_kate_parse_drain_event_queue (line 145) | static void
function GstFlowReturn (line 156) | static GstFlowReturn
function gst_kate_parse_clear_queue (line 230) | static void
function GstFlowReturn (line 248) | static GstFlowReturn
function GstFlowReturn (line 271) | static GstFlowReturn
function GstFlowReturn (line 304) | static GstFlowReturn
function GstFlowReturn (line 323) | static GstFlowReturn
function GstFlowReturn (line 354) | static GstFlowReturn
function GstFlowReturn (line 390) | static GstFlowReturn
function gboolean (line 407) | static gboolean
function gboolean (line 417) | static gboolean
function gboolean (line 453) | static gboolean
function gboolean (line 502) | static gboolean
function gst_kate_parse_free_stream_headers (line 584) | static void
function GstStateChangeReturn (line 594) | static GstStateChangeReturn
FILE: ext/kate/gstkateparse.h
type GstKateParse (line 41) | typedef struct _GstKateParse GstKateParse;
type GstKateParseClass (line 42) | typedef struct _GstKateParseClass GstKateParseClass;
type _GstKateParse (line 49) | struct _GstKateParse
type _GstKateParseClass (line 67) | struct _GstKateParseClass
FILE: ext/kate/gstkatespu.c
function gst_kate_spu_decode_colormap (line 44) | static void
function gst_kate_spu_decode_alpha (line 53) | static void
function gst_kate_spu_decode_area (line 62) | static void
function gst_kate_spu_decode_pixaddr (line 73) | static void
function guint16 (line 81) | static guint16
function guint8 (line 139) | static inline guint8
function guint16 (line 157) | static guint16
function gst_kate_spu_crop_bitmap (line 175) | static void
function GstFlowReturn (line 278) | static GstFlowReturn
function gst_kate_spu_clamp (line 395) | static inline int
function gst_kate_spu_yuv2rgb (line 405) | static void
function GstFlowReturn (line 427) | static GstFlowReturn
function GstFlowReturn (line 472) | GstFlowReturn
function gst_kate_spu_add_nybble (line 642) | static void
function gst_kate_spu_rgb2yuv (line 654) | static void
function gst_kate_spu_make_palette (line 665) | static void
function GstBuffer (line 702) | GstBuffer *
FILE: ext/kate/gstkatetag.c
function gst_kate_tag_class_init (line 106) | static void
function gst_kate_tag_init (line 149) | static void
function gst_kate_tag_dispose (line 158) | static void
function gst_kate_tag_set_property (line 177) | static void
function gst_kate_tag_get_property (line 215) | static void
function guint16 (line 240) | static guint16
function GstFlowReturn (line 263) | static GstFlowReturn
FILE: ext/kate/gstkatetag.h
type GstKateTag (line 39) | typedef struct _GstKateTag GstKateTag;
type GstKateTagClass (line 40) | typedef struct _GstKateTagClass GstKateTagClass;
type _GstKateTag (line 47) | struct _GstKateTag
type _GstKateTagClass (line 57) | struct _GstKateTagClass
FILE: ext/kate/gstkatetiger.c
function GType (line 187) | static GType
function gst_kate_tiger_base_init (line 221) | static void
function gst_kate_tiger_class_init (line 238) | static void
function gst_kate_tiger_init (line 340) | static void
function gst_kate_tiger_dispose (line 400) | static void
function gst_kate_tiger_update_quality (line 431) | static void
function gst_kate_tiger_update_default_font_effect (line 439) | static void
function gst_kate_tiger_update_default_font_color (line 448) | static void
function gst_kate_tiger_update_default_background_color (line 459) | static void
function gst_kate_tiger_set_property (line 471) | static void
function gst_kate_tiger_get_property (line 549) | static void
function GstFlowReturn (line 615) | static GstFlowReturn
function gboolean (line 735) | static gboolean
function gdouble (line 764) | static gdouble
function gst_kate_tiger_set_composition (line 776) | static inline void
function GstFlowReturn (line 798) | static GstFlowReturn
function GstStateChangeReturn (line 906) | static GstStateChangeReturn
function gboolean (line 970) | static gboolean
function gboolean (line 1034) | static gboolean
function gboolean (line 1061) | static gboolean
function gboolean (line 1109) | static gboolean
function gboolean (line 1134) | static gboolean
function gboolean (line 1193) | static gboolean
function gboolean (line 1212) | gboolean
FILE: ext/kate/gstkatetiger.h
type GstKateTiger (line 68) | typedef struct _GstKateTiger GstKateTiger;
type GstKateTigerClass (line 69) | typedef struct _GstKateTigerClass GstKateTigerClass;
type _GstKateTiger (line 71) | struct _GstKateTiger
type _GstKateTigerClass (line 110) | struct _GstKateTigerClass
FILE: ext/kate/gstkateutil.c
function GstCaps (line 39) | GstCaps *
function gst_kate_util_install_decoder_base_properties (line 79) | void
function gst_kate_util_decode_base_init (line 104) | void
function gst_kate_util_decode_base_reset (line 122) | static void
function gboolean (line 142) | gboolean
function gst_kate_util_decoder_base_free_event_queue (line 186) | static void
function gst_kate_util_decoder_base_drain_event_queue (line 199) | static void
function gst_kate_util_decoder_base_add_tags (line 216) | void
function GstEvent (line 234) | GstEvent *
function gboolean (line 243) | gboolean
function gboolean (line 268) | static inline gboolean
function GstFlowReturn (line 280) | GstFlowReturn
function GstStateChangeReturn (line 457) | GstStateChangeReturn
function gst_kate_util_decoder_base_set_flushing (line 511) | void
function gst_kate_util_decoder_base_segment_event (line 519) | void
function gboolean (line 532) | gboolean
function GstClockTime (line 569) | static GstClockTime
function gboolean (line 588) | gboolean
function gboolean (line 634) | gboolean
FILE: ext/kate/gstkateutil.h
type GstKateDecoderBaseQueuedEvent (line 47) | typedef struct
type GstKateDecoderBase (line 55) | typedef struct
FILE: ext/ladspa/gstladspa.c
function ladspa_plugin_register_element (line 158) | static void
function ladspa_count_ports (line 175) | static void
function ladspa_describe_plugin (line 201) | static void
function gboolean (line 260) | static gboolean
function gboolean (line 289) | static gboolean
function gboolean (line 342) | static gboolean
function gboolean (line 450) | static gboolean
FILE: ext/ladspa/gstladspafilter.c
function gst_my_audio_filter_class_add_pad_templates (line 41) | void
function GstCaps (line 61) | static GstCaps *
function GstCaps (line 81) | static GstCaps *
function GstFlowReturn (line 129) | static GstFlowReturn
function gboolean (line 156) | static gboolean
function gboolean (line 164) | static gboolean
function GstFlowReturn (line 172) | static GstFlowReturn
function GstFlowReturn (line 188) | static GstFlowReturn
function gst_ladspa_filter_type_set_property (line 209) | static void
function gst_ladspa_filter_type_get_property (line 219) | static void
function gst_ladspa_filter_type_init (line 229) | static void
function gst_ladspa_filter_type_dispose (line 246) | static void
function gst_ladspa_filter_type_finalize (line 256) | static void
function gst_ladspa_filter_type_base_init (line 272) | static void
function gst_ladspa_filter_type_base_finalize (line 289) | static void
function gst_ladspa_filter_type_class_init (line 295) | static void
function gst_ladspa_filter_init (line 333) | static void
function gst_ladspa_filter_class_init (line 338) | static void
function ladspa_register_filter_element (line 346) | void
FILE: ext/ladspa/gstladspafilter.h
type GstLADSPAFilter (line 41) | typedef struct _GstLADSPAFilter GstLADSPAFilter;
type GstLADSPAFilterClass (line 43) | typedef struct _GstLADSPAFilterClass GstLADSPAFilterClass;
type _GstLADSPAFilter (line 45) | struct _GstLADSPAFilter
type _GstLADSPAFilterClass (line 52) | struct _GstLADSPAFilterClass
FILE: ext/ladspa/gstladspasink.c
function gst_my_base_sink_class_add_pad_template (line 58) | void
function gboolean (line 73) | static gboolean
function gboolean (line 91) | static gboolean
function GstFlowReturn (line 116) | static GstFlowReturn
function GstFlowReturn (line 129) | static GstFlowReturn
function GstStateChangeReturn (line 162) | static GstStateChangeReturn
function gst_ladspa_sink_type_set_property (line 185) | static void
function gst_ladspa_sink_type_get_property (line 208) | static void
function gst_ladspa_sink_type_init (line 231) | static void
function gst_ladspa_sink_type_dispose (line 244) | static void
function gst_ladspa_sink_type_finalize (line 254) | static void
function gst_ladspa_sink_type_base_init (line 270) | static void
function gst_ladspa_sink_type_base_finalize (line 287) | static void
function gst_ladspa_sink_type_class_init (line 293) | static void
function gst_ladspa_sink_init (line 345) | static void
function gst_ladspa_sink_class_init (line 350) | static void
function ladspa_register_sink_element (line 358) | void
FILE: ext/ladspa/gstladspasink.h
type GstLADSPASink (line 42) | typedef struct _GstLADSPASink GstLADSPASink;
type GstLADSPASinkClass (line 44) | typedef struct _GstLADSPASinkClass GstLADSPASinkClass;
type _GstLADSPASink (line 46) | struct _GstLADSPASink
type _GstLADSPASinkClass (line 58) | struct _GstLADSPASinkClass
FILE: ext/ladspa/gstladspasource.c
function gst_my_base_source_class_add_pad_template (line 59) | void
function GstCaps (line 74) | static GstCaps *
function gboolean (line 101) | static gboolean
function gboolean (line 122) | static gboolean
function gst_ladspa_source_type_get_times (line 167) | static void
function gboolean (line 192) | static gboolean
function gboolean (line 248) | static gboolean
function GstFlowReturn (line 255) | static GstFlowReturn
function gboolean (line 368) | static gboolean
function gboolean (line 383) | static gboolean
function gst_ladspa_source_type_set_property (line 390) | static void
function gst_ladspa_source_type_get_property (line 422) | static void
function gst_ladspa_source_type_init (line 451) | static void
function gst_ladspa_source_type_dispose (line 471) | static void
function gst_ladspa_source_type_finalize (line 481) | static void
function gst_ladspa_source_type_base_init (line 497) | static void
function gst_ladspa_source_type_base_finalize (line 515) | static void
function gst_ladspa_source_type_class_init (line 521) | static void
function gst_ladspa_source_init (line 587) | static void
function gst_ladspa_source_class_init (line 592) | static void
function ladspa_register_source_element (line 600) | void
FILE: ext/ladspa/gstladspasource.h
type GstLADSPASource (line 42) | typedef struct _GstLADSPASource GstLADSPASource;
type GstLADSPASourceClass (line 44) | typedef struct _GstLADSPASourceClass GstLADSPASourceClass;
type _GstLADSPASource (line 46) | struct _GstLADSPASource
type _GstLADSPASourceClass (line 70) | struct _GstLADSPASourceClass
FILE: ext/ladspa/gstladspautils.c
function gst_ladspa_ladspa_deinterleave_data (line 72) | static inline void
function gst_ladspa_interleave_ladspa_data (line 88) | static inline void
function gst_ladspa_connect_audio_in (line 103) | static inline void
function gst_ladspa_connect_audio_out (line 119) | static inline void
function gst_ladspa_run (line 135) | static inline void
function gboolean (line 144) | gboolean
function gboolean (line 168) | static gboolean
function gboolean (line 184) | static gboolean
function gboolean (line 200) | static gboolean
function gst_ladspa_close (line 227) | static void
function gboolean (line 245) | gboolean
function gboolean (line 271) | gboolean
function gchar (line 287) | static gchar *
function GParamSpec (line 341) | static GParamSpec *
function gst_ladspa_object_set_property (line 455) | void
function gst_ladspa_object_get_property (line 482) | void
function gst_ladspa_object_class_install_properties (line 519) | void
function gst_ladspa_element_class_set_metadata (line 541) | void
function gst_ladspa_filter_type_class_add_pad_templates (line 664) | void
function gst_ladspa_source_type_class_add_pad_template (line 688) | void
function gst_ladspa_sink_type_class_add_pad_template (line 705) | void
function gst_ladspa_init (line 722) | void
function gst_ladspa_finalize (line 743) | void
function gst_ladspa_class_init (line 759) | void
function gst_ladspa_class_finalize (line 823) | void
function ladspa_register_element (line 845) | void
FILE: ext/ladspa/gstladspautils.h
type _GstLADSPA (line 36) | struct _GstLADSPA
type GstLADSPAClass (line 38) | typedef struct _GstLADSPAClass GstLADSPAClass;
type _GstLADSPA (line 40) | struct _GstLADSPA
type _GstLADSPAClass (line 64) | struct _GstLADSPAClass
FILE: ext/ldac/gstldacenc.c
function GType (line 96) | static GType
function gst_ldac_enc_class_init (line 113) | static void
function gst_ldac_enc_init (line 149) | static void
function gst_ldac_enc_set_property (line 158) | static void
function gst_ldac_enc_get_property (line 174) | static void
function GstCaps (line 190) | static GstCaps *
function gboolean (line 251) | static gboolean
function gboolean (line 273) | static gboolean
function GstFlowReturn (line 347) | static GstFlowReturn
function gboolean (line 494) | static gboolean
function gboolean (line 510) | static gboolean
function guint (line 536) | static guint
function guint (line 568) | static guint
function guint (line 604) | static guint
FILE: ext/ldac/gstldacenc.h
type GstLdacEnc (line 37) | typedef struct _GstLdacEnc GstLdacEnc;
type GstLdacEncClass (line 38) | typedef struct _GstLdacEncClass GstLdacEncClass;
type GstLdacEqmid (line 40) | typedef enum
type _GstLdacEnc (line 47) | struct _GstLdacEnc {
type _GstLdacEncClass (line 60) | struct _GstLdacEncClass {
FILE: ext/ldac/ldac-plugin.c
function gboolean (line 27) | static gboolean
FILE: ext/libde265/gstlibde265.c
function gboolean (line 28) | static gboolean
FILE: ext/libde265/libde265-dec.c
type de265_image (line 91) | struct de265_image
function gst_libde265_dec_class_init (line 97) | static void
function _gst_libde265_dec_reset_decoder (line 132) | static inline void
function gst_libde265_dec_init (line 143) | static void
function _gst_libde265_dec_free_decoder (line 156) | static inline void
function gst_libde265_dec_finalize (line 172) | static void
function gst_libde265_dec_set_property (line 182) | static void
function gst_libde265_dec_get_property (line 202) | static void
type GstLibde265FrameRef (line 217) | struct GstLibde265FrameRef
function gst_libde265_dec_release_frame_ref (line 226) | static void
function gst_libde265_dec_get_buffer (line 237) | static int
function gst_libde265_dec_release_buffer (line 347) | static void
function gboolean (line 363) | static gboolean
function gboolean (line 402) | static gboolean
function gboolean (line 412) | static gboolean
function GstFlowReturn (line 458) | static GstFlowReturn
function GstFlowReturn (line 507) | static GstFlowReturn
function gboolean (line 537) | static gboolean
function GstFlowReturn (line 678) | static GstFlowReturn
function GstFlowReturn (line 759) | static GstFlowReturn
FILE: ext/libde265/libde265-dec.h
type GstLibde265DecFormat (line 38) | typedef enum
type GstLibde265Dec (line 44) | typedef struct _GstLibde265Dec
type GstLibde265DecClass (line 60) | typedef struct _GstLibde265DecClass
FILE: ext/libmms/gstmms.c
function gst_mms_class_init (line 79) | static void
function gst_mms_init (line 131) | static void
function gst_mms_finalize (line 140) | static void
function gboolean (line 167) | static gboolean
function gboolean (line 215) | static gboolean
function gboolean (line 258) | static gboolean
function GstFlowReturn (line 302) | static GstFlowReturn
function gboolean (line 357) | static gboolean
function gboolean (line 365) | static gboolean
function gboolean (line 379) | static gboolean
function gboolean (line 451) | static gboolean
function gst_mms_set_property (line 472) | static void
function gst_mms_get_property (line 494) | static void
function gboolean (line 521) | static gboolean
function GstURIType (line 527) | static GstURIType
function gchar (line 533) | static const gchar *const *
function gchar (line 541) | static gchar *
function gchar (line 550) | static gchar *
function gboolean (line 598) | static gboolean
function gst_mms_uri_handler_init (line 620) | static void
FILE: ext/libmms/gstmms.h
type GstMMS (line 26) | typedef struct _GstMMS GstMMS;
type GstMMSClass (line 27) | typedef struct _GstMMSClass GstMMSClass;
type _GstMMS (line 29) | struct _GstMMS
type _GstMMSClass (line 40) | struct _GstMMSClass
FILE: ext/lv2/gstlv2.c
function lv2_plugin_register_element (line 106) | static void
function lv2_count_ports (line 121) | static void
function gboolean (line 162) | static gboolean
function gboolean (line 253) | static gboolean
function plugin_cleanup (line 377) | __attribute__ ((destructor))
FILE: ext/lv2/gstlv2filter.c
type lv2_control_info (line 42) | typedef struct _lv2_control_info
type GstLV2Filter (line 53) | typedef struct _GstLV2Filter GstLV2Filter;
type GstLV2FilterClass (line 54) | typedef struct _GstLV2FilterClass GstLV2FilterClass;
type _GstLV2Filter (line 57) | struct _GstLV2Filter
type _GstLV2FilterClass (line 64) | struct _GstLV2FilterClass
function gchar (line 75) | static gchar **
function gboolean (line 83) | static gboolean
function gboolean (line 91) | static gboolean
function gboolean (line 99) | static gboolean
function gboolean (line 106) | static gboolean
function gboolean (line 114) | static gboolean
function gboolean (line 121) | static gboolean
function gst_lv2_filter_preset_interface_init (line 129) | static void
function gst_lv2_filter_set_property (line 145) | static void
function gst_lv2_filter_get_property (line 154) | static void
function gst_lv2_filter_finalize (line 163) | static void
function GstAudioChannelPosition (line 182) | static GstAudioChannelPosition
function GstAudioChannelPosition (line 223) | static GstAudioChannelPosition *
function gst_lv2_filter_type_class_add_pad_templates (line 241) | static void
function gboolean (line 281) | static gboolean
function gboolean (line 344) | static gboolean
function gst_lv2_filter_deinterleave_data (line 352) | static inline void
function gst_lv2_filter_interleave_data (line 363) | static inline void
function GstFlowReturn (line 375) | static GstFlowReturn
function GstFlowReturn (line 453) | static GstFlowReturn
function GstFlowReturn (line 468) | static GstFlowReturn
function gst_lv2_filter_base_init (line 487) | static void
function gst_lv2_filter_base_finalize (line 501) | static void
function gst_lv2_filter_class_init (line 507) | static void
function gst_lv2_filter_init (line 529) | static void
function gst_lv2_filter_register_element (line 539) | void
FILE: ext/lv2/gstlv2source.c
type GstLV2Source (line 43) | typedef struct _GstLV2Source GstLV2Source;
type GstLV2SourceClass (line 44) | typedef struct _GstLV2SourceClass GstLV2SourceClass;
type _GstLV2Source (line 46) | struct _GstLV2Source
type _GstLV2SourceClass (line 70) | struct _GstLV2SourceClass
function gchar (line 92) | static gchar **
function gboolean (line 100) | static gboolean
function gboolean (line 108) | static gboolean
function gboolean (line 116) | static gboolean
function gboolean (line 123) | static gboolean
function gboolean (line 131) | static gboolean
function gboolean (line 138) | static gboolean
function gst_lv2_source_preset_interface_init (line 146) | static void
function gboolean (line 163) | static gboolean
function GstCaps (line 193) | static GstCaps *
function gst_lv2_source_get_times (line 218) | static void
function gboolean (line 243) | static gboolean
function gboolean (line 299) | static gboolean
function gboolean (line 306) | static gboolean
function gst_lv2_source_interleave_data (line 349) | static inline void
function GstFlowReturn (line 361) | static GstFlowReturn
function gboolean (line 521) | static gboolean
function gboolean (line 538) | static gboolean
function gst_lv2_source_set_property (line 548) | static void
function gst_lv2_source_get_property (line 578) | static void
function gst_lv2_source_finalize (line 606) | static void
function gst_lv2_source_base_init (line 617) | static void
function gst_lv2_source_base_finalize (line 644) | static void
function gst_lv2_source_class_init (line 650) | static void
function gst_lv2_source_init (line 706) | static void
function gst_lv2_source_register_element (line 718) | void
FILE: ext/lv2/gstlv2utils.c
function lv2_log_printf (line 45) | static int
function lv2_log_vprintf (line 56) | static int
function LV2_URID (line 74) | static LV2_URID
function gboolean (line 108) | gboolean
function gst_lv2_host_init (line 145) | void
function gchar (line 173) | gchar **
function set_port_value (line 225) | static void
function gboolean (line 256) | gboolean
function gboolean (line 296) | gboolean
function gboolean (line 368) | gboolean
function gboolean (line 377) | gboolean
function gst_lv2_init (line 396) | void
function gst_lv2_finalize (line 408) | void
function gboolean (line 418) | gboolean
function gboolean (line 457) | gboolean
function gst_lv2_object_set_property (line 482) | void
function gst_lv2_object_get_property (line 518) | void
function gchar (line 565) | static gchar *
function gchar (line 598) | static gchar *
function enum_val_cmp (line 606) | static int
function GParamSpec (line 612) | static GParamSpec *
function gst_lv2_class_install_properties (line 755) | void
function gst_lv2_element_class_set_metadata (line 779) | void
function gst_lv2_class_init (line 823) | void
function gst_lv2_class_finalize (line 964) | void
FILE: ext/lv2/gstlv2utils.h
type _GstLV2Group (line 34) | struct _GstLV2Group
type GstLV2Port (line 35) | typedef struct _GstLV2Port GstLV2Port;
type GstLV2 (line 37) | typedef struct _GstLV2 GstLV2;
type GstLV2Class (line 38) | typedef struct _GstLV2Class GstLV2Class;
type _GstLV2Group (line 40) | struct _GstLV2Group
type GstLV2PortType (line 50) | typedef enum {
type _GstLV2Port (line 56) | struct _GstLV2Port
type _GstLV2 (line 67) | struct _GstLV2
type _GstLV2Class (line 87) | struct _GstLV2Class
FILE: ext/mdns/gstmicrodns.c
function gboolean (line 30) | static gboolean
FILE: ext/mdns/gstmicrodnsdevice.c
type ListenerContext (line 24) | typedef struct _ListenerContext ListenerContext;
type _GstMDNSDeviceProvider (line 26) | struct _GstMDNSDeviceProvider
type _ListenerContext (line 44) | struct _ListenerContext
type _GstMDNSDevice (line 58) | struct _GstMDNSDevice
function gint (line 70) | static gint
function gint (line 81) | static gint
function gst_mdns_device_finalize (line 88) | static void
function GstElement (line 98) | static GstElement *
function gst_mdns_device_init (line 116) | static void
function gst_mdns_device_class_init (line 121) | static void
function GstElementFactory (line 134) | static GstElementFactory *
function GstDevice (line 155) | static GstDevice *
function remove_old_devices (line 180) | static void
function stop (line 211) | static bool
function callback (line 229) | static void
function gpointer (line 342) | static gpointer
function gboolean (line 381) | static gboolean
function gst_mdns_device_provider_stop (line 399) | static void
function gst_mdns_device_provider_init (line 413) | static void
function gst_mdns_device_provider_class_init (line 418) | static void
FILE: ext/modplug/gstmodplug.cc
function gst_modplug_class_init (line 135) | static void
function gst_modplug_init (line 219) | static void
function gst_modplug_dispose (line 257) | static void
function gboolean (line 270) | static gboolean
function gboolean (line 324) | static gboolean
function gboolean (line 419) | static gboolean
function gboolean (line 438) | static gboolean
function gboolean (line 545) | static gboolean
function gboolean (line 575) | static gboolean
function gboolean (line 601) | static gboolean
function gst_modplug_loop (line 619) | static void
function GstStateChangeReturn (line 772) | static GstStateChangeReturn
function gst_modplug_set_property (line 814) | static void
function gst_modplug_get_property (line 859) | static void
function gboolean (line 904) | static gboolean
FILE: ext/modplug/gstmodplug.h
type _GstModPlug (line 40) | struct _GstModPlug {
type _GstModPlugClass (line 78) | struct _GstModPlugClass {
type GstModPlug (line 82) | typedef struct _GstModPlug GstModPlug;
type GstModPlugClass (line 83) | typedef struct _GstModPlugClass GstModPlugClass;
FILE: ext/mpeg2enc/gstmpeg2enc.cc
function gst_mpeg2enc_class_init (line 116) | static void
function gst_mpeg2enc_finalize (line 156) | static void
function gst_mpeg2enc_init (line 172) | static void
function gboolean (line 188) | static gboolean
function gst_mpeg2enc_reset (line 214) | static void
function gboolean (line 233) | static gboolean
function gboolean (line 255) | static gboolean
function gst_mpeg2enc_add_fps (line 289) | static void
function gint (line 307) | static inline gint *
function gboolean (line 325) | static gboolean
function GstStructure (line 377) | static GstStructure *
function GstCaps (line 418) | static GstCaps *
function GstFlowReturn (line 469) | static GstFlowReturn
function gboolean (line 487) | static gboolean
function gst_mpeg2enc_loop (line 544) | static void
function GstFlowReturn (line 664) | static GstFlowReturn
function gst_mpeg2enc_get_property (line 735) | static void
function gst_mpeg2enc_set_property (line 742) | static void
function gst_mpeg2enc_log_callback (line 754) | static void
function gboolean (line 794) | static gboolean
function gboolean (line 808) | static gboolean
FILE: ext/mpeg2enc/gstmpeg2enc.hh
type _GstMpeg2enc (line 69) | struct _GstMpeg2enc {
type _GstMpeg2encClass (line 95) | struct _GstMpeg2encClass {
FILE: ext/mpeg2enc/gstmpeg2encoder.cc
class GstOnTheFlyPass2 (line 43) | class GstOnTheFlyPass2 : public OnTheFlyPass2 {
method GstOnTheFlyPass2 (line 45) | GstOnTheFlyPass2 (EncoderParams &encoder, gboolean disable_encode_retr...
method ReencodeRequired (line 46) | bool ReencodeRequired() const { return disable_encode_retries ? false ...
function gboolean (line 72) | gboolean GstMpeg2Encoder::setup ()
function GstCaps (line 136) | GstCaps *
FILE: ext/mpeg2enc/gstmpeg2encoder.hh
class GstMpeg2Encoder (line 32) | class GstMpeg2Encoder : public MPEG2Encoder {
FILE: ext/mpeg2enc/gstmpeg2encoptions.cc
function GType (line 90) | static GType
function GType (line 126) | static GType
function GType (line 155) | static GType
function GType (line 180) | static GType
function GType (line 210) | static GType
function GType (line 239) | static GType
function GType (line 263) | static GType
FILE: ext/mpeg2enc/gstmpeg2encoptions.hh
class GstMpeg2EncOptions (line 29) | class GstMpeg2EncOptions : public MPEG2EncOptions {
FILE: ext/mpeg2enc/gstmpeg2encpicturereader.hh
class GstMpeg2EncPictureReader (line 31) | class GstMpeg2EncPictureReader : public PictureReader {
FILE: ext/mpeg2enc/gstmpeg2encstreamwriter.cc
function guint64 (line 72) | guint64
FILE: ext/mpeg2enc/gstmpeg2encstreamwriter.hh
class GstMpeg2EncStreamWriter (line 30) | class GstMpeg2EncStreamWriter : public ElemStrmWriter {
FILE: ext/mplex/gstmplex.cc
function gst_mplex_class_init (line 124) | static void
function gst_mplex_finalize (line 157) | static void
function gst_mplex_init (line 185) | static void
function gst_mplex_reset (line 205) | static void
function gboolean (line 265) | static gboolean
function gst_mplex_loop (line 379) | static void
function gboolean (line 451) | static gboolean
function gst_mplex_start_task (line 529) | static void
function GstFlowReturn (line 542) | static GstFlowReturn
function GstPad (line 609) | static GstPad *
function gst_mplex_release_pad (line 648) | static void
function gst_mplex_get_property (line 685) | static void
function gst_mplex_set_property (line 692) | static void
function gboolean (line 699) | static gboolean
function GstStateChangeReturn (line 728) | static GstStateChangeReturn
function gst_mplex_log_callback (line 766) | static void
function gboolean (line 806) | static gboolean
function gboolean (line 819) | static gboolean
FILE: ext/mplex/gstmplex.hh
type _GstMplexPad (line 77) | struct _GstMplexPad
type _GstMplex (line 94) | struct _GstMplex {
type _GstMplexClass (line 114) | struct _GstMplexClass {
FILE: ext/mplex/gstmplexibitstream.hh
type _GstMplex (line 33) | struct _GstMplex
type _GstMplexPad (line 34) | struct _GstMplexPad
class GstMplexIBitStream (line 36) | class GstMplexIBitStream : public IBitStream {
FILE: ext/mplex/gstmplexjob.cc
function GType (line 52) | static GType
FILE: ext/mplex/gstmplexjob.hh
class GstMplexJob (line 28) | class GstMplexJob : public MultiplexJob {
FILE: ext/mplex/gstmplexoutputstream.hh
class GstMplexOutputStream (line 32) | class GstMplexOutputStream : public OutputStream {
FILE: ext/musepack/gstmusepackdec.c
function gst_musepackdec_class_init (line 83) | static void
function gst_musepackdec_init (line 102) | static void
function gst_musepackdec_dispose (line 128) | static void
function gst_musepackdec_send_newsegment (line 144) | static void
function gboolean (line 162) | static gboolean
function gboolean (line 257) | static gboolean
function gboolean (line 279) | static gboolean
function gboolean (line 364) | static gboolean
function gboolean (line 446) | static gboolean
function gboolean (line 470) | static gboolean
function gst_musepackdec_loop (line 496) | static void
function GstStateChangeReturn (line 599) | static GstStateChangeReturn
function gboolean (line 632) | static gboolean
FILE: ext/musepack/gstmusepackdec.h
type GstMusepackDec (line 41) | typedef struct _GstMusepackDec {
type GstMusepackDecClass (line 58) | typedef struct _GstMusepackDecClass {
FILE: ext/musepack/gstmusepackreader.c
function mpc_int32_t (line 42) | static mpc_int32_t
function mpc_int32_t (line 76) | static mpc_int32_t
function mpc_bool_t (line 90) | static mpc_bool_t
function mpc_int32_t (line 107) | static mpc_int32_t
function mpc_int32_t (line 114) | static mpc_int32_t
function mpc_bool_t (line 131) | static mpc_bool_t
function gst_musepack_init_reader (line 137) | void
FILE: ext/neon/gstneonhttpsrc.c
function gst_neonhttp_src_class_init (line 119) | static void
function gst_neonhttp_src_init (line 221) | static void
function gst_neonhttp_src_dispose (line 252) | static void
function gst_neonhttp_src_set_property (line 288) | static void
function gst_neonhttp_src_get_property (line 364) | static void
function oom_callback (line 434) | static void
function GstFlowReturn (line 440) | static GstFlowReturn
function gboolean (line 478) | static gboolean
function gboolean (line 606) | static gboolean
function gboolean (line 629) | static gboolean
function gboolean (line 644) | static gboolean
function gboolean (line 650) | static gboolean
function gboolean (line 681) | static gboolean
function gboolean (line 717) | static gboolean
function gboolean (line 772) | static gboolean
function ssl_verify_callback (line 799) | static int
function gint (line 833) | static gint
function gint (line 947) | static gint
function gst_neonhttp_src_close_session (line 1005) | static void
function gchar (line 1024) | static gchar *
function gchar (line 1049) | static gchar *
function guint (line 1056) | static guint
function gchar (line 1062) | static const gchar *const *
function gchar (line 1070) | static gchar *
function gboolean (line 1079) | static gboolean
function gst_neonhttp_src_uri_handler_init (line 1088) | static void
function gboolean (line 1104) | static gboolean
FILE: ext/neon/gstneonhttpsrc.h
type GstNeonhttpSrc (line 41) | typedef struct _GstNeonhttpSrc GstNeonhttpSrc;
type GstNeonhttpSrcClass (line 42) | typedef struct _GstNeonhttpSrcClass GstNeonhttpSrcClass;
type _GstNeonhttpSrc (line 44) | struct _GstNeonhttpSrc {
type _GstNeonhttpSrcClass (line 81) | struct _GstNeonhttpSrcClass {
FILE: ext/ofa/gstofa.c
function gst_ofa_finalize (line 59) | static void
function gst_ofa_class_init (line 75) | static void
function create_fingerprint (line 108) | static void
function gboolean (line 165) | static gboolean
function gst_ofa_init (line 198) | static void
function GstFlowReturn (line 209) | static GstFlowReturn
function gst_ofa_get_property (line 238) | static void
function gboolean (line 255) | static gboolean
function gboolean (line 278) | static gboolean
FILE: ext/ofa/gstofa.h
type GstOFA (line 49) | typedef struct _GstOFA GstOFA;
type GstOFAClass (line 50) | typedef struct _GstOFAClass GstOFAClass;
type _GstOFA (line 59) | struct _GstOFA
type _GstOFAClass (line 70) | struct _GstOFAClass
FILE: ext/onnx/gstonnx.c
function gboolean (line 28) | static gboolean
FILE: ext/onnx/gstonnxclient.cpp
type GstOnnxNamespace (line 36) | namespace GstOnnxNamespace
function GstMlModelInputImageFormat (line 128) | GstMlModelInputImageFormat GstOnnxClient::getInputImageFormat (void)
function gint (line 147) | gint GstOnnxClient::getOutputNodeIndex (GstMlOutputNodeFunction node)
function ONNXTensorElementDataType (line 158) | ONNXTensorElementDataType
FILE: ext/onnx/gstonnxclient.h
function namespace (line 32) | namespace GstOnnxNamespace {
FILE: ext/onnx/gstonnxelement.c
function GType (line 28) | GType
function GType (line 57) | GType
function GType (line 81) | GType
FILE: ext/onnx/gstonnxelement.h
type GstOnnxOptimizationLevel (line 28) | typedef enum
type GstOnnxExecutionProvider (line 36) | typedef enum
type GstMlModelInputImageFormat (line 42) | typedef enum {
FILE: ext/onnx/gstonnxobjectdetector.cpp
function gst_onnx_object_detector_class_init (line 151) | static void
function gst_onnx_object_detector_init (line 336) | static void
function gst_onnx_object_detector_finalize (line 343) | static void
function gst_onnx_object_detector_set_property (line 353) | static void
function gst_onnx_object_detector_get_property (line 432) | static void
function gboolean (line 488) | static gboolean
function GstCaps (line 569) | static GstCaps *
function GstFlowReturn (line 612) | static GstFlowReturn
function gboolean (line 626) | static gboolean
FILE: ext/onnx/gstonnxobjectdetector.h
type _GstOnnxObjectDetector (line 60) | struct _GstOnnxObjectDetector
type _GstOnnxObjectDetectorClass (line 84) | struct _GstOnnxObjectDetectorClass
FILE: ext/openal/gstopenal.c
function gboolean (line 34) | static gboolean
FILE: ext/openal/gstopenalelement.c
function openal_element_init (line 37) | void
FILE: ext/openal/gstopenalsink.c
function ALCcontext (line 128) | static inline ALCcontext *
function popContext (line 141) | static inline void
function ALenum (line 151) | static inline ALenum
function gst_openal_sink_dispose (line 166) | static void
function gst_openal_sink_class_init (line 178) | static void
function gst_openal_sink_init (line 240) | static void
function gst_openal_sink_finalize (line 266) | static void
function gst_openal_sink_set_property (line 278) | static void
function gst_openal_sink_get_property (line 311) | static void
function GstCaps (line 352) | static GstCaps *
function GstCaps (line 573) | static GstCaps *
function gboolean (line 619) | static gboolean
function gboolean (line 645) | static gboolean
function gst_openal_sink_parse_spec (line 666) | static void
function gboolean (line 837) | static gboolean
function gboolean (line 932) | static gboolean
function gint (line 966) | static gint
function guint (line 1041) | static guint
function gst_openal_sink_reset (line 1082) | static void
FILE: ext/openal/gstopenalsink.h
type GstOpenALSink (line 62) | typedef struct _GstOpenALSink GstOpenALSink;
type GstOpenALSinkClass (line 63) | typedef struct _GstOpenALSinkClass GstOpenALSinkClass;
type _GstOpenALSink (line 69) | struct _GstOpenALSink
type _GstOpenALSinkClass (line 104) | struct _GstOpenALSinkClass
FILE: ext/openal/gstopenalsrc.c
function gst_openal_src_dispose (line 147) | static void
function gst_openal_src_class_init (line 159) | static void
function gst_openal_src_init (line 202) | static void
function gst_openal_src_finalize (line 216) | static void
function gst_openal_src_set_property (line 227) | static void
function gst_openal_src_get_property (line 246) | static void
function GstCaps (line 265) | static GstCaps *
function GstCaps (line 330) | static GstCaps *
function gboolean (line 383) | static gboolean
function gst_openal_src_parse_spec (line 389) | static void
function gboolean (line 489) | static gboolean
function gboolean (line 521) | static gboolean
function gboolean (line 539) | static gboolean
function guint (line 545) | static guint
function guint (line 567) | static guint
function gst_openal_src_reset (line 585) | static void
FILE: ext/openal/gstopenalsrc.h
type GstOpenalSrc (line 84) | typedef struct _GstOpenalSrc GstOpenalSrc;
type GstOpenalSrcClass (line 85) | typedef struct _GstOpenalSrcClass GstOpenalSrcClass;
type _GstOpenalSrc (line 87) | struct _GstOpenalSrc
type _GstOpenalSrcClass (line 109) | struct _GstOpenalSrcClass
FILE: ext/openaptx/gstopenaptxdec.c
function GstFlowReturn (line 70) | static GstFlowReturn
function gboolean (line 211) | static gboolean
function gst_openaptx_dec_set_property (line 241) | static void
function gst_openaptx_dec_get_property (line 256) | static void
function gboolean (line 274) | static gboolean
function gboolean (line 280) | static gboolean
function gst_openaptx_dec_class_init (line 295) | static void
function gst_openaptx_dec_init (line 333) | static void
FILE: ext/openaptx/gstopenaptxdec.h
function G_BEGIN_DECLS (line 29) | G_BEGIN_DECLS
FILE: ext/openaptx/gstopenaptxenc.c
function gint64 (line 73) | static gint64
function gboolean (line 82) | static gboolean
function GstFlowReturn (line 146) | static GstFlowReturn
function gboolean (line 265) | static gboolean
function gboolean (line 271) | static gboolean
function gst_openaptx_enc_class_init (line 286) | static void
function gst_openaptx_enc_init (line 313) | static void
FILE: ext/openaptx/gstopenaptxenc.h
function G_BEGIN_DECLS (line 29) | G_BEGIN_DECLS
FILE: ext/openaptx/openaptx-plugin.c
function gboolean (line 30) | static gboolean
FILE: ext/openaptx/openaptx-plugin.h
function gsize (line 56) | static inline gsize aptx_frame_size(gboolean hd)
FILE: ext/opencv/MotionCells.h
type MotionCellHeader (line 63) | struct MotionCellHeader{
type MotionCellData (line 74) | struct MotionCellData{
type motionmaskcoordrect (line 79) | typedef struct {
type cellscolor (line 86) | typedef struct {
type motioncellidx (line 92) | typedef struct {
type Cell (line 97) | struct Cell
type MotionCellsIdx (line 105) | struct MotionCellsIdx
type OverlayRegions (line 115) | struct OverlayRegions
function class (line 121) | class MotionCells
FILE: ext/opencv/cameraevent.cpp
function GstEvent (line 35) | GstEvent *
function gboolean (line 61) | gboolean
FILE: ext/opencv/camerautils.cpp
function gchar (line 24) | gchar *
function gboolean (line 36) | gboolean
FILE: ext/opencv/gstcameracalibrate.cpp
function GType (line 139) | static GType
function gst_camera_calibrate_finalize (line 179) | static void
function gst_camera_calibrate_class_init (line 186) | static void
function gst_camera_calibrate_init (line 305) | static void
function gst_camera_calibrate_dispose (line 351) | static void
function gst_camera_calibrate_set_property (line 362) | static void
function gst_camera_calibrate_get_property (line 411) | static void
function GstFlowReturn (line 468) | static GstFlowReturn
function camera_calibrate_run (line 483) | void
function camera_calibrate_calc_reprojection_errors (line 635) | static double
function camera_calibrate_calc_corners (line 667) | static void
function camera_calibrate_calibrate_full (line 691) | static bool
function camera_calibrate_calibrate (line 745) | bool
FILE: ext/opencv/gstcameracalibrate.h
type GstCameraCalibrate (line 65) | typedef struct _GstCameraCalibrate GstCameraCalibrate;
type GstCameraCalibrateClass (line 66) | typedef struct _GstCameraCalibrateClass GstCameraCalibrateClass;
type _GstCameraCalibrationPattern (line 68) | enum _GstCameraCalibrationPattern {
type _GstCameraCalibrate (line 74) | struct _GstCameraCalibrate
type _GstCameraCalibrateClass (line 103) | struct _GstCameraCalibrateClass
FILE: ext/opencv/gstcameraundistort.cpp
function gst_camera_undistort_class_init (line 132) | static void
function gst_camera_undistort_init (line 191) | static void
function gst_camera_undistort_dispose (line 209) | static void
function gst_camera_undistort_set_property (line 221) | static void
function gst_camera_undistort_get_property (line 256) | static void
function gboolean (line 281) | gboolean
function GstFlowReturn (line 297) | static GstFlowReturn
function camera_undistort_run (line 309) | static void
function gboolean (line 342) | static gboolean
function gboolean (line 359) | static gboolean
function gboolean (line 374) | static gboolean
function gboolean (line 393) | static gboolean
FILE: ext/opencv/gstcameraundistort.h
type GstCameraUndistort (line 65) | typedef struct _GstCameraUndistort GstCameraUndistort;
type GstCameraUndistortClass (line 66) | typedef struct _GstCameraUndistortClass GstCameraUndistortClass;
type _GstCameraUndistort (line 68) | struct _GstCameraUndistort
type _GstCameraUndistortClass (line 93) | struct _GstCameraUndistortClass
FILE: ext/opencv/gstcvdilate.cpp
function gst_cv_dilate_class_init (line 77) | static void
function gst_cv_dilate_init (line 98) | static void
function GstFlowReturn (line 103) | static GstFlowReturn
FILE: ext/opencv/gstcvdilate.h
type GstCvDilate (line 65) | typedef struct _GstCvDilate GstCvDilate;
type GstCvDilateClass (line 66) | typedef struct _GstCvDilateClass GstCvDilateClass;
type _GstCvDilate (line 68) | struct _GstCvDilate
type _GstCvDilateClass (line 73) | struct _GstCvDilateClass
FILE: ext/opencv/gstcvdilateerode.cpp
function GType (line 87) | GType
function gst_cv_dilate_erode_class_init (line 118) | static void
function gst_cv_dilate_erode_init (line 157) | static void
function gst_cv_dilate_erode_set_property (line 166) | static void
function gst_cv_dilate_erode_get_property (line 182) | static void
FILE: ext/opencv/gstcvdilateerode.h
type GstCvDilateErode (line 63) | typedef struct _GstCvDilateErode GstCvDilateErode;
type GstCvDilateErodeClass (line 64) | typedef struct _GstCvDilateErodeClass GstCvDilateErodeClass;
type _GstCvDilateErode (line 66) | struct _GstCvDilateErode
type _GstCvDilateErodeClass (line 73) | struct _GstCvDilateErodeClass
FILE: ext/opencv/gstcvequalizehist.cpp
function gst_cv_equalize_hist_class_init (line 90) | static void
function gst_cv_equalize_hist_init (line 109) | static void
function GstFlowReturn (line 116) | static GstFlowReturn
FILE: ext/opencv/gstcvequalizehist.h
type GstCvEqualizeHist (line 63) | typedef struct _GstCvEqualizeHist GstCvEqualizeHist;
type GstCvEqualizeHistClass (line 64) | typedef struct _GstCvEqualizeHistClass GstCvEqualizeHistClass;
type _GstCvEqualizeHist (line 66) | struct _GstCvEqualizeHist
type _GstCvEqualizeHistClass (line 71) | struct _GstCvEqualizeHistClass
FILE: ext/opencv/gstcverode.cpp
function gst_cv_erode_class_init (line 77) | static void
function gst_cv_erode_init (line 98) | static void
function GstFlowReturn (line 103) | static GstFlowReturn
FILE: ext/opencv/gstcverode.h
type GstCvErode (line 65) | typedef struct _GstCvErode GstCvErode;
type GstCvErodeClass (line 66) | typedef struct _GstCvErodeClass GstCvErodeClass;
type _GstCvErode (line 68) | struct _GstCvErode
type _GstCvErodeClass (line 73) | struct _GstCvErodeClass
FILE: ext/opencv/gstcvlaplace.cpp
function gst_cv_laplace_finalize (line 118) | static void
function gst_cv_laplace_class_init (line 131) | static void
function gst_cv_laplace_init (line 178) | static void
function gboolean (line 190) | static gboolean
function gst_cv_laplace_set_property (line 204) | static void
function gst_cv_laplace_get_property (line 235) | static void
function GstFlowReturn (line 260) | static GstFlowReturn
FILE: ext/opencv/gstcvlaplace.h
type GstCvLaplace (line 63) | typedef struct _GstCvLaplace GstCvLaplace;
type GstCvLaplaceClass (line 64) | typedef struct _GstCvLaplaceClass GstCvLaplaceClass;
type _GstCvLaplace (line 66) | struct _GstCvLaplace
type _GstCvLaplaceClass (line 80) | struct _GstCvLaplaceClass
FILE: ext/opencv/gstcvsmooth.cpp
type GstCvSmoothMethod (line 98) | enum GstCvSmoothMethod
function GType (line 108) | static GType
function gst_cv_smooth_class_init (line 154) | static void
function gst_cv_smooth_init (line 250) | static void
function gst_cv_smooth_change_type (line 267) | static void
function gst_cv_smooth_set_property (line 288) | static void
function gst_cv_smooth_get_property (line 344) | static void
function GstFlowReturn (line 384) | static GstFlowReturn
FILE: ext/opencv/gstcvsmooth.h
type GstCvSmooth (line 63) | typedef struct _GstCvSmooth GstCvSmooth;
type GstCvSmoothClass (line 64) | typedef struct _GstCvSmoothClass GstCvSmoothClass;
type _GstCvSmooth (line 66) | struct _GstCvSmooth
type _GstCvSmoothClass (line 84) | struct _GstCvSmoothClass
FILE: ext/opencv/gstcvsobel.cpp
function gst_cv_sobel_finalize (line 116) | static void
function gst_cv_sobel_class_init (line 128) | static void
function gst_cv_sobel_init (line 175) | static void
function gboolean (line 188) | static gboolean
function gst_cv_sobel_set_property (line 201) | static void
function gst_cv_sobel_get_property (line 232) | static void
function GstFlowReturn (line 257) | static GstFlowReturn
FILE: ext/opencv/gstcvsobel.h
type GstCvSobel (line 63) | typedef struct _GstCvSobel GstCvSobel;
type GstCvSobelClass (line 64) | typedef struct _GstCvSobelClass GstCvSobelClass;
type _GstCvSobel (line 66) | struct _GstCvSobel
type _GstCvSobelClass (line 79) | struct _GstCvSobelClass
FILE: ext/opencv/gstcvtracker.cpp
function GType (line 91) | static GType
function gst_cvtracker_finalize (line 147) | static void
function gst_cvtracker_class_init (line 158) | static void
function gst_cvtracker_init (line 229) | static void
function gst_cvtracker_set_property (line 250) | static void
function create_cvtracker (line 281) | static void
function gst_cvtracker_get_property (line 329) | static void
function GstFlowReturn (line 360) | static GstFlowReturn
FILE: ext/opencv/gstcvtracker.h
type GstCVTracker (line 71) | typedef struct _GstCVTracker GstCVTracker;
type GstCVTrackerClass (line 72) | typedef struct _GstCVTrackerClass GstCVTrackerClass;
type _GstCVTracker (line 74) | struct _GstCVTracker
type GstOpenCVTrackerAlgorithm (line 94) | typedef enum {
type _GstCVTrackerClass (line 104) | struct _GstCVTrackerClass
FILE: ext/opencv/gstdewarp.cpp
function GType (line 87) | static GType
function GType (line 110) | static GType
function gst_dewarp_finalize (line 163) | static void
function gst_dewarp_class_init (line 174) | static void
function gst_dewarp_init (line 267) | static void
function gst_dewarp_set_property (line 290) | static void
function gst_dewarp_get_property (line 395) | static void
function gst_dewarp_update_map (line 437) | static void
function gst_dewarp_calculate_dimensions (line 480) | static void
function GstCaps (line 550) | static GstCaps *
function gboolean (line 596) | static gboolean
function GstFlowReturn (line 621) | static GstFlowReturn
FILE: ext/opencv/gstdewarp.h
type GstDewarp (line 64) | typedef struct _GstDewarp GstDewarp;
type GstDewarpClass (line 65) | typedef struct _GstDewarpClass GstDewarpClass;
type _GstDewarpDisplayMode (line 67) | enum _GstDewarpDisplayMode {
type _GstDewarpInterpolationMode (line 73) | enum _GstDewarpInterpolationMode {
type _GstDewarp (line 80) | struct _GstDewarp
type _GstDewarpClass (line 102) | struct _GstDewarpClass
FILE: ext/opencv/gstdisparity.cpp
function GType (line 150) | static GType
function gst_disparity_class_init (line 210) | static void
function gst_disparity_init (line 249) | static void
function gst_disparity_set_property (line 284) | static void
function gst_disparity_get_property (line 299) | static void
function GstStateChangeReturn (line 316) | static GstStateChangeReturn
function gboolean (line 359) | static gboolean
function gboolean (line 405) | static gboolean
function gst_disparity_finalize (line 441) | static void
function GstFlowReturn (line 470) | static GstFlowReturn
function GstFlowReturn (line 507) | static GstFlowReturn
function initialise_disparity (line 593) | static void
function initialise_sbm (line 621) | int
function run_sbm_iteration (line 657) | int
function run_sgbm_iteration (line 666) | int
FILE: ext/opencv/gstdisparity.h
type GstDisparity (line 65) | typedef struct _GstDisparity GstDisparity;
type GstDisparityClass (line 66) | typedef struct _GstDisparityClass GstDisparityClass;
type _GstDisparity (line 68) | struct _GstDisparity
type _GstDisparityClass (line 104) | struct _GstDisparityClass
FILE: ext/opencv/gstedgedetect.cpp
function gst_edge_detect_finalize (line 119) | static void
function gst_edge_detect_class_init (line 131) | static void
function gst_edge_detect_init (line 180) | static void
function gst_edge_detect_set_property (line 192) | static void
function gst_edge_detect_get_property (line 217) | static void
function gboolean (line 245) | static gboolean
function GstFlowReturn (line 258) | static GstFlowReturn
FILE: ext/opencv/gstedgedetect.h
type GstEdgeDetect (line 65) | typedef struct _GstEdgeDetect GstEdgeDetect;
type GstEdgeDetectClass (line 66) | typedef struct _GstEdgeDetectClass GstEdgeDetectClass;
type _GstEdgeDetect (line 68) | struct _GstEdgeDetect
type _GstEdgeDetectClass (line 82) | struct _GstEdgeDetectClass
FILE: ext/opencv/gstfaceblur.cpp
function register_gst_opencv_face_blur_flags (line 111) | static void
function GType (line 122) | static GType
function gst_face_blur_finalize (line 168) | static void
function gst_face_blur_class_init (line 185) | static void
function gst_face_blur_init (line 247) | static void
function gst_face_blur_set_property (line 263) | static void
function gst_face_blur_get_property (line 299) | static void
function gboolean (line 330) | static gboolean
function GstFlowReturn (line 342) | static GstFlowReturn
function CascadeClassifier (line 380) | static CascadeClassifier *
FILE: ext/opencv/gstfaceblur.h
type GstFaceBlur (line 68) | typedef struct _GstFaceBlur GstFaceBlur;
type GstFaceBlurClass (line 69) | typedef struct _GstFaceBlurClass GstFaceBlurClass;
type _GstFaceBlur (line 71) | struct _GstFaceBlur
type _GstFaceBlurClass (line 89) | struct _GstFaceBlurClass
FILE: ext/opencv/gstfacedetect.cpp
function structure_and_message (line 145) | inline void
function register_gst_opencv_face_detect_flags (line 167) | static void
function GType (line 178) | static GType
function GType (line 190) | static GType
function gst_face_detect_finalize (line 250) | static void
function gst_face_detect_class_init (line 275) | static void
function gst_face_detect_init (line 372) | static void
function gst_face_detect_set_property (line 401) | static void
function gst_face_detect_get_property (line 470) | static void
function gboolean (line 522) | static gboolean
function GstMessage (line 536) | static GstMessage *
function gst_face_detect_run_detector (line 557) | static void
function GstFlowReturn (line 583) | static GstFlowReturn
function CascadeClassifier (line 783) | static CascadeClassifier *
FILE: ext/opencv/gstfacedetect.h
type GstFaceDetect (line 68) | typedef struct _GstFaceDetect GstFaceDetect;
type GstFaceDetectClass (line 69) | typedef struct _GstFaceDetectClass GstFaceDetectClass;
type _GstFaceDetectUpdates (line 80) | enum _GstFaceDetectUpdates {
type _GstFaceDetect (line 87) | struct _GstFaceDetect
type _GstFaceDetectClass (line 113) | struct _GstFaceDetectClass
FILE: ext/opencv/gstgrabcut.cpp
function gst_grabcut_finalize (line 148) | static void
function gst_grabcut_class_init (line 166) | static void
function gst_grabcut_init (line 214) | static void
function gst_grabcut_set_property (line 223) | static void
function gst_grabcut_get_property (line 242) | static void
function gboolean (line 263) | static gboolean
function GstFlowReturn (line 289) | static GstFlowReturn
function compose_matrix_from_image (line 362) | void
function run_grabcut_iteration (line 376) | int
function run_grabcut_iteration2 (line 386) | int
FILE: ext/opencv/gstgrabcut.h
type GstGrabcut (line 66) | typedef struct _GstGrabcut GstGrabcut;
type GstGrabcutClass (line 67) | typedef struct _GstGrabcutClass GstGrabcutClass;
type _GstGrabcut (line 69) | struct _GstGrabcut
type _GstGrabcutClass (line 89) | struct _GstGrabcutClass
FILE: ext/opencv/gsthanddetect.cpp
function gst_handdetect_navigation_interface_init (line 136) | static void
function gst_handdetect_navigation_send_event (line 147) | static void
function gst_handdetect_finalize (line 163) | static void
function gst_handdetect_class_init (line 181) | static void
function gst_handdetect_init (line 268) | static void
function gst_handdetect_set_property (line 297) | static void
function gst_handdetect_get_property (line 341) | static void
function gboolean (line 377) | static gboolean
function GstFlowReturn (line 398) | static GstFlowReturn
function CascadeClassifier (line 617) | static CascadeClassifier *
FILE: ext/opencv/gsthanddetect.h
type GstHanddetect (line 65) | typedef struct _GstHanddetect GstHanddetect;
type GstHanddetectClass (line 66) | typedef struct _GstHanddetectClass GstHanddetectClass;
type _GstHanddetect (line 68) | struct _GstHanddetect
type _GstHanddetectClass (line 91) | struct _GstHanddetectClass
FILE: ext/opencv/gstmotioncells.cpp
function gst_motion_cells_finalize (line 164) | static void
function gst_motion_cells_class_init (line 193) | static void
function gst_motion_cells_init (line 324) | static void
function fix_coords (line 390) | static void
function gst_motion_cells_set_property (line 407) | static void
function gst_motion_cells_get_property (line 627) | static void
function gst_motioncells_update_motion_cells (line 750) | static void
function gst_motioncells_update_motion_masks (line 786) | static void
function gboolean (line 826) | static gboolean
function GstFlowReturn (line 873) | static GstFlowReturn
FILE: ext/opencv/gstmotioncells.h
type GstMotioncells (line 63) | typedef struct _GstMotioncells GstMotioncells;
type GstMotioncellsClass (line 64) | typedef struct _GstMotioncellsClass GstMotioncellsClass;
type _GstMotioncells (line 66) | struct _GstMotioncells
type _GstMotioncellsClass (line 95) | struct _GstMotioncellsClass
FILE: ext/opencv/gstopencv.cpp
function gboolean (line 50) | static gboolean
FILE: ext/opencv/gstretinex.cpp
function GType (line 100) | static GType
function gst_retinex_class_init (line 147) | static void
function gst_retinex_init (line 227) | static void
function gst_retinex_finalize (line 240) | static void
function gst_retinex_set_property (line 258) | static void
function gst_retinex_get_property (line 286) | static void
function gboolean (line 314) | static gboolean
function GstFlowReturn (line 332) | static GstFlowReturn
FILE: ext/opencv/gstretinex.h
type GstRetinex (line 63) | typedef struct _GstRetinex GstRetinex;
type GstRetinexClass (line 64) | typedef struct _GstRetinexClass GstRetinexClass;
type _GstRetinex (line 66) | struct _GstRetinex
type _GstRetinexClass (line 84) | struct _GstRetinexClass
FILE: ext/opencv/gstsegmentation.cpp
function GType (line 126) | static GType
function gst_segmentation_class_init (line 190) | static void
function gst_segmentation_init (line 243) | static void
function gst_segmentation_set_property (line 253) | static void
function gst_segmentation_get_property (line 275) | static void
function gboolean (line 297) | static gboolean
function gst_segmentation_finalize (line 336) | static void
function GstFlowReturn (line 354) | static GstFlowReturn
function update_codebook (line 476) | int
function clear_stale_entries (line 572) | int
function background_diff (line 636) | unsigned char
function find_connected_components (line 693) | static void
function run_mog_iteration (line 738) | int
function run_mog2_iteration (line 756) | int
FILE: ext/opencv/gstsegmentation.h
type GstSegmentation (line 66) | typedef struct _GstSegmentation GstSegmentation;
type GstSegmentationClass (line 67) | typedef struct _GstSegmentationClass GstSegmentationClass;
type code_element (line 70) | typedef struct ce
type codeBook (line 81) | typedef struct code_book
type _GstSegmentation (line 88) | struct _GstSegmentation
type _GstSegmentationClass (line 114) | struct _GstSegmentationClass
FILE: ext/opencv/gstskindetect.cpp
function GType (line 87) | static GType
function gst_skin_detect_class_init (line 136) | static void
function gst_skin_detect_init (line 183) | static void
function gst_skin_detect_set_property (line 194) | static void
function gst_skin_detect_get_property (line 213) | static void
function gboolean (line 234) | static gboolean
function gst_skin_detect_finalize (line 270) | static void
function GstFlowReturn (line 298) | static GstFlowReturn
FILE: ext/opencv/gstskindetect.h
type GstSkinDetect (line 63) | typedef struct _GstSkinDetect GstSkinDetect;
type GstSkinDetectClass (line 64) | typedef struct _GstSkinDetectClass GstSkinDetectClass;
type _GstSkinDetect (line 66) | struct _GstSkinDetect
type _GstSkinDetectClass (line 80) | struct _GstSkinDetectClass
FILE: ext/opencv/gsttemplatematch.cpp
function gst_template_match_class_init (line 120) | static void
function gst_template_match_init (line 164) | static void
function gst_template_match_load_template (line 177) | static void
function gst_template_match_set_property (line 205) | static void
function gst_template
Copy disabled (too large)
Download .json
Condensed preview — 2775 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (54,703K chars).
[
{
"path": ".gitignore",
"chars": 135,
"preview": "*~\n\nBuild\n*.user\n*.suo\n*.ipch\n*.sdf\n*.opensdf\n*.DS_Store\n\n# Meson\n/build\n/subprojects\n\n# hotdoc\ndocs/hotdoc/libs/generat"
},
{
"path": ".gitlab-ci.yml",
"chars": 93,
"preview": "include: \"https://gitlab.freedesktop.org/gstreamer/gst-ci/raw/master/gitlab/ci_template.yml\"\n"
},
{
"path": ".indentignore",
"chars": 29,
"preview": "ext/sctp/usrsctp/usrsctplib/\n"
},
{
"path": "AUTHORS",
"chars": 854,
"preview": "Erik Walthinsen <omega@temple-baptist.com>\nMatt Howell <mhowell@users.sourceforge.net>\nBrent Bradburn <bbradburn@users.s"
},
{
"path": "COPYING",
"chars": 26530,
"preview": " GNU LESSER GENERAL PUBLIC LICENSE\n Version 2.1, February 1999\n\n Copyright (C) 19"
},
{
"path": "ChangeLog",
"chars": 8878497,
"preview": "=== release 1.19.2 ===\n\n2021-09-23 01:34:47 +0100 Tim-Philipp Müller <tim@centricular.com>\n\n\t* ChangeLog:\n\t* NEWS:\n\t* R"
},
{
"path": "MAINTAINERS",
"chars": 382,
"preview": "GStreamer is currently maintained by the consensus of a number\nof people, including, but not limited to:\n\n Jan Schmidt <"
},
{
"path": "NEWS",
"chars": 8811,
"preview": "GStreamer 1.20 Release Notes\n\nGStreamer 1.20 has not been released yet. It is scheduled for release\naround October/Novem"
},
{
"path": "README",
"chars": 9133,
"preview": "GStreamer 1.19.x development series\n\nWHAT IT IS\n----------\n\nThis is GStreamer, a framework for streaming media.\n\nWHERE T"
},
{
"path": "README.static-linking",
"chars": 7794,
"preview": "=================================\n GStreamer Static Linking README\n=================================\n\nDRAFT, April 2013\n"
},
{
"path": "RELEASE",
"chars": 3645,
"preview": "This is GStreamer gst-plugins-bad 1.19.2.\n\nGStreamer 1.19 is the development branch leading up to the next major\nstable "
},
{
"path": "REQUIREMENTS",
"chars": 2049,
"preview": "GStreamer uses a *large* array of tools and libraries, most of which are\noptional. We have attempted to make sure that "
},
{
"path": "data/meson.build",
"chars": 949,
"preview": "encoding_targetsdir = join_paths(get_option('datadir'),\n 'gstreamer-' + api_version, 'encoding-profiles')\n\nencoding_t"
},
{
"path": "data/targets/device/dvd.gep",
"chars": 525,
"preview": "[GStreamer Encoding Target]\nname=dvd\ncategory=device\ndescription=Encoding target suitable for DVDs\n\n[profile-dvd]\nname=d"
},
{
"path": "data/targets/file-extension/avi.gep",
"chars": 473,
"preview": "[GStreamer Encoding Target]\nname=avi\ncategory=file-extension\ndescription=Default target for files with a .avi extension\n"
},
{
"path": "data/targets/file-extension/flv.gep",
"chars": 638,
"preview": "[GStreamer Encoding Target]\nname=flv\ncategory=file-extension\ndescription=Default target for files with a .flv extension\n"
},
{
"path": "data/targets/file-extension/mkv.gep",
"chars": 683,
"preview": "[GStreamer Encoding Target]\nname=mkv;matroska;\ncategory=file-extension\ndescription=Default target for files with a .mkv "
},
{
"path": "data/targets/file-extension/mp3.gep",
"chars": 383,
"preview": "[GStreamer Encoding Target]\nname=mp3\ncategory=file-extension\ndescription=Default target for files with a .mp3 extension\n"
},
{
"path": "data/targets/file-extension/mp4.gep",
"chars": 850,
"preview": "[GStreamer Encoding Target]\nname=mp4;mov\ncategory=file-extension\ndescription=Default target for files with a .mp4 and .m"
},
{
"path": "data/targets/file-extension/oga.gep",
"chars": 355,
"preview": "[GStreamer Encoding Target]\nname=oga\ncategory=file-extension\ndescription=Default target for files with a .ogg and friend"
},
{
"path": "data/targets/file-extension/ogv.gep",
"chars": 512,
"preview": "[GStreamer Encoding Target]\nname=ogv;ogg\ncategory=file-extension\ndescription=Default target for files with a .ogg and fr"
},
{
"path": "data/targets/file-extension/ts.gep",
"chars": 831,
"preview": "[GStreamer Encoding Target]\nname=ts\ncategory=file-extension\ndescription=Default target for files with a .ts extension\n\n["
},
{
"path": "data/targets/file-extension/webm.gep",
"chars": 579,
"preview": "[GStreamer Encoding Target]\nname=webm\ncategory=file-extension\ndescription=Default target for files with a .webm extensio"
},
{
"path": "data/targets/online-service/youtube.gep",
"chars": 597,
"preview": "[GStreamer Encoding Target]\nname=youtube;yt\ncategory=online-service\ndescription=Recommended encoding settings for YouTub"
},
{
"path": "docs/gst_api_version.in",
"chars": 18,
"preview": "@GST_API_VERSION@\n"
},
{
"path": "docs/index.md",
"chars": 90,
"preview": "---\nshort-description: GStreamer Bad Plugins API reference.\n...\n\n# GStreamer Bad Plugins\n"
},
{
"path": "docs/libs/adaptivedemux/index.md",
"chars": 24,
"preview": "# Adaptive Demux library"
},
{
"path": "docs/libs/adaptivedemux/sitemap.txt",
"chars": 8,
"preview": "c-index\n"
},
{
"path": "docs/libs/audio/index.md",
"chars": 184,
"preview": "# Bad Audio library\n\nThis library should be linked to by getting cflags and libs from\ngstreamer-bad-audio{{ gst_api_vers"
},
{
"path": "docs/libs/audio/sitemap.txt",
"chars": 9,
"preview": "gi-index\n"
},
{
"path": "docs/libs/base/index.md",
"chars": 76,
"preview": "# Base classes from -bad\n\n> NOTE: This library API is considered *unstable*\n"
},
{
"path": "docs/libs/base/sitemap.txt",
"chars": 9,
"preview": "gi-index\n"
},
{
"path": "docs/libs/basecamerabinsrc/index.md",
"chars": 274,
"preview": "# BaseCamerabinSrc Library\n\nThis library should be linked to by getting cflags and libs from\ngstreamer-plugins-bad-{{ gs"
},
{
"path": "docs/libs/basecamerabinsrc/sitemap.txt",
"chars": 9,
"preview": "gi-index\n"
},
{
"path": "docs/libs/codecparsers/index.md",
"chars": 270,
"preview": "# Bitstream parsing Library\n\nThis library should be linked to by getting cflags and libs from\ngstreamer-plugins-bad-{{ g"
},
{
"path": "docs/libs/codecparsers/sitemap.txt",
"chars": 8,
"preview": "c-index\n"
},
{
"path": "docs/libs/codecs/index.md",
"chars": 63,
"preview": "# GstCodecs\n\n> NOTE: This library API is considered *unstable*\n"
},
{
"path": "docs/libs/codecs/sitemap.txt",
"chars": 9,
"preview": "gi-index\n"
},
{
"path": "docs/libs/insertbin/index.md",
"chars": 165,
"preview": "---\nshort-description: A library that contains a bin to insertally link filter-like elements.\n...\n\n# GstInsertBin\n\n> NOT"
},
{
"path": "docs/libs/insertbin/sitemap.txt",
"chars": 9,
"preview": "gi-index\n"
},
{
"path": "docs/libs/mpegts/index.md",
"chars": 4349,
"preview": "# MPEG-TS helper library\n\nThis library should be linked to by getting cflags and libs from\ngstreamer-plugins-bad-{{ gst_"
},
{
"path": "docs/libs/mpegts/sitemap.txt",
"chars": 9,
"preview": "gi-index\n"
},
{
"path": "docs/libs/opencv/index.md",
"chars": 254,
"preview": "# Opencv Library\n\nThis library should be linked to by getting cflags and libs from\ngstreamer-plugins-bad-{{ gst_api_vers"
},
{
"path": "docs/libs/opencv/sitemap.txt",
"chars": 8,
"preview": "c-index\n"
},
{
"path": "docs/libs/play/index.md",
"chars": 66,
"preview": "# Play Library\n\n> NOTE: This library API is considered *unstable*\n"
},
{
"path": "docs/libs/play/sitemap.txt",
"chars": 9,
"preview": "gi-index\n"
},
{
"path": "docs/libs/player/index.md",
"chars": 68,
"preview": "# Player Library\n\n> NOTE: This library API is considered *unstable*\n"
},
{
"path": "docs/libs/player/sitemap.txt",
"chars": 9,
"preview": "gi-index\n"
},
{
"path": "docs/libs/tools/index.md",
"chars": 69,
"preview": "# Useful elements\n\n> NOTE: This library API is considered *unstable*\n"
},
{
"path": "docs/libs/tools/sitemap.txt",
"chars": 9,
"preview": "gi-index\n"
},
{
"path": "docs/libs/transcoder/index.md",
"chars": 216,
"preview": "# GstTranscoder\n\nHigh level API to transcode streams\n\nThis library should be linked to by getting cflags and libs from\ng"
},
{
"path": "docs/libs/transcoder/sitemap.txt",
"chars": 9,
"preview": "gi-index\n"
},
{
"path": "docs/libs/video/index.md",
"chars": 83,
"preview": "# Video helpers and baseclasses\n\n> NOTE: This library API is considered *unstable*\n"
},
{
"path": "docs/libs/video/sitemap.txt",
"chars": 9,
"preview": "gi-index\n"
},
{
"path": "docs/libs/vulkan/index.md",
"chars": 176,
"preview": "# Vulkan Library\n\nThis library should be linked to by getting cflags and libs from\ngstreamer-vulkan-{{ gst_api_version.m"
},
{
"path": "docs/libs/vulkan/sitemap.txt",
"chars": 9,
"preview": "gi-index\n"
},
{
"path": "docs/libs/vulkan-wayland/index.md",
"chars": 192,
"preview": "# Vulkan Wayland Library\n\nThis library should be linked to by getting cflags and libs from\ngstreamer-vulkan-wayland-{{ g"
},
{
"path": "docs/libs/vulkan-wayland/sitemap.txt",
"chars": 9,
"preview": "gi-index\n"
},
{
"path": "docs/libs/vulkan-xcb/index.md",
"chars": 180,
"preview": "# Vulkan XCB Library\n\nThis library should be linked to by getting cflags and libs from\ngstreamer-vulkan-{{ gst_api_versi"
},
{
"path": "docs/libs/vulkan-xcb/sitemap.txt",
"chars": 9,
"preview": "gi-index\n"
},
{
"path": "docs/libs/webrtc/index.md",
"chars": 176,
"preview": "# WebRTC Library\n\nThis library should be linked to by getting cflags and libs from\ngstreamer-webrtc-{{ gst_api_version.m"
},
{
"path": "docs/libs/webrtc/sitemap.txt",
"chars": 9,
"preview": "gi-index\n"
},
{
"path": "docs/meson.build",
"chars": 8948,
"preview": "build_hotdoc = false\n\nif meson.is_cross_build()\n if get_option('doc').enabled()\n error('Documentation enabled "
},
{
"path": "docs/plugins/gst_plugins_cache.json",
"chars": 9609468,
"preview": "{\n \"accurip\": {\n \"description\": \"Computes an AccurateRip CRC\",\n \"elements\": {\n \"accurip\": {\n"
},
{
"path": "docs/plugins/index.md",
"chars": 0,
"preview": ""
},
{
"path": "docs/plugins/inspect/plugin-rist.xml",
"chars": 2892,
"preview": "<plugin>\n <name>rist</name>\n <description>Source and Sink for RIST TR-06-1 streaming specification</description>\n <fi"
},
{
"path": "docs/plugins/inspect/plugin-sctp.xml",
"chars": 1725,
"preview": "<plugin>\n <name>sctp</name>\n <description>SCTP encoder/decoder plugin</description>\n <filename>../../ext/sctp/.libs/l"
},
{
"path": "docs/plugins/sitemap.txt",
"chars": 10,
"preview": "gst-index\n"
},
{
"path": "docs/random/ChangeLog-0.8",
"chars": 659579,
"preview": "2005-09-02 Flavio Oliveira <flavio.oliveira@indt.org.br>\n\n\t* configure.ac:\n\t* ext/Makefile.am:\n\t* ext/gsm/Makefile.am:"
},
{
"path": "docs/random/LICENSE",
"chars": 821,
"preview": "/* GStreamer\n * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>\n *\n * This library is free software; you can re"
},
{
"path": "docs/random/PORTED_09",
"chars": 893,
"preview": "When porting a plugin start with 0.8 CVS head, not the old code in this module. There are many bugfixes which have gone "
},
{
"path": "docs/sitemap.txt",
"chars": 74,
"preview": "index.md\n\tgst-plugins-bad-plugins-doc.json\n\tgst-plugins-bad-libs-doc.json\n"
},
{
"path": "ext/aes/gstaes.c",
"chars": 1473,
"preview": "/*\n * GStreamer gstreamer-aes\n *\n * Copyright, 2021 Nice, Contact: Rabindra Harlalka <Rabindra.Harlalka@nice.com>\n *\n * "
},
{
"path": "ext/aes/gstaesdec.c",
"chars": 20405,
"preview": "/*\n * GStreamer gstreamer-aesdec\n *\n * Copyright, LCC (C) 2015 RidgeRun, LCC <carsten.behling@ridgerun.com>\n * Copyright"
},
{
"path": "ext/aes/gstaesdec.h",
"chars": 3588,
"preview": "/* \n * GStreamer gstreamer-aesdec\n *\n * Copyright, LCC (C) 2015 RidgeRun, LCC <carsten.behling@ridgerun.com>\n * Copyrigh"
},
{
"path": "ext/aes/gstaesenc.c",
"chars": 19541,
"preview": "/*\n * GStreamer gstreamer-aesenc\n *\n * Copyright, LCC (C) 2015 RidgeRun, LCC <carsten.behling@ridgerun.com>\n * Copyright"
},
{
"path": "ext/aes/gstaesenc.h",
"chars": 3649,
"preview": "/* \n * GStreamer gstreamer-aesenc\n *\n * Copyright, LCC (C) 2015 RidgeRun, LCC <carsten.behling@ridgerun.com>\n * Copyrigh"
},
{
"path": "ext/aes/gstaeshelper.c",
"chars": 5301,
"preview": "/*\n * GStreamer gstreamer-aeshelper\n *\n * Copyright, LCC (C) 2015 RidgeRun, LCC <carsten.behling@ridgerun.com>\n * Copyri"
},
{
"path": "ext/aes/gstaeshelper.h",
"chars": 3573,
"preview": "/* \n * GStreamer gstreamer-aeshelper\n *\n * Copyright, LCC (C) 2015 RidgeRun, LCC <carsten.behling@ridgerun.com>\n * Copyr"
},
{
"path": "ext/aes/meson.build",
"chars": 717,
"preview": "aes_sources = [\n 'gstaes.c',\n 'gstaeshelper.c',\n 'gstaesenc.c',\n 'gstaesdec.c',\n]\n\naes_cargs = []\naes_dep = dependen"
},
{
"path": "ext/aom/gstaom.c",
"chars": 1311,
"preview": "/* GStreamer\n * Copyright (C) <2017> Sean DuBois <sean@siobud.com>\n *\n * This library is free software; you can redistri"
},
{
"path": "ext/aom/gstaom.h",
"chars": 889,
"preview": "/* GStreamer\n * Copyright (C) <2017> Sean DuBois <sean@siobud.com>\n *\n * This library is free software; you can redistri"
},
{
"path": "ext/aom/gstav1dec.c",
"chars": 14334,
"preview": "/* GStreamer\n * Copyright (C) <2017> Sean DuBois <sean@siobud.com>\n *\n * This library is free software; you can redistri"
},
{
"path": "ext/aom/gstav1dec.h",
"chars": 2110,
"preview": "/* GStreamer\n * Copyright (C) <2017> Sean DuBois <sean@siobud.com>\n *\n * This library is free software; you can redistri"
},
{
"path": "ext/aom/gstav1enc.c",
"chars": 39747,
"preview": "/* GStreamer\n * Copyright (C) <2017> Sean DuBois <sean@siobud.com>\n *\n * This library is free software; you can redistri"
},
{
"path": "ext/aom/gstav1enc.h",
"chars": 3818,
"preview": "/* GStreamer\n * Copyright (C) <2017> Sean DuBois <sean@siobud.com>\n *\n * This library is free software; you can redistri"
},
{
"path": "ext/aom/gstav1utils.c",
"chars": 2153,
"preview": "/* AV1\n * Copyright (C) 2018 Wonchul Lee <chul0812@gmail.com>\n *\n * This library is free software; you can redistribute "
},
{
"path": "ext/aom/gstav1utils.h",
"chars": 1044,
"preview": "/* AV1\n * Copyright (C) 2018 Wonchul Lee <chul0812@gmail.com>\n *\n * This library is free software; you can redistribute "
},
{
"path": "ext/aom/meson.build",
"chars": 469,
"preview": "aom_dep = dependency('aom', required: get_option('aom'))\nif aom_dep.found()\n gstaom = library('gstaom',\n ['gstaom.c'"
},
{
"path": "ext/assrender/gstassrender.c",
"chars": 57731,
"preview": "/*\n * Copyright (c) 2008 Benjamin Schmitz <vortex@wolpzone.de>\n * Copyright (c) 2009 Sebastian Dröge <sebastian.droege@c"
},
{
"path": "ext/assrender/gstassrender.h",
"chars": 2922,
"preview": "/*\n * Copyright (c) 2008 Benjamin Schmitz <vortex@wolpzone.de>\n * Copyright (c) 2009 Sebastian Dröge <sebastian.droege@c"
},
{
"path": "ext/assrender/meson.build",
"chars": 500,
"preview": "ass_dep = dependency('libass', version : '>= 0.10.2', required : get_option('assrender'))\nif ass_dep.found()\n gstassren"
},
{
"path": "ext/avtp/gstavtp.c",
"chars": 10681,
"preview": "/*\n * GStreamer AVTP Plugin\n * Copyright (C) 2019 Intel Corporation\n *\n * This library is free software; you can redistr"
},
{
"path": "ext/avtp/gstavtpaafdepay.c",
"chars": 10164,
"preview": "/*\n * GStreamer AVTP Plugin\n * Copyright (C) 2019 Intel Corporation\n *\n * This library is free software; you can redistr"
},
{
"path": "ext/avtp/gstavtpaafdepay.h",
"chars": 1915,
"preview": "/*\n * GStreamer AVTP Plugin\n * Copyright (C) 2019 Intel Corporation\n *\n * This library is free software; you can redistr"
},
{
"path": "ext/avtp/gstavtpaafpay.c",
"chars": 12195,
"preview": "/*\n * GStreamer AVTP Plugin\n * Copyright (C) 2019 Intel Corporation\n *\n * This library is free software; you can redistr"
},
{
"path": "ext/avtp/gstavtpaafpay.h",
"chars": 2100,
"preview": "/*\n * GStreamer AVTP Plugin\n * Copyright (C) 2019 Intel Corporation\n *\n * This library is free software; you can redistr"
},
{
"path": "ext/avtp/gstavtpbasedepayload.c",
"chars": 8601,
"preview": "/*\n * GStreamer AVTP Plugin\n * Copyright (C) 2019 Intel Corporation\n *\n * This library is free software; you can redistr"
},
{
"path": "ext/avtp/gstavtpbasedepayload.h",
"chars": 2400,
"preview": "/*\n * GStreamer AVTP Plugin\n * Copyright (C) 2019 Intel Corporation\n *\n * This library is free software; you can redistr"
},
{
"path": "ext/avtp/gstavtpbasepayload.c",
"chars": 8691,
"preview": "/*\n * GStreamer AVTP Plugin\n * Copyright (C) 2019 Intel Corporation\n *\n * This library is free software; you can redistr"
},
{
"path": "ext/avtp/gstavtpbasepayload.h",
"chars": 2284,
"preview": "/*\n * GStreamer AVTP Plugin\n * Copyright (C) 2019 Intel Corporation\n *\n * This library is free software; you can redistr"
},
{
"path": "ext/avtp/gstavtpcrfbase.c",
"chars": 17703,
"preview": "/*\n * GStreamer AVTP Plugin\n * Copyright (C) 2019 Intel Corporation\n *\n * This library is free software; you can redistr"
},
{
"path": "ext/avtp/gstavtpcrfbase.h",
"chars": 2399,
"preview": "/*\n * GStreamer AVTP Plugin\n * Copyright (C) 2019 Intel Corporation\n *\n * This library is free software; you can redistr"
},
{
"path": "ext/avtp/gstavtpcrfcheck.c",
"chars": 8524,
"preview": "/*\n * GStreamer AVTP Plugin\n * Copyright (C) 2019 Intel Corporation\n *\n * This library is free software; you can redistr"
},
{
"path": "ext/avtp/gstavtpcrfcheck.h",
"chars": 1859,
"preview": "/*\n * GStreamer AVTP Plugin\n * Copyright (C) 2019 Intel Corporation\n *\n * This library is free software; you can redistr"
},
{
"path": "ext/avtp/gstavtpcrfsync.c",
"chars": 7751,
"preview": "/*\n * GStreamer AVTP Plugin\n * Copyright (C) 2019 Intel Corporation\n *\n * This library is free software; you can redistr"
},
{
"path": "ext/avtp/gstavtpcrfsync.h",
"chars": 1810,
"preview": "/*\n * GStreamer AVTP Plugin\n * Copyright (C) 2019 Intel Corporation\n *\n * This library is free software; you can redistr"
},
{
"path": "ext/avtp/gstavtpcrfutil.c",
"chars": 3340,
"preview": "/*\n * GStreamer AVTP Plugin\n * Copyright (C) 2019 Intel Corporation\n *\n * This library is free software; you can redistr"
},
{
"path": "ext/avtp/gstavtpcrfutil.h",
"chars": 1172,
"preview": "/*\n * GStreamer AVTP Plugin\n * Copyright (C) 2019 Intel Corporation\n *\n * This library is free software; you can redistr"
},
{
"path": "ext/avtp/gstavtpcvfdepay.c",
"chars": 23114,
"preview": "/*\n * GStreamer AVTP Plugin\n * Copyright (C) 2019 Intel Corporation\n *\n * This library is free software; you can redistr"
},
{
"path": "ext/avtp/gstavtpcvfdepay.h",
"chars": 1922,
"preview": "/*\n * GStreamer AVTP Plugin\n * Copyright (C) 2019 Intel Corporation\n *\n * This library is free software; you can redistr"
},
{
"path": "ext/avtp/gstavtpcvfpay.c",
"chars": 25633,
"preview": "/*\n * GStreamer AVTP Plugin\n * Copyright (C) 2019 Intel Corporation\n *\n * This library is free software; you can redistr"
},
{
"path": "ext/avtp/gstavtpcvfpay.h",
"chars": 1987,
"preview": "/*\n * GStreamer AVTP Plugin\n * Copyright (C) 2019 Intel Corporation\n *\n * This library is free software; you can redistr"
},
{
"path": "ext/avtp/gstavtpsink.c",
"chars": 13949,
"preview": "/*\n * GStreamer AVTP Plugin\n * Copyright (C) 2019 Intel Corporation\n *\n * This library is free software; you can redistr"
},
{
"path": "ext/avtp/gstavtpsink.h",
"chars": 1878,
"preview": "/*\n * GStreamer AVTP Plugin\n * Copyright (C) 2019 Intel Corporation\n *\n * This library is free software; you can redistr"
},
{
"path": "ext/avtp/gstavtpsrc.c",
"chars": 8972,
"preview": "/*\n * GStreamer AVTP Plugin\n * Copyright (C) 2019 Intel Corporation\n *\n * This library is free software; you can redistr"
},
{
"path": "ext/avtp/gstavtpsrc.h",
"chars": 1753,
"preview": "/*\n * GStreamer AVTP Plugin\n * Copyright (C) 2019 Intel Corporation\n *\n * This library is free software; you can redistr"
},
{
"path": "ext/avtp/meson.build",
"chars": 1105,
"preview": "avtp_sources = [\n 'gstavtp.c',\n 'gstavtpaafdepay.c',\n 'gstavtpaafpay.c',\n 'gstavtpcvfdepay.c',\n 'gstavtpcvfpay.c',\n"
},
{
"path": "ext/bs2b/gstbs2b.c",
"chars": 12342,
"preview": "/* GStreamer\n * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>\n * Copyright (C) <2003> David Schleef <ds@schle"
},
{
"path": "ext/bs2b/gstbs2b.h",
"chars": 1921,
"preview": "/* GStreamer\n * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>\n * Copyright (C) <2003> David Schleef <ds@schle"
},
{
"path": "ext/bs2b/meson.build",
"chars": 529,
"preview": "bs2b_sources = [ 'gstbs2b.c', ]\n\nbs2b_dep = dependency('libbs2b', version : '>=3.1.0', required : get_option('bs2b'))\n\ni"
},
{
"path": "ext/bz2/gstbz2.c",
"chars": 1320,
"preview": "/* GStreamer bz2 plugin\n * Copyright (C) 2006 Lutz Müller <lutz topfrose de>\n\n * This library is free software; you can "
},
{
"path": "ext/bz2/gstbz2dec.c",
"chars": 8327,
"preview": "/* GStreamer bz2 decoder\n * Copyright (C) 2006 Lutz Müller <lutz topfrose de>\n\n * This library is free software; you can"
},
{
"path": "ext/bz2/gstbz2dec.h",
"chars": 1561,
"preview": "/* GStreamer bz2 decoder\n * Copyright (C) 2006 Lutz Müller <lutz topfrose de>\n\n * This library is free software; you can"
},
{
"path": "ext/bz2/gstbz2enc.c",
"chars": 8849,
"preview": "/* GStreamer bz2 encoder\n * Copyright (C) 2006 Lutz Müller <lutz topfrose de>\n\n * This library is free software; you can"
},
{
"path": "ext/bz2/gstbz2enc.h",
"chars": 1561,
"preview": "/* GStreamer bz2 encoder\n * Copyright (C) 2006 Lutz Müller <lutz topfrose de>\n\n * This library is free software; you can"
},
{
"path": "ext/bz2/meson.build",
"chars": 535,
"preview": "bz2_sources = [\n 'gstbz2.c',\n 'gstbz2dec.c',\n 'gstbz2enc.c',\n]\n\nbz2_dep = cc.find_library('bz2', required : get_optio"
},
{
"path": "ext/chromaprint/gstchromaprint.c",
"chars": 9673,
"preview": "/* GStreamer chromaprint audio fingerprinting element\n * Copyright (C) 2006 M. Derezynski\n * Copyright (C) 2008 Eric Bue"
},
{
"path": "ext/chromaprint/gstchromaprint.h",
"chars": 2427,
"preview": "/* GStreamer chromaprint audio fingerprinting element\n * Copyright (C) 2006 M. Derezynski\n * Copyright (C) 2008 Eric Bue"
},
{
"path": "ext/chromaprint/meson.build",
"chars": 489,
"preview": "chromaprint_dep = dependency('libchromaprint', required : get_option('chromaprint'))\n\nif chromaprint_dep.found()\n gstch"
},
{
"path": "ext/closedcaption/bcd.h",
"chars": 5940,
"preview": "/*\n * libzvbi -- BCD arithmetic for Teletext page numbers\n *\n * Copyright (C) 2001, 2002 Michael H. Schimek\n *\n * Thi"
},
{
"path": "ext/closedcaption/bit_slicer.c",
"chars": 28645,
"preview": "/*\n * libzvbi - Bit slicer\n *\n * Copyright (C) 2000-2007 Michael H. Schimek\n *\n * This library is free software; you "
},
{
"path": "ext/closedcaption/bit_slicer.h",
"chars": 4980,
"preview": "/*\n * libzvbi -- Bit slicer\n *\n * Copyright (C) 2000-2007 Michael H. Schimek\n *\n * This library is free software; you"
},
{
"path": "ext/closedcaption/decoder.c",
"chars": 23799,
"preview": "/*\n * libzvbi -- Old raw VBI decoder\n *\n * Copyright (C) 2000, 2001, 2002 Michael H. Schimek\n *\n * This library is fr"
},
{
"path": "ext/closedcaption/decoder.h",
"chars": 14901,
"preview": "/*\n * libzvbi -- Old raw VBI decoder\n *\n * Copyright (C) 2000, 2001, 2002 Michael H. Schimek\n *\n * This library is fr"
},
{
"path": "ext/closedcaption/gstcccombiner.c",
"chars": 46739,
"preview": "/*\n * GStreamer\n * Copyright (C) 2018 Sebastian Dröge <sebastian@centricular.com>\n *\n * This library is free software; y"
},
{
"path": "ext/closedcaption/gstcccombiner.h",
"chars": 2477,
"preview": "/*\n * GStreamer\n * Copyright (C) 2018 Sebastian Dröge <sebastian@centricular.com>\n *\n * This library is free software; y"
},
{
"path": "ext/closedcaption/gstccconverter.c",
"chars": 83059,
"preview": "/*\n * GStreamer\n * Copyright (C) 2018 Sebastian Dröge <sebastian@centricular.com>\n *\n * This library is free software; y"
},
{
"path": "ext/closedcaption/gstccconverter.h",
"chars": 2931,
"preview": "/*\n * GStreamer\n * Copyright (C) 2018 Sebastian Dröge <sebastian@centricular.com>\n *\n * This library is free software; y"
},
{
"path": "ext/closedcaption/gstccextractor.c",
"chars": 16919,
"preview": "/*\n * GStreamer\n * Copyright (C) 2018 Edward Hervey <edward@centricular.com>\n *\n * This library is free software; you ca"
},
{
"path": "ext/closedcaption/gstccextractor.h",
"chars": 1993,
"preview": "/*\n * GStreamer\n * Copyright (C) 2018 Edward Hervey <edward@centricular.com>\n *\n * This library is free software; you ca"
},
{
"path": "ext/closedcaption/gstcea708decoder.c",
"chars": 59384,
"preview": "/* GStreamer\n * Copyright (C) 2013 CableLabs, Louisville, CO 80027\n * Copyright (C) 2015 Samsung Electronics Co., Ltd.\n "
},
{
"path": "ext/closedcaption/gstcea708decoder.h",
"chars": 13342,
"preview": "/* GStreamer\n * Copyright (C) 2013 CableLabs, Louisville, CO 80027\n * Copyright (C) 2015 Samsung Electronics Co., Ltd.\n "
},
{
"path": "ext/closedcaption/gstceaccoverlay.c",
"chars": 62887,
"preview": "/* GStreamer\n * Copyright (C) 2015 Samsung Electronics Co., Ltd.\n * @Author: Chengjun Wang <cjun.wang@samsung.com>\n "
},
{
"path": "ext/closedcaption/gstceaccoverlay.h",
"chars": 4171,
"preview": "/* GStreamer\n * Copyright (C) 2015 Samsung Electronics Co., Ltd.\n * @Author: Chengjun Wang <cjun.wang@samsung.com>\n "
},
{
"path": "ext/closedcaption/gstclosedcaption.c",
"chars": 1678,
"preview": "/*\n * GStreamer\n * Copyright (C) 2018 Edward Hervey <edward@centricular.com>\n *\n * This library is free software; you ca"
},
{
"path": "ext/closedcaption/gstline21dec.c",
"chars": 19228,
"preview": "/*\n * GStreamer\n * Copyright (C) 2018 Edward Hervey <edward@centricular.com>\n *\n * This library is free software; you ca"
},
{
"path": "ext/closedcaption/gstline21dec.h",
"chars": 2484,
"preview": "/*\n * GStreamer\n * Copyright (C) 2018 Edward Hervey <edward@centricular.com>\n *\n * This library is free software; you ca"
},
{
"path": "ext/closedcaption/gstline21enc.c",
"chars": 15703,
"preview": "/*\n * GStreamer\n * Copyright (C) 2019 Mathieu Duponchelle <mathieu@centricular.com>\n *\n * This library is free software;"
},
{
"path": "ext/closedcaption/gstline21enc.h",
"chars": 1980,
"preview": "/*\n * GStreamer\n * Copyright (C) 2019 Mathieu Duponchelle <mathieu@centricular.com>\n *\n * This library is free software;"
},
{
"path": "ext/closedcaption/hamm.h",
"chars": 5012,
"preview": "/*\n * libzvbi -- Error correction functions\n *\n * Copyright (C) 2001, 2002, 2003, 2004, 2007 Michael H. Schimek\n *\n * "
},
{
"path": "ext/closedcaption/io-sim.c",
"chars": 33398,
"preview": "/*\n * libzvbi -- VBI device simulation\n *\n * Copyright (C) 2004, 2007 Michael H. Schimek\n *\n * This library is free s"
},
{
"path": "ext/closedcaption/io-sim.h",
"chars": 2803,
"preview": "/*\n * libzvbi -- VBI device simulation\n *\n * Copyright (C) 2004, 2007 Michael H. Schimek\n *\n * This library is free s"
},
{
"path": "ext/closedcaption/macros.h",
"chars": 3713,
"preview": "/*\n * libzvbi -- Useful macros\n *\n * Copyright (C) 2002, 2003, 2004, 2007 Michael H. Schimek\n *\n * This library is fr"
},
{
"path": "ext/closedcaption/meson.build",
"chars": 881,
"preview": "closedcaption_dep = dependency('pangocairo', version : '>= 1.22.0',\n required : get_option('c"
},
{
"path": "ext/closedcaption/misc.h",
"chars": 15286,
"preview": "/*\n * libzvbi -- Miscellaneous cows and chickens\n *\n * Copyright (C) 2000-2003 Iñaki García Etxebarria\n * Copyright ("
},
{
"path": "ext/closedcaption/raw_decoder.c",
"chars": 32963,
"preview": "/*\n * libzvbi -- Raw VBI decoder\n *\n * Copyright (C) 2000-2004 Michael H. Schimek\n *\n * This library is free software"
},
{
"path": "ext/closedcaption/raw_decoder.h",
"chars": 5238,
"preview": "/*\n * libzvbi -- Raw VBI decoder\n *\n * Copyright (C) 2000-2004 Michael H. Schimek\n *\n * This library is free software"
},
{
"path": "ext/closedcaption/sampling_par.c",
"chars": 14677,
"preview": "/*\n * libzvbi -- Raw VBI sampling parameters\n *\n * Copyright (C) 2000-2004 Michael H. Schimek\n *\n * This library is f"
},
{
"path": "ext/closedcaption/sampling_par.h",
"chars": 2792,
"preview": "/*\n * libzvbi -- Raw VBI sampling parameters\n *\n * Copyright (C) 2000-2004 Michael H. Schimek\n *\n * This library is f"
},
{
"path": "ext/closedcaption/sliced.h",
"chars": 10202,
"preview": "/*\n * libzvbi -- Sliced VBI data\n *\n * Copyright (C) 2000, 2001 Michael H. Schimek\n *\n * This library is free softwar"
},
{
"path": "ext/colormanagement/gstcolormanagement.c",
"chars": 1227,
"preview": "/*\n * GStreamer gstreamer-colormanagement\n * Copyright (C) 2016 Andreas Frisch <fraxinas@dreambox.guru>\n *\n * This libra"
},
{
"path": "ext/colormanagement/gstlcms.c",
"chars": 29823,
"preview": "/*\n * GStreamer gstreamer-lcms\n * Copyright (C) 2016 Andreas Frisch <fraxinas@dreambox.guru>\n *\n * gstlcms.c\n * \n * This"
},
{
"path": "ext/colormanagement/gstlcms.h",
"chars": 2902,
"preview": "/*\n * GStreamer gstreamer-lcms\n * Copyright (C) 2016 Andreas Frisch <fraxinas@dreambox.guru>\n *\n * gstlcms.h\n * \n * This"
},
{
"path": "ext/colormanagement/meson.build",
"chars": 564,
"preview": "lcms2_dep = dependency('lcms2', version : '>= 2.7', required : get_option('colormanagement'))\nif lcms2_dep.found()\n gst"
},
{
"path": "ext/curl/curltask.h",
"chars": 5001,
"preview": "/*\n * GstCurlHttpSrc\n * Copyright 2014 British Broadcasting Corporation - Research and Development\n *\n * Author: Sam Hur"
},
{
"path": "ext/curl/gstcurl.c",
"chars": 1522,
"preview": "/* GStreamer\n * Copyright (C) 2011 Axis Communications <dev-gstreamer@axis.com>\n *\n * This library is free software; you"
},
{
"path": "ext/curl/gstcurlbasesink.c",
"chars": 43757,
"preview": "/* GStreamer\n * Copyright (C) 2011 Axis Communications <dev-gstreamer@axis.com>\n *\n * This library is free software; you"
},
{
"path": "ext/curl/gstcurlbasesink.h",
"chars": 3967,
"preview": "/* GStreamer\n * Copyright (C) 2011 Axis Communications <dev-gstreamer@axis.com>\n *\n * This library is free software; you"
},
{
"path": "ext/curl/gstcurldefaults.h",
"chars": 6728,
"preview": "/*\n * GstCurlHttpSrc\n * Copyright 2017 British Broadcasting Corporation - Research and Development\n *\n * Author: Sam Hur"
},
{
"path": "ext/curl/gstcurlelement.c",
"chars": 1334,
"preview": "/* GStreamer\n * Copyright (C) 2011 Axis Communications <dev-gstreamer@axis.com>\n *\n * This library is free software; you"
},
{
"path": "ext/curl/gstcurlelements.h",
"chars": 1302,
"preview": "/* GStreamer\n * Copyright (C) <2020> The GStreamer Contributors.\n *\n * This library is free software; you can redistribu"
},
{
"path": "ext/curl/gstcurlfilesink.c",
"chars": 7215,
"preview": "/* GStreamer\n * Copyright (C) 2011 Axis Communications <dev-gstreamer@axis.com>\n *\n * This library is free software; you"
},
{
"path": "ext/curl/gstcurlfilesink.h",
"chars": 1872,
"preview": "/* GStreamer\n * Copyright (C) 2011 Axis Communications <dev-gstreamer@axis.com>\n *\n * This library is free software; you"
},
{
"path": "ext/curl/gstcurlftpsink.c",
"chars": 12505,
"preview": "/* GStreamer\n * Copyright (C) 2011 Axis Communications <dev-gstreamer@axis.com>\n *\n * This library is free software; you"
},
{
"path": "ext/curl/gstcurlftpsink.h",
"chars": 1976,
"preview": "/* GStreamer\n * Copyright (C) 2011 Axis Communications <dev-gstreamer@axis.com>\n *\n * This library is free software; you"
},
{
"path": "ext/curl/gstcurlhttpsink.c",
"chars": 17606,
"preview": "/* GStreamer\n * Copyright (C) 2011 Axis Communications <dev-gstreamer@axis.com>\n *\n * This library is free software; you"
},
{
"path": "ext/curl/gstcurlhttpsink.h",
"chars": 2143,
"preview": "/* GStreamer\n * Copyright (C) 2011 Axis Communications <dev-gstreamer@axis.com>\n *\n * This library is free software; you"
},
{
"path": "ext/curl/gstcurlhttpsrc.c",
"chars": 74734,
"preview": "/*\n * GstCurlHttpSrc\n * Copyright 2017 British Broadcasting Corporation - Research and Development\n *\n * Author: Sam Hur"
},
{
"path": "ext/curl/gstcurlhttpsrc.h",
"chars": 7553,
"preview": "/*\n * GstCurlHttpSrc\n * Copyright 2017 British Broadcasting Corporation - Research and Development\n *\n * Author: Sam Hur"
},
{
"path": "ext/curl/gstcurlqueue.c",
"chars": 6808,
"preview": "/*\n * GstCurlHttpSrc\n * Copyright 2017 British Broadcasting Corporation - Research and Development\n *\n * Author: Sam Hur"
},
{
"path": "ext/curl/gstcurlqueue.h",
"chars": 2743,
"preview": "/*\n * GstCurlHttpSrc\n * Copyright 2017 British Broadcasting Corporation - Research and Development\n *\n * Author: Sam Hur"
},
{
"path": "ext/curl/gstcurlsftpsink.c",
"chars": 6980,
"preview": "/* GStreamer\n * Copyright (C) 2011 Axis Communications <dev-gstreamer@axis.com>\n *\n * This library is free software; you"
},
{
"path": "ext/curl/gstcurlsftpsink.h",
"chars": 1864,
"preview": "/* GStreamer\n * Copyright (C) 2011 Axis Communications <dev-gstreamer@axis.com>\n *\n * This library is free software; you"
},
{
"path": "ext/curl/gstcurlsmtpsink.c",
"chars": 31651,
"preview": "/* GStreamer\n * Copyright (C) 2011 Axis Communications <dev-gstreamer@axis.com>\n *\n * This library is free software; you"
},
{
"path": "ext/curl/gstcurlsmtpsink.h",
"chars": 2456,
"preview": "/* GStreamer\n * Copyright (C) 2011 Axis Communications <dev-gstreamer@axis.com>\n *\n * This library is free software; you"
},
{
"path": "ext/curl/gstcurlsshsink.c",
"chars": 16798,
"preview": "/* GStreamer\n * Copyright (C) 2011 Axis Communications <dev-gstreamer@axis.com>\n *\n * This library is free software; you"
},
{
"path": "ext/curl/gstcurlsshsink.h",
"chars": 3295,
"preview": "/* GStreamer\n * Copyright (C) 2011 Axis Communications <dev-gstreamer@axis.com>\n *\n * This library is free software; you"
},
{
"path": "ext/curl/gstcurltlssink.c",
"chars": 10156,
"preview": "/* GStreamer\n * Copyright (C) 2011 Axis Communications <dev-gstreamer@axis.com>\n *\n * This library is free software; you"
},
{
"path": "ext/curl/gstcurltlssink.h",
"chars": 2115,
"preview": "/* GStreamer\n * Copyright (C) 2011 Axis Communications <dev-gstreamer@axis.com>\n *\n * This library is free software; you"
},
{
"path": "ext/curl/meson.build",
"chars": 877,
"preview": "curl_sources = [\n 'gstcurlbasesink.c',\n 'gstcurl.c',\n 'gstcurlelement.c',\n 'gstcurlfilesink.c',\n 'gstcurlftpsink.c'"
},
{
"path": "ext/dash/gstdash_debug.h",
"chars": 195,
"preview": "#ifndef __GST_DASH_DEBUG_H__\n#define __GST_DASH_DEBUG_H__\n\n#include <gst/gst.h>\n\nG_BEGIN_DECLS\n\nGST_DEBUG_CATEGORY_EXTER"
},
{
"path": "ext/dash/gstdashdemux.c",
"chars": 144017,
"preview": "/*\n * DASH demux plugin for GStreamer\n *\n * gstdashdemux.c\n *\n * Copyright (C) 2012 Orange\n *\n * Authors:\n * David Cor"
},
{
"path": "ext/dash/gstdashdemux.h",
"chars": 4868,
"preview": "/*\n * DASH demux plugin for GStreamer\n *\n * gstdashdemux.h\n *\n * Copyright (C) 2012 Orange\n * Authors:\n * David Corvoy"
},
{
"path": "ext/dash/gstdashsink.c",
"chars": 38067,
"preview": "/* GStreamer\n * Copyright (C) 2019 Stéphane Cerveau <scerveau@collabora.com>\n *\n * This library is free software; you c"
},
{
"path": "ext/dash/gstdashsink.h",
"chars": 1132,
"preview": "/* GStreamer\n * Copyright (C) 2019 Stéphane Cerveau <scerveau@collabora.com>\n *\n * This library is free software; you ca"
},
{
"path": "ext/dash/gstmpdadaptationsetnode.c",
"chars": 9554,
"preview": "/* GStreamer\n *\n * Copyright (C) 2019 Collabora Ltd.\n * Author: Stéphane Cerveau <scerveau@collabora.com>\n *\n * This l"
},
{
"path": "ext/dash/gstmpdadaptationsetnode.h",
"chars": 2736,
"preview": "/* GStreamer\n *\n * Copyright (C) 2019 Collabora Ltd.\n * Author: Stéphane Cerveau <scerveau@collabora.com>\n *\n * This l"
},
{
"path": "ext/dash/gstmpdbaseurlnode.c",
"chars": 4887,
"preview": "/* GStreamer\n *\n * Copyright (C) 2019 Collabora Ltd.\n * Author: Stéphane Cerveau <scerveau@collabora.com>\n *\n * This l"
},
{
"path": "ext/dash/gstmpdbaseurlnode.h",
"chars": 1504,
"preview": "/* GStreamer\n *\n * Copyright (C) 2019 Collabora Ltd.\n * Author: Stéphane Cerveau <scerveau@collabora.com>\n *\n * This l"
}
]
// ... and 2575 more files (download for full content)
About this extraction
This page contains the full source code of the GStreamer/gst-plugins-bad GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 2775 files (49.4 MB), approximately 13.1M tokens, and a symbol index with 28358 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.