Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
377 commits
Select commit Hold shift + click to select a range
f1b0c6a
audiodecoder: [pexhack] allow setting reported latency as a property
havardgraff Apr 21, 2021
dadcc38
gstrtpbuffer: added GST_RTP_BUFFER_FLAG_ULPFEC flag to mark ULPFEC pa…
tbeloqui May 31, 2021
939e03a
test/rtp: warningfixes
havardgraff Sep 2, 2021
deb5582
rtpbasedpayload: add "ignore-gaps" property
havardgraff Feb 1, 2021
40e56a5
rtpbasedepayload: set the GAP_FLAG_MISSING_DATA when there is actual …
havardgraff Sep 10, 2021
65c3373
videodecoder: only convert to running time if the input_segment is valid
havardgraff Sep 27, 2021
8e8b821
speexenc: Don't set lookahead
havardgraff Aug 28, 2015
3acf3f1
speexdec: Handle streamheaders in caps/buffers better
havardgraff Sep 23, 2015
3a969ea
speexenc: Fix segment before caps event when draining
Sep 26, 2016
46fd73c
flvdemux: Make "no-more-pads-threshold" a property
havardgraff Mar 26, 2016
09e41f0
flvdemux: Set no-more-pads-threshold default to -1 [pexhack]
havardgraff Mar 26, 2016
b4d5ed7
flvmux: [pexhack] lower backwards-dts warning to info
havardgraff Feb 8, 2019
1e3ea82
rtpmux: Limit sequence number to half G_MAXUINT16 [pexhack]
haaspors Jun 30, 2014
7a9a6a7
rtpmux: fix test warnings
havardgraff Feb 12, 2020
84dae60
rtpssrcdemux: avoid the log spam [pexhack]
Sep 14, 2016
fcbbd58
vpx: Build SIMD-ified vpx plugin if available [pexhack]
May 29, 2015
4c51892
vpxenc: Enable rate limit force keyframes events [pexhack]
Jun 23, 2014
3209d9a
vpxenc: Add tile-columns and tile-rows properties
May 12, 2017
afa1c52
gstvpxenc: fix auto bitrate functionality v2
Jul 7, 2020
9247903
vpxdec: Add property "direct-rendering"
Nov 4, 2016
0f7dcf5
vpxdec: Fix direct rendering, don't hold write access
havardgraff May 22, 2019
0c772d1
vpxdec: allow VideoRegionOfInterestMeta
camilo-celis Sep 25, 2020
95428b8
speexenc: don't send silly segments mid-stream [pexhack]
havardgraff May 25, 2018
59813f3
rtph263ppay: remove annex-? fields in caps if not present [pexhack]
haaspors Jun 16, 2014
fd6d070
rtpg722pay: rtpg722depay: Change payload type to dynamic [pexhack]
Jul 28, 2014
a612df0
rtph263: Fix test to use latest avenc encoder properties
Jan 7, 2019
a672662
multiudpsink: downgrade WARNING to INFO
havardgraff Oct 2, 2018
e77695d
qtdemux: initialize variable to stop warning
havardgraff Apr 12, 2018
7d9a104
qtdemux: fix leak in Opus caps
camilo-celis Jan 9, 2019
f221fc3
qtdemux: Expose max raw audio samples per buffer as a property, rever…
rdharrison2 Oct 9, 2019
95f1499
vp9enc: if VP9E_SET_ROW_MT is not available, don't use it
havardgraff Aug 11, 2021
d774e1e
rtpvp8depay: pexip changes
havardgraff Aug 23, 2021
ffed529
vp9enc: disable VP9E_SET_COLOR_SPACE for now
havardgraff Aug 27, 2021
1b3847d
rtpvp9depay: revert to pexip-changes (for now)
havardgraff Sep 2, 2021
0141031
rtph261depay: don't set the DELTA_UNIT flag for H.261
havardgraff Sep 20, 2021
74fe11f
vpxenc: move temporal-scalability-layer to GValueArray
havardgraff Sep 20, 2021
0b7cfc6
[pexhack] find out about -objc-arc stuff
havardgraff Oct 24, 2019
15a9ee8
gstgdiscreencapsrc: added window property
tbeloqui Jun 26, 2020
3dd77ec
gst-plugins-base/rtpdummyhdrextimpl: unused variable
havardgraff Sep 30, 2021
7d58b8b
bytewriter: fix msvc warnings
havardgraff Oct 6, 2021
2399be1
[pexhack] re-add gst_debug_syslog option
w-miller Oct 8, 2021
a4e2600
gstharness: make removal of peer pad thread safe
thomas-pexip Sep 15, 2021
50d8a00
gstharness: Limited support for bufferlists.
frederik-vestre-pexip Jan 24, 2022
247bab9
gstreamer/harness: make pull timesout configurable
camilo-celis Mar 18, 2022
bbd22aa
rtprtxsend: add "limiting" and "stuffing"
havardgraff Mar 31, 2022
344dccd
rtprtxsend: fixed copying twcc ext-hdr if present
tbeloqui Apr 6, 2022
9f6e1d4
[pexhack] rtphdrextroi: tmp support of multiple roi-types
camilo-celis Oct 28, 2021
445e2e3
gstelement: log warning when pad name doesn't match any template
w-miller Dec 14, 2021
0f9c56e
check: Fix valgrid suppresion for debug function list
amberik1 Dec 20, 2021
8a3fbcb
gst/gst_gdb: allow doing a gst-dot of a local bin
camilo-celis Mar 1, 2022
673fad6
gstvideodecoder: set all-headers to TRUE in the GstForceKeyUnit when
tbeloqui Mar 14, 2022
9848ff5
gstgdiscreencapsrc: fixed type conversion
tbeloqui Apr 8, 2022
a53bf2a
meson: [msvc] only add warnings 4013, 4101 and 4189 if glib_checks is
tbeloqui Apr 8, 2022
f3d400f
rtprtx: add test to copy custom RoI ext-hdr
camilo-celis May 26, 2022
05897f1
rtprtx: fix copying ext-hdr if present
tbeloqui Apr 6, 2022
e4eba80
libcheck: use SIGABRT instead of SIGKILL on timeout
camilo-celis Jun 11, 2022
abee7e0
ahc2src: Introduce a new source for Android Camera 2 NDK API
havardgraff Apr 25, 2022
e41a966
androidmedia: added gstacamdeviceprovider
tbeloqui May 25, 2022
9050243
gstamdeviceprovider: added audio device provider for android
tbeloqui May 31, 2022
e0bc66f
gstamdeviceprovider: fixed a race condition in which the callback would
tbeloqui Jun 29, 2022
45789b9
applemedia/vtenc: fix deadlock
havardgraff Jul 3, 2022
7db9e5a
applemedia/avaudiodeviceprovider: initial commit
tbeloqui Jul 26, 2022
2c46ff0
winks/ksvideohelper: do not throw a warning if the media type is not
tbeloqui Aug 9, 2022
f4e0bf0
gstpad: gst-indent
havardgraff Aug 22, 2022
27bd3a0
gstpad: PEXHACK: log chain(list)funcs that take longer than 100ms
havardgraff Sep 2, 2022
a26084e
ahc2src: cleanups and fixes
havardgraff Aug 26, 2022
024145d
amcvideoenc: fix mess around level and profile for H.264
havardgraff Aug 30, 2022
b0686fa
ahc2src: improve the memory-handling of AImage to GstBuffer
havardgraff Aug 30, 2022
8eff40e
vpxenc: FIXME: revert upstream changes
havardgraff Sep 5, 2022
b587c1e
rtpsession: FIXUP don't set running_time to -1 for no latency
havardgraff Sep 7, 2022
97c7f42
rtpsession: don't report same stats twice
havardgraff Sep 23, 2022
a40792e
vtenc: PEXHACK don't do B-frames from encoder if we can help it
havardgraff Sep 9, 2022
02d9181
gstclock: FIXUP removal of weakref
havardgraff Sep 26, 2022
750b9da
gstelement: do not hold the element lock when activating the pad in
tbeloqui Sep 29, 2022
5a80db5
androidmedia: populate devices list before starting the GstAcamDevice…
tbeloqui Oct 6, 2022
205fcae
gstahc2src: added camera_status_t logging
tbeloqui Oct 6, 2022
7aa0c31
amdeviceprovider: fixing device-id property default value
tbeloqui Oct 10, 2022
0b7b278
gstleaks: add "objects-alive-list" to the checkpoint
havardgraff Oct 14, 2022
0862965
vp9dec: don't offer 10bit if libvpx does not support it
havardgraff Oct 17, 2022
573932d
gstleaks: FIXUP remove unused variable
havardgraff Oct 27, 2022
cc8b4d8
gstamc: downgrading unsupported and unknowns messages to DEBUG
tbeloqui Oct 26, 2022
fee0402
gstamc-codec-jni: added NULL check before unrefing codec->surface
tbeloqui Nov 1, 2022
17cd14b
gstamcvideoenc: avoid flushing the encoder twice if we have already f…
tbeloqui Nov 1, 2022
33e6b52
ahc2src: logging camera error messages
tbeloqui Nov 3, 2022
f4ac1ff
ahc2src: add PROP_EXPOSURE_MODE stub to avoid error of not implementing
tbeloqui Nov 3, 2022
f587833
gstvalue/test: initialize unset string
camilo-celis Nov 17, 2022
c38efaa
gstv4l2deviceprovider: return the device list in the same order of
tbeloqui Nov 21, 2022
302b9e0
Media: Try to improve locking for gstvideoencoder
frederik-vestre-pexip Nov 21, 2022
ac679d3
More videoenc lock fixes
frederik-vestre-pexip Nov 24, 2022
ba7ebb0
video-info: PEXHACK reduce warning levels for spammy log
havardgraff Dec 16, 2022
16bbfb6
multiudpsink: use "current-time" not "running-time" for TWCC
havardgraff Dec 9, 2022
3cc9c55
Revert "gstpad: PEXHACK: log chain(list)funcs that take longer than 1…
havardgraff Jan 23, 2023
540adc4
gst-plugins-base/playback: scanbuild fixes
tbeloqui Feb 6, 2023
7a48c7d
rtprtxsend: introduce stuffing-max-burst-packets and use padding
havardgraff Feb 14, 2023
9be29e1
funnel: only forward events on active pads
havardgraff Feb 28, 2023
97e8939
gstaudiodecoder: implemented DTX API
tbeloqui Feb 23, 2023
41d3091
rtpopuspay: pass buffer offset to base_payload_push
w-miller Apr 21, 2023
247d8eb
rtpbasedepayload: set default buffer offset based on RTP timestamp
w-miller Apr 21, 2023
611b335
rtpbasedepayload: test: correct order of fields
camilo-celis May 4, 2023
ab6faf5
vp8pay: dont store partition_size
camilo-celis May 24, 2023
c45b1f8
vp8pay: introduce new property parse-frame
camilo-celis May 24, 2023
e7cb4a2
vp8pay: add additional comments around bitstream parsing
camilo-celis May 24, 2023
a4c4539
vp8pay: use DELTA_UNIT buffer flag know a frame type
camilo-celis May 24, 2023
7daccbf
rtpvp9pay: add parse-frames property
w-miller May 24, 2023
177f370
check: compile libcompat when building statically
havardgraff Jan 31, 2023
46de76f
ahc2src: add proper GstVideoMeta to the buffers
MishaBaranov Mar 8, 2023
25c203f
glshader: unlock before notify, and use dispose instead of finalize
havardgraff Mar 20, 2023
9de74ba
glupload: use attached buffer-alignment when uploading a VideoFrame
havardgraff Mar 20, 2023
3cb67e0
amcvideoenc: default to -1 as I_FRAME_INTERVAL_DEFAULT
havardgraff Apr 12, 2023
0d1b48f
amcvideoenc: various fixes
havardgraff Apr 18, 2023
6157cd3
gstamc: various fixes
havardgraff Jun 2, 2023
408d450
gstreamer-full-static: fix plugins option parse for Windows
tbeloqui Apr 24, 2023
5119337
netsim: introduce throttling
havardgraff Feb 22, 2023
5a8c67d
netsim: improvements to the token bucket algorithm for limiting bw
havardgraff May 8, 2023
d0f0087
gst: use GST_API to properly import/export functions in gstevent and …
tbeloqui May 4, 2023
9760923
rtpvp8pay: don't payload partitions when forced not to parse the frame
camilo-celis Jul 4, 2023
2988a68
audiodecoder: do not account for upstream latency when producing DTX …
tbeloqui Jul 11, 2023
eb2e35e
gstahcsrc: override GST_PHOTOGRAPHY_PROP_EXPOSURE_MODE property
tbeloqui Jul 12, 2023
4fc104a
gstamcvideoenc: fixed minimum value for PROP_I_FRAME_INTERVAL_FLOAT
tbeloqui Jul 12, 2023
de3f7e4
rtpvp9pay: extract resolution from sink caps (#9)
camilo-celis Aug 30, 2023
5a38b4e
vulkan: implemented set_window_handle in gstvkwindow_cocoa
tbeloqui Sep 5, 2023
4d4df8f
vulkan: removed extra log
tbeloqui Sep 6, 2023
9988f23
vulkan: gstvkwindow_cocoa use _gst_vulkan_cocoa_invoke_on_main rather
tbeloqui Sep 6, 2023
46fb001
vulkan: fixed main thread checker warning
tbeloqui Sep 7, 2023
c14af01
gstaes: fixed missing symbols and rework on dependencies
tbeloqui Sep 11, 2023
d7357e8
gstvkwindow: do not depend on close signal handlers to close the window
tbeloqui Sep 11, 2023
418b72a
PEXHACK: remove 'medias' from gst-integration-testsuites
havardgraff Oct 1, 2023
64ebbc3
VPX: FIXUP: ISA BASED BUILD SYSTEM FOR LIBVPX
havardgraff Oct 1, 2023
934ae95
FIXUP: VPX: we can't do vpx isa as a static library for now
havardgraff Oct 2, 2023
078a174
avvidenc: start PTS from 0
havardgraff Oct 14, 2023
d2817e0
avviddec: request sync point on decoding errors
havardgraff Oct 13, 2023
31b80a3
gstvkwindow: fixup, use _gst_vk_invoke_on_main
tbeloqui Oct 30, 2023
4fcb4d9
applemedia/vtenc: fix deadlock on shutdown
havardgraff Nov 15, 2023
3219915
avviddec: fixup on missing break after PROP_STD_COMPLIANCE
tbeloqui Nov 27, 2023
aa214ce
basetransform: cache in- and outcaps
havardgraff Nov 29, 2023
a67ff0b
v4l2src: attempt to set the current camera format after open is called
tbeloqui Dec 1, 2023
08b3378
gstreamer/libs/base: initial commit of GstBaseIdleSrc
havardgraff Mar 9, 2022
e7f7cdd
baseidlesrc: FIXUP gsize instead of guint
havardgraff Dec 2, 2023
7f97baf
mfvideosrc: added logic to read a frame to verify the src can access the
tbeloqui Dec 4, 2023
979d4eb
gstwasapi: add device is-default info.
bitflows Dec 8, 2023
f77fef6
Revert "avfvideosrc: Don't wait on main thread for permissions request"
bitflows Dec 11, 2023
7676555
gstwasapidevice: compare also is-default value inside
tbeloqui Dec 21, 2023
cb3849a
rtpmux: replace object lock with stream lock for chain function(s)
havardgraff Jan 2, 2024
2768402
rtpdtmfmux: fix log message to include more info about the buffer
havardgraff Jan 2, 2024
7e0afa1
isomp4: scanbuild fix
tbeloqui Jan 11, 2024
9303100
gstpngenc: scanbuild fix
tbeloqui Jan 11, 2024
9e7cdeb
gstfdmemory: scanbuild fix
tbeloqui Jan 11, 2024
fc38e03
avfvideosrc: introducing device-unique-id property for device selection
tbeloqui Jan 17, 2024
e622c2d
applemedia/avf: implemented monitor support in avfdeviceprovider
tbeloqui Jan 17, 2024
201a64f
avfdeviceprovider: sort devices by position
tbeloqui Jan 18, 2024
095411d
applemedia/avfdeviceprovider: fix some warnings
havardgraff Feb 23, 2024
ca6350a
videoencoder: forward downstream events directly
havardgraff Feb 23, 2024
7e64554
mfvideosrc: open and close the underlying device source in change_sta…
tbeloqui Apr 4, 2024
ef89be4
base/ext/alsadeviceprovider: don't crash on NULL caps
Apr 18, 2024
9fc94c1
good/sys/v4l2object: only add pool to allocation query when one exists
Apr 18, 2024
59cfaa5
avfvideosrc: added lock-device property
tbeloqui Apr 18, 2024
30dd16a
bad/applemedia/vtenc: fix a memory leak
havardgraff Apr 23, 2024
374d8b0
applemedia/avaudiodeviceprovider: don't leak strings
havardgraff May 10, 2024
aed7c5a
applemedia/vtdec: don't leak output_state
havardgraff May 10, 2024
4fa9e21
good/ext/vp9enc: PEXHACK: add "missing" caps-fields for qtmux to work
havardgraff May 27, 2024
bda6761
v4l2: small logging changes
tbeloqui May 31, 2024
db02e50
v4l2: device provider fixes
tbeloqui May 31, 2024
a407d8e
good/rtp/vpx: initialise GstVP8Meta for pays/depays
w-miller Jun 19, 2024
9c4b71f
rtpptdemux: do not emit with a local variable
tbeloqui Jul 2, 2024
f47c729
rtpjitterbuffer: demand 2 equal packet-spacings before updating!
havardgraff Jul 2, 2024
e11f634
gstvalue: fix removal of Windows directory separator in
tbeloqui Jul 11, 2024
b8f26d1
pcapparse: implemented support for Framing RTP in TCP
tbeloqui Jul 16, 2024
f0d4434
plugins-good/rtpbin: fixes for timeout and autoremove
havardgraff Jun 17, 2024
d570fa8
use hash for name lookup in gstbin and gstelement
mhy-pexip Aug 27, 2024
026efe9
applemedia/avfdeviceprovider: HOST_ macros are not available (FIXUP?)
havardgraff Sep 13, 2024
40effce
gstelement: improve locking around hash usage (#17)
mhy-pexip Sep 16, 2024
9dd6ffb
rtpbin: fix race where the same pad would be added twice
havardgraff Sep 22, 2024
7eb2679
rtpsession: restored extra condition for timing out senders
tbeloqui Oct 2, 2024
6f4d035
rtpssrcdemux: avoid spamming the log with the unknown SSRCS warning
tbeloqui Oct 2, 2024
9708bbb
SCTP: Introducing dcsctp, a new C++ SCTP implementation from WebRTC
tbeloqui Sep 24, 2023
ddfe54b
SCTP: expose gi bindings
jmb202 Mar 15, 2019
f852551
SCTP: expose gi bindings for send meta
jmb202 Mar 26, 2019
21860cf
soundtouch: define the dep if even if its disabled
tbeloqui Oct 9, 2024
9ade4a1
generate_init_static_plugins.py: fix unused plugin warning
tbeloqui Oct 9, 2024
3606fe4
meson: [msvc] only add warnings if glib_checks is disabled
tbeloqui Oct 10, 2024
76b93c7
Build MoltenVK for iOS and macOS
vadymmarkov Nov 25, 2022
a0eacce
gst-plugins-bad: added 'camerabin' feature option
tbeloqui Oct 11, 2024
8396ebe
gstosxaudiodeviceprovider: [pexhack] various fixes
havardgraff May 29, 2024
14bbc68
bad/applemedia/vtdec: only enter loop when reorder queue is 'larger t…
havardgraff Apr 23, 2024
59098b5
applemedia/vtdec: handle decoder error status for iOS
tbeloqui May 23, 2024
c2c004a
applemedia/vtenc/dec: force a "flush" for each frame
havardgraff May 22, 2024
b06112f
PEXHACK: revert gstvideorate to old version
tbeloqui Oct 15, 2024
a7769a3
gstvideorate: Fix of buffer duration.
amberik1 Dec 7, 2022
524e49e
gstosxaudiodeviceprovider: major upgrade
tbeloqui Mar 7, 2024
de095b1
gstelement: improve locking around hash usage
tbeloqui Oct 17, 2024
1b33b86
plugins-good/rtpbin: fix for two race conditions related to autoremove
tbeloqui Nov 7, 2024
bfe60d9
plugins-good/rtpsession: Add "enable-twcc-packet-event" parameter.
amberik1 Nov 20, 2024
d1f6cb2
flvmux: Fix off-by-one in month/day-of-the-week array
sdroege Dec 1, 2024
d9a6a3e
tests/rtpsession: make the ssrc timeout tests more deterministic by
tbeloqui Dec 16, 2024
d689754
rtpssrcdemux: ignore flow-not-linked
havardgraff Dec 28, 2024
31bc2e5
qtdemux: Fix integer overflow when allocating the samples table for f…
antonio-morales Sep 26, 2024
4abe84a
qtdemux: Fix debug output during trun parsing
sdroege Sep 26, 2024
41743e5
qtdemux: Don't iterate over all trun entries if none of the flags are…
sdroege Sep 26, 2024
23c59ce
qtdemux: Check sizes of stsc/stco/stts before trying to merge entries
sdroege Sep 27, 2024
6301c96
qtdemux: Make sure only an even number of bytes is processed when han…
sdroege Sep 26, 2024
f2598ae
qtdemux: Make sure enough data is available before reading wave heade…
sdroege Sep 26, 2024
d6e7a42
qtdemux: Fix length checks and offsets in stsd entry parsing
sdroege Sep 26, 2024
bb45a32
qtdemux: Fix error handling when parsing cenc sample groups fails
sdroege Sep 27, 2024
02ffa75
qtdemux: Make sure there are enough offsets to read when parsing samples
sdroege Sep 27, 2024
16f69c7
qtdemux: Actually handle errors returns from various functions instea…
sdroege Sep 27, 2024
6176196
qtdemux: Check for invalid atom length when extracting Closed Caption…
sdroege Sep 26, 2024
b97837a
qtdemux: Add size check for parsing SMI / SEQH atom
sdroege Sep 26, 2024
1282e92
matroskademux: Only unmap GstMapInfo in WavPack header extraction err…
sdroege Sep 30, 2024
4a59b41
matroskademux: Fix off-by-one when parsing multi-channel WavPack
sdroege Sep 30, 2024
d73fce4
matroskademux: Check for big enough WavPack codec private data before…
sdroege Sep 30, 2024
a76085f
matroskademux: Don't take data out of an empty adapter when processin…
sdroege Sep 30, 2024
8956a82
matroskademux: Skip over laces directly when postprocessing the frame…
sdroege Sep 30, 2024
60008cd
matroskademux: Skip over zero-sized Xiph stream headers
sdroege Sep 30, 2024
9b343f6
matroskademux: Put a copy of the codec data into the A_MS/ACM caps
sdroege Oct 9, 2024
bcddb71
vorbisdec: Set at most 64 channels to NONE position
sdroege Sep 30, 2024
f58efeb
ssaparse: Don't use strstr() on strings that are potentially not NULL…
sdroege Sep 30, 2024
545aec3
ssaparse: Search for closing brace after opening brace
sdroege Sep 30, 2024
d08087f
discoverer: Don't print channel layout for more than 64 channels
sdroege Sep 30, 2024
f8bdba6
opusdec: Set at most 64 channels to NONE position
sdroege Oct 1, 2024
628e7d0
vorbis_parse: check writes to GstOggStream.vorbis_mode_sizes
MathieuDuponchelle Oct 2, 2024
9831630
oggstream: review and fix per-format min_packet_size
MathieuDuponchelle Oct 2, 2024
5e09131
subparse: Check for NULL return of strchr() when parsing LRC subtitles
sdroege Oct 9, 2024
9aee099
id3v2: Don't try parsing extended header if not enough data is available
sdroege Sep 26, 2024
76b14b7
jpegdec: Directly error out on negotiation failures
sdroege Sep 30, 2024
0237b49
gdkpixbufdec: Check if initializing the video info actually succeeded
sdroege Oct 2, 2024
1088f2d
avisubtitle: Fix size checks and avoid overflows when checking sizes
sdroege Oct 4, 2024
55e04ea
wavparse: Check for short reads when parsing headers in pull mode
sdroege Oct 4, 2024
2d8ee83
wavparse: Make sure enough data for the tag list tag is available bef…
sdroege Oct 4, 2024
393f228
wavparse: Fix parsing of acid chunk
sdroege Oct 4, 2024
655e7b7
wavparse: Check that at least 4 bytes are available before parsing cu…
sdroege Oct 4, 2024
736a986
wavparse: Check that at least 32 bytes are available before parsing s…
sdroege Oct 4, 2024
f7ab04a
wavparse: Fix clipping of size to the file size
sdroege Oct 4, 2024
fe69ce6
wavparse: Check size before reading ds64 chunk
sdroege Oct 4, 2024
dca56f1
rtpvp9pay: fix profile parsing
w-miller Jan 9, 2025
38ef1d1
vtenc: restart encoder session even if VTCompressionSessionCompleteFr…
vadymmarkov Jan 14, 2025
d917785
rtx: fix bug where atoi is used on integers > MAXINT32
havardgraff Jan 20, 2025
599ed00
wasapi: update the device list on device_state_changed()
tbeloqui Feb 3, 2025
104bb99
rtpmanager/rtpssrcdemux: ignore FLOW_EOS as well as NOT_LINKED
havardgraff Feb 5, 2025
35c3589
rtxsend: log before send
MishaBaranov Feb 12, 2025
02cd866
mfvideosrc: attempt to unlock ReadSample() in gst_mf_source_reader_un…
tbeloqui Feb 21, 2025
2c60c98
mfvideosrc: discard the sample if available and we are flushing
tbeloqui Feb 24, 2025
85933ab
mfsourcereader: clear the queue when flushing the source
tbeloqui Feb 27, 2025
00737b7
mediafoundation: introduce GST_MF_DISABLE_CODECS env variable to allo…
tbeloqui Mar 4, 2025
c31bea0
mediafoundation/mfcapturewinrt: fixed a small typo
tbeloqui Mar 6, 2025
be9d0cc
mediafoundation/mfcapturewinrt: added more error checks in
tbeloqui Mar 6, 2025
8c0f17d
mediafoundation/mfcapturewinrt: parsing and pushing the error-code when
tbeloqui Mar 6, 2025
88c139c
mediafoundation/mfsourcereader: improve unlock()
tbeloqui Mar 7, 2025
3e44b29
Plumb through clear-ssrc signal to rtp session, remove the correspond…
Dari-K Feb 13, 2025
524e9a0
Mark bye for internal sources seems to be more correct way to remove …
Dari-K Mar 6, 2025
f9cdc03
Revert back to doing immediate removal, if the remove happens at the …
Dari-K Mar 13, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -71,3 +71,6 @@ subprojects/*/

# apk files from CI (or following its commands)
*.apk

# from gdb Python helper scripts
__pycache__
3 changes: 0 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +0,0 @@
[submodule "subprojects/gst-integration-testsuites/medias"]
path = subprojects/gst-integration-testsuites/medias
url = https://gitlab.freedesktop.org/gstreamer/gst-integration-testsuites.git
4 changes: 3 additions & 1 deletion scripts/generate_init_static_plugins.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import argparse
import os
import platform
from string import Template

TEMPLATE = Template('''
Expand All @@ -20,6 +21,7 @@
static
gboolean register_features_full (GstPlugin* plugin)
{
(void) plugin;
$elements_registration
$typefind_funcs_registration
$device_providers_registration
Expand Down Expand Up @@ -108,7 +110,7 @@ def process_features(features_list, plugins, feature_prefix):
giomodules_declaration = []
giomodules_registration = []

if ',' in options.plugins or ':' in options.plugins:
if ',' in options.plugins or (platform.system() != 'Windows' and ':' in options.plugins):
print("Only ';' is allowed in the list of plugins.")
exit(1)

Expand Down
1 change: 0 additions & 1 deletion subprojects/gst-integration-testsuites/medias
Submodule medias deleted from 2df253
40 changes: 37 additions & 3 deletions subprojects/gst-libav/ext/libav/gstavviddec.c
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ GST_DEBUG_CATEGORY_STATIC (GST_CAT_PERFORMANCE);
#define DEFAULT_DIRECT_RENDERING TRUE
#define DEFAULT_MAX_THREADS 0
#define DEFAULT_OUTPUT_CORRUPT TRUE
#define DEFAULT_REQUIRE_KEYFRAME FALSE
#define REQUIRED_POOL_MAX_BUFFERS 32
#define DEFAULT_STRIDE_ALIGN 31
#define DEFAULT_ALLOC_PARAM { 0, DEFAULT_STRIDE_ALIGN, 0, 0, }
Expand All @@ -65,6 +66,7 @@ enum
PROP_OUTPUT_CORRUPT,
PROP_THREAD_TYPE,
PROP_STD_COMPLIANCE,
PROP_REQUIRE_KEYFRAME,
PROP_LAST
};

Expand Down Expand Up @@ -344,6 +346,11 @@ gst_ffmpegviddec_subclass_init (GstFFMpegVidDecClass * klass,
g_param_spec_boolean ("output-corrupt", "Output corrupt buffers",
"Whether libav should output frames even if corrupted",
DEFAULT_OUTPUT_CORRUPT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class, PROP_REQUIRE_KEYFRAME,
g_param_spec_boolean ("require-keyframe", "Require keyframe",
"Whether the first frame is required to be a keyframe",
DEFAULT_REQUIRE_KEYFRAME,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));

caps = klass->in_plugin->capabilities;
if (caps & (AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_SLICE_THREADS)) {
Expand Down Expand Up @@ -393,12 +400,14 @@ gst_ffmpegviddec_subinit (GstFFMpegVidDec * ffmpegdec)
ffmpegdec->output_corrupt = DEFAULT_OUTPUT_CORRUPT;
ffmpegdec->thread_type = DEFAULT_THREAD_TYPE;
ffmpegdec->std_compliance = DEFAULT_STD_COMPLIANCE;
ffmpegdec->require_keyframe = DEFAULT_REQUIRE_KEYFRAME;

GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_DECODER_SINK_PAD (ffmpegdec));
gst_video_decoder_set_use_default_pad_acceptcaps (GST_VIDEO_DECODER_CAST
(ffmpegdec), TRUE);

gst_video_decoder_set_needs_format (GST_VIDEO_DECODER (ffmpegdec), TRUE);
gst_video_decoder_set_needs_sync_point (GST_VIDEO_DECODER (ffmpegdec), TRUE);
}

static void
Expand Down Expand Up @@ -1935,6 +1944,8 @@ gst_ffmpegviddec_video_frame (GstFFMpegVidDec * ffmpegdec,
} else if (res < 0) {
GST_VIDEO_DECODER_ERROR (ffmpegdec, 1, STREAM, DECODE, (NULL),
("Video decoding error"), *ret);
gst_video_decoder_request_sync_point (GST_VIDEO_DECODER_CAST (ffmpegdec),
input_frame, GST_VIDEO_DECODER_REQUEST_SYNC_POINT_DISCARD_INPUT);
goto beach;
}

Expand Down Expand Up @@ -2111,8 +2122,6 @@ gst_ffmpegviddec_video_frame (GstFFMpegVidDec * ffmpegdec,
GST_TIME_FORMAT, tmp, tmp->system_frame_number,
GST_TIME_ARGS (tmp->pts), GST_TIME_ARGS (tmp->dts));
/* drop extra ref and remove from frame list */
GST_VIDEO_CODEC_FRAME_FLAG_UNSET (tmp,
GST_FFMPEG_VIDEO_CODEC_FRAME_FLAG_ALLOCATED);
gst_video_decoder_release_frame (dec, tmp);
} else {
/* drop extra ref we got */
Expand All @@ -2123,15 +2132,31 @@ gst_ffmpegviddec_video_frame (GstFFMpegVidDec * ffmpegdec,
g_list_free (ol);
}

av_frame_unref (ffmpegdec->picture);
if (ffmpegdec->picture->key_frame ||
ffmpegdec->picture->pict_type == AV_PICTURE_TYPE_I)
GST_VIDEO_CODEC_FRAME_SET_SYNC_POINT (output_frame);
else
GST_VIDEO_CODEC_FRAME_UNSET_SYNC_POINT (output_frame);

if (input_frame)
GST_VIDEO_CODEC_FRAME_FLAG_UNSET (input_frame,
GST_FFMPEG_VIDEO_CODEC_FRAME_FLAG_ALLOCATED);
GST_LOG_OBJECT (ffmpegdec, "output_frame: pict_type %d, key_frame %d -> sync %d",
ffmpegdec->picture->pict_type, ffmpegdec->picture->key_frame,
GST_VIDEO_CODEC_FRAME_IS_SYNC_POINT (output_frame));

if (gst_video_decoder_get_subframe_mode (GST_VIDEO_DECODER (ffmpegdec)))
gst_video_decoder_have_last_subframe (GST_VIDEO_DECODER (ffmpegdec),
output_frame);
av_frame_unref (ffmpegdec->picture);

if (ffmpegdec->requiring_keyframe) {
if (GST_VIDEO_CODEC_FRAME_IS_SYNC_POINT (output_frame))
ffmpegdec->requiring_keyframe = FALSE;
else
gst_video_decoder_request_sync_point (GST_VIDEO_DECODER_CAST (ffmpegdec),
input_frame, GST_VIDEO_DECODER_REQUEST_SYNC_POINT_DISCARD_INPUT);
}

/* FIXME: Ideally we would remap the buffer read-only now before pushing but
* libav might still have a reference to it!
Expand Down Expand Up @@ -2334,6 +2359,8 @@ gst_ffmpegviddec_handle_frame (GstVideoDecoder * decoder,
*/
GST_VIDEO_DECODER_STREAM_UNLOCK (ffmpegdec);
if (avcodec_send_packet (ffmpegdec->context, packet) < 0) {
gst_video_decoder_request_sync_point (GST_VIDEO_DECODER_CAST (ffmpegdec),
frame, GST_VIDEO_DECODER_REQUEST_SYNC_POINT_DISCARD_INPUT);
GST_VIDEO_DECODER_STREAM_LOCK (ffmpegdec);
av_packet_free (&packet);
goto send_packet_failed;
Expand Down Expand Up @@ -2379,6 +2406,8 @@ gst_ffmpegviddec_start (GstVideoDecoder * decoder)
ffmpegdec->picture = av_frame_alloc ();
GST_OBJECT_UNLOCK (ffmpegdec);

ffmpegdec->requiring_keyframe = ffmpegdec->require_keyframe;

return TRUE;
}

Expand Down Expand Up @@ -2656,6 +2685,8 @@ gst_ffmpegviddec_set_property (GObject * object,
break;
case PROP_STD_COMPLIANCE:
ffmpegdec->std_compliance = g_value_get_enum (value);
case PROP_REQUIRE_KEYFRAME:
ffmpegdec->require_keyframe = g_value_get_boolean (value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
Expand Down Expand Up @@ -2696,6 +2727,9 @@ gst_ffmpegviddec_get_property (GObject * object,
case PROP_STD_COMPLIANCE:
g_value_set_enum (value, ffmpegdec->std_compliance);
break;
case PROP_REQUIRE_KEYFRAME:
g_value_set_boolean (value, ffmpegdec->require_keyframe);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
Expand Down
3 changes: 3 additions & 0 deletions subprojects/gst-libav/ext/libav/gstavviddec.h
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,9 @@ struct _GstFFMpegVidDec
gint pool_height;
enum AVPixelFormat pool_format;
GstVideoInfo pool_info;

gboolean requiring_keyframe;
gboolean require_keyframe;
};

typedef struct _GstFFMpegVidDecClass GstFFMpegVidDecClass;
Expand Down
2 changes: 1 addition & 1 deletion subprojects/gst-libav/ext/libav/gstavvidenc.c
Original file line number Diff line number Diff line change
Expand Up @@ -960,7 +960,7 @@ gst_ffmpegvidenc_start (GstVideoEncoder * encoder)
ffmpegenc->need_reopen = FALSE;

ffmpegenc->picture = av_frame_alloc ();
gst_video_encoder_set_min_pts (encoder, GST_SECOND * 60 * 60 * 1000);
gst_video_encoder_set_min_pts (encoder, 0);

return TRUE;
}
Expand Down
10 changes: 6 additions & 4 deletions subprojects/gst-plugins-bad/ext/aes/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,22 @@ aes_sources = [
]

aes_cargs = []
aes_dep = dependency('openssl', version : '>= 1.1.0', required : get_option('aes'))
if aes_dep.found()
openssl_dep = dependency('openssl', version : '>= 1.1.0', required : get_option('aes'))
if openssl_dep.found()
aes_cargs += ['-DHAVE_OPENSSL']
else
subdir_done()
endif

winsock2_dep = cc.find_library('ws2_32', required : false)
gst_aes_deps = [gstpbutils_dep, gstvideo_dep, openssl_dep, winsock2_dep, gio_dep, libm]

gstaes = library('gstaes',
aes_sources,
c_args : gst_plugins_bad_args + aes_cargs,
link_args : noseh_link_args,
include_directories : [configinc],
dependencies : [gstpbutils_dep, gstvideo_dep,
aes_dep, gio_dep, libm],
dependencies : gst_aes_deps,
install : true,
install_dir : plugins_install_dir,
)
Expand Down
Loading