Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gstosxaudiodeviceprovider: add device change monitoring. #12

Open
wants to merge 339 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
339 commits
Select commit Hold shift + click to select a range
5634f9f
gstinfo: Make GST_DEBUG_PAD_NAME "MT crash safe" (for gcc)
Feb 26, 2015
e4c83d1
basetransform: Fix race when toggling passthrough
Mar 11, 2016
889ece6
bin: add disabled test documenting locked-state and base-time problems
havardgraff Dec 1, 2015
1b7c261
element: bin: add flag to skip uniqueness checking
havardgraff Jan 29, 2016
3e7e321
Add GST_EVENT_LATENCY_CHANGED
havardgraff May 6, 2016
d507068
gstinfo: Add option to log using system logger [pexhack]
Dec 4, 2015
9607167
check: Disable gst_deinit atexit [pexhack]
haaspors May 27, 2014
765fc05
filesrc: add simple loop functionality [pexhack]
stianse Feb 11, 2013
63ad4a9
Revert "info: re-eval GST_DEBUG env var for late categories"
Jan 10, 2017
bf14f83
gstbasetransform: fix for element going away while receiving a query
havardgraff Mar 31, 2017
518e437
libcheck: jump out on failure for CK_FORK=no
havardgraff Jun 6, 2017
bd2d4fb
pad: Warn when trying to link not compatible caps [pexhack]
Jun 14, 2017
41f65f5
Add priority queue implementation + tests
egraff Nov 2, 2016
b2e0ce9
gstaggregator: downgrade latency-warning to info
havardgraff May 3, 2020
509851f
systemclock: add conditional include for pthread.h
havardgraff May 4, 2020
db17425
gstdeviceprovider: added cleanup of hidden providers list
tbeloqui May 29, 2020
7ff541c
gstpad: warn not linked flow errors [pexhack]
floodkoff Jun 17, 2020
3fee370
funnel: temporary workaround for lost-events triggering sticky resend
havardgraff Mar 23, 2021
3bce75a
helpers/gst_gdb: fixes to printing of GstStructures
w-miller Apr 26, 2021
f775289
tests/element: test to show releasing request-pads is unsafe
havardgraff Apr 30, 2021
2ab1125
.gitignore: ignore __pycache__ directory
w-miller Jun 16, 2021
0e368a1
gst: don't error out on already deinit GStreamer
havardgraff Sep 15, 2021
3998eee
Use refcounting for gstclockid instead of weakref
frederik-vestre-pexip Aug 20, 2021
8684d3d
check: add missing suppresion for debug function list
camilo-celis Sep 11, 2021
03cec0b
rtpbasepayload: set DEFAULT_PERFECT_RTPTIME to FALSE
havardgraff Jul 14, 2015
5d68069
audiodecoder: Degrade warnings
havardgraff Mar 14, 2016
ccd66b7
Revert "videopool: ensure allocation alignment is consistent with vid…
Feb 2, 2016
331e34f
Revert "Revert "audioencoder: timestamp headers same as first buffer …
havardgraff Feb 4, 2016
af92614
rtppayloads: Change dynamic payload type to [0,127] [pexhack]
Jul 28, 2014
b5d6408
audiodecoder: don't ask for concealment for 0-duration gaps
havardgraff Jun 18, 2017
de9f815
[pexhack] videorate: enable drop-only when possible
camilo-celis Jan 21, 2019
309a3cd
[pexhack] gst-libs/gl/meson: disable -fobjc-arc check for now [pexhack]
havardgraff Sep 17, 2019
9b4769d
[pexhack] Revert "videoencoder: Use video marker flag to signal end o…
havardgraff Jan 28, 2020
ac21e71
[pexhack] rtp/test: temporarly comment out ASSERT_CRITICAL
camilo-celis Mar 26, 2021
390f162
rtpbuffer: conversions between video ROI meta and RTP extension header
havardgraff Apr 7, 2020
d90bd29
rtpbuffer: add buffer-flags to mark media-type audio and video
havardgraff May 13, 2020
9fe8cec
rtcpbuffer: allow Padding bit for non-compound packets
havardgraff Mar 18, 2021
bc6f6f1
videodecoder: added detect-reordering property.
tbeloqui Apr 21, 2021
d08b818
audiodecoder: [pexhack] allow setting reported latency as a property
havardgraff Apr 21, 2021
b80ee28
gstrtpbuffer: added GST_RTP_BUFFER_FLAG_ULPFEC flag to mark ULPFEC pa…
tbeloqui May 31, 2021
a2b757e
test/rtp: warningfixes
havardgraff Sep 2, 2021
3e5e7e0
rtpbasedpayload: add "ignore-gaps" property
havardgraff Feb 1, 2021
6b623a2
rtpbasedepayload: set the GAP_FLAG_MISSING_DATA when there is actual …
havardgraff Sep 10, 2021
d76a6d9
videodecoder: only convert to running time if the input_segment is valid
havardgraff Sep 27, 2021
48bc94b
speexenc: Don't set lookahead
havardgraff Aug 28, 2015
2d876e6
speexdec: Handle streamheaders in caps/buffers better
havardgraff Sep 23, 2015
8fbb843
speexenc: Fix segment before caps event when draining
Sep 26, 2016
957e9f8
flvdemux: Make "no-more-pads-threshold" a property
havardgraff Mar 26, 2016
df02d6c
flvdemux: Set no-more-pads-threshold default to -1 [pexhack]
havardgraff Mar 26, 2016
a059176
flvmux: [pexhack] lower backwards-dts warning to info
havardgraff Feb 8, 2019
af2af89
rtpmux: Limit sequence number to half G_MAXUINT16 [pexhack]
haaspors Jun 30, 2014
31e411a
rtpmux: fix test warnings
havardgraff Feb 12, 2020
650047f
rtpssrcdemux: avoid the log spam [pexhack]
Sep 14, 2016
402430c
vpx: Build SIMD-ified vpx plugin if available [pexhack]
May 29, 2015
d88a53b
vpxenc: Enable rate limit force keyframes events [pexhack]
Jun 23, 2014
3dbfdc4
vpxenc: Add tile-columns and tile-rows properties
May 12, 2017
ec95602
gstvpxenc: fix auto bitrate functionality v2
Jul 7, 2020
94d39d2
vpxdec: Add property "direct-rendering"
Nov 4, 2016
f17b074
vpxdec: Fix direct rendering, don't hold write access
havardgraff May 22, 2019
67db54d
vpxdec: allow VideoRegionOfInterestMeta
camilo-celis Sep 25, 2020
1495c43
speexenc: don't send silly segments mid-stream [pexhack]
havardgraff May 25, 2018
8aa3d22
rtph263ppay: remove annex-? fields in caps if not present [pexhack]
haaspors Jun 16, 2014
483069b
rtpg722pay: rtpg722depay: Change payload type to dynamic [pexhack]
Jul 28, 2014
535ea12
rtph263: Fix test to use latest avenc encoder properties
Jan 7, 2019
81aedeb
multiudpsink: downgrade WARNING to INFO
havardgraff Oct 2, 2018
18b5d1f
qtdemux: initialize variable to stop warning
havardgraff Apr 12, 2018
9882be2
qtdemux: fix leak in Opus caps
camilo-celis Jan 9, 2019
3e77291
qtdemux: Expose max raw audio samples per buffer as a property, rever…
rdharrison2 Oct 9, 2019
d827590
vp9enc: if VP9E_SET_ROW_MT is not available, don't use it
havardgraff Aug 11, 2021
eacebb7
rtpvp8depay: pexip changes
havardgraff Aug 23, 2021
b56a04d
vp9enc: disable VP9E_SET_COLOR_SPACE for now
havardgraff Aug 27, 2021
d3fad19
rtpvp9depay: revert to pexip-changes (for now)
havardgraff Sep 2, 2021
27d8bed
rtph261depay: don't set the DELTA_UNIT flag for H.261
havardgraff Sep 20, 2021
438f1d3
vpxenc: move temporal-scalability-layer to GValueArray
havardgraff Sep 20, 2021
44ad64c
[pexhack] find out about -objc-arc stuff
havardgraff Oct 24, 2019
6a85b24
gstgdiscreencapsrc: added window property
tbeloqui Jun 26, 2020
970f572
SCTP: expose gi bindings
jmb202 Mar 15, 2019
042bde3
SCTP: expose gi bindings for send meta
jmb202 Mar 26, 2019
0d40e04
SCTP: increase default streams to 65535
jmb202 Mar 26, 2019
f65a77c
SCTP: remove unnecessary preprocessor definitions
jmb202 Aug 14, 2019
80f265f
SCTP: add property to tweak heartbeat configuration
jmb202 Aug 14, 2019
267f98c
SCTP: change state on connection lost.
jmb202 Aug 14, 2019
e7f0760
SCTP: change state on shutdown
jmb202 Aug 15, 2019
10e821a
SCTP: record association id on connection.
jmb202 Aug 15, 2019
eaecb6b
SCTP: set association id when resetting streams
jmb202 Aug 15, 2019
31fe441
SCTP: require lock to be held before changing state
thomas-pexip Aug 25, 2021
9fc44af
SCTP: only reset streams in connected state
jmb202 Aug 16, 2019
aec3041
SCTP: factor out association changed event handlers
jmb202 Aug 16, 2019
c67e80b
SCTP: reset association when disconnected
thomas-pexip Aug 26, 2021
2781acc
SCTP: permit starting association when disconnected
jmb202 Aug 16, 2019
f0c605a
SCTP: expose a reconnect action
jmb202 Aug 16, 2019
3e8f247
SCTP: emit signal when association is restarted
jmb202 Aug 16, 2019
2e62974
SCTP: apply aggressive heartbeat using setsockopt
jmb202 Aug 17, 2019
aeb6f6a
SCTP: handle reconnect race
jmb202 Aug 17, 2019
1582ba1
SCTP: add action for explicit disconnection
jmb202 Aug 17, 2019
0e7489b
SCTP: move handle_sctp_comm_lost_or_shutdown
jmb202 Aug 18, 2019
2433d88
SCTP: shutdown stream sockets
jmb202 Aug 18, 2019
61e962f
SCTP: delay sctp-association-established(FALSE)
jmb202 Sep 18, 2019
bc3fca3
SCTP: isolate sticky events on sctpdec src pads
jmb202 Sep 19, 2019
0f16ca2
SCTPDec: ignore buffers pushed after cleanup
jmb202 Sep 19, 2019
5f58ed9
SCTP: add missing declaration
jmb202 Sep 24, 2019
8f87415
SCTP: track association validity
jmb202 Sep 24, 2019
dd064a5
SCTP: dispose associations
thomas-pexip Aug 26, 2021
dd545cb
SCTP: unref association in dispose
jmb202 Sep 24, 2019
3596f65
usrsctp: port pexip/usrsctp 'Fix deadlock during shutdown'
thomas-pexip Aug 18, 2021
0ad6119
usrsctp: port pexip/usrsctp 'Forcibly cancel iterator thread'
thomas-pexip Aug 18, 2021
1c0d67b
usrsctp: port pexip/usrsctp 'Remove iterator thread'
thomas-pexip Aug 18, 2021
fa8bcc9
usrsctp: port pexip/usrsctp 'init_random rename to init_usrsctp_rando…
thomas-pexip Aug 18, 2021
07d7841
SCTP: Downgrade data on disconnect log message
thomas-pexip Sep 16, 2021
4afd894
SCTP: retry after failure to bind with EADDRINUSE
thomas-pexip Sep 17, 2021
1169ac9
SCTP: Fix deadlock during usrsctp_shutdown or usrsctp_close (2)
thomas-pexip Oct 6, 2021
bda403c
SCTP: disconnect-reconnect association in unexpected state
thomas-pexip Oct 6, 2021
4af7924
SCTP: On EADDRINUSE increase retries for usrsctp_bind
thomas-pexip Dec 16, 2021
fd8f95d
SCTPDec: don't unref NULL association
w-miller Jun 21, 2022
7df38fc
SCTP: moving the removal of the associations from dispose() to finali…
tbeloqui Aug 3, 2022
2728b24
SCTP: fixing pthread_mutex_destroy call on a destroyed mutex
tbeloqui Sep 23, 2022
02d44da
SCTP: refactoring encoder and decoder
tbeloqui Sep 27, 2022
1c50070
SCTP: fixed race condition and memory leak
tbeloqui Sep 28, 2022
2754bf7
SCTP: add the srcpad to the sctpdec element before activing it
tbeloqui Sep 29, 2022
15560e4
SCTP: build with invariants checks in
tbeloqui Dec 19, 2022
1772f97
SCTP: added null checks
tbeloqui Nov 28, 2022
9e9e3ef
SCTP: cleaned up code in gst_sctp_association_change_state
tbeloqui Nov 28, 2022
61dfeb9
SCTP: applied gst-indent
tbeloqui Nov 28, 2022
36109e6
SCTP: ensure thread-safe access in gst_sctp_association_reset_stream
tbeloqui Nov 28, 2022
3a17d69
SCTP: access sctp_ass_sock with a lock in gst_sctp_association_send_data
tbeloqui Nov 28, 2022
346c98b
SCTP: removed manual counting of associations, use the hash table dir…
tbeloqui Nov 28, 2022
986ddde
SCTP: replace g_object_bind_property with g_object_set
tbeloqui Dec 20, 2022
1fa6536
gst-plugins-base/rtpdummyhdrextimpl: unused variable
havardgraff Sep 30, 2021
a8bf667
bytewriter: fix msvc warnings
havardgraff Oct 6, 2021
0d026dc
[pexhack] re-add gst_debug_syslog option
w-miller Oct 8, 2021
d026933
gstharness: make removal of peer pad thread safe
thomas-pexip Sep 15, 2021
4b1022c
gstharness: Limited support for bufferlists.
frederik-vestre-pexip Jan 24, 2022
d43b460
gstreamer/harness: make pull timesout configurable
camilo-celis Mar 18, 2022
576cbdb
rtprtxsend: add "limiting" and "stuffing"
havardgraff Mar 31, 2022
60a443e
rtprtxsend: fixed copying twcc ext-hdr if present
tbeloqui Apr 6, 2022
e63b545
[pexhack] rtphdrextroi: tmp support of multiple roi-types
camilo-celis Oct 28, 2021
3cff5dc
gstelement: log warning when pad name doesn't match any template
w-miller Dec 14, 2021
7919314
check: Fix valgrid suppresion for debug function list
amberik1 Dec 20, 2021
44f5594
gst/gst_gdb: allow doing a gst-dot of a local bin
camilo-celis Mar 1, 2022
b728829
gstvideodecoder: set all-headers to TRUE in the GstForceKeyUnit when
tbeloqui Mar 14, 2022
779c3cc
gstgdiscreencapsrc: fixed type conversion
tbeloqui Apr 8, 2022
cfebf20
gstglcolorconver: only set target target texture if any
camilo-celis Apr 18, 2022
51beb4e
gstglcolorconvert: fix possible out of bounds read
camilo-celis Apr 18, 2022
d5b29f2
meson: [msvc] only add warnings 4013, 4101 and 4189 if glib_checks is
tbeloqui Apr 8, 2022
6750618
rtprtx: add test to copy custom RoI ext-hdr
camilo-celis May 26, 2022
78fbedc
rtprtx: fix copying ext-hdr if present
tbeloqui Apr 6, 2022
937d853
libcheck: use SIGABRT instead of SIGKILL on timeout
camilo-celis Jun 11, 2022
5ee60ed
ahc2src: Introduce a new source for Android Camera 2 NDK API
havardgraff Apr 25, 2022
3b47360
androidmedia: added gstacamdeviceprovider
tbeloqui May 25, 2022
45af5dc
gstamdeviceprovider: added audio device provider for android
tbeloqui May 31, 2022
5e51904
gstamdeviceprovider: fixed a race condition in which the callback would
tbeloqui Jun 29, 2022
76e1b8b
applemedia/vtenc: fix deadlock
havardgraff Jul 3, 2022
79d1c11
applemedia/avaudiodeviceprovider: initial commit
tbeloqui Jul 26, 2022
b6d3bd2
winks/ksvideohelper: do not throw a warning if the media type is not
tbeloqui Aug 9, 2022
6b99618
gstpad: gst-indent
havardgraff Aug 22, 2022
f0a6413
gstpad: PEXHACK: log chain(list)funcs that take longer than 100ms
havardgraff Sep 2, 2022
9f5eb5e
ahc2src: cleanups and fixes
havardgraff Aug 26, 2022
dfec920
amcvideoenc: fix mess around level and profile for H.264
havardgraff Aug 30, 2022
22b5f49
ahc2src: improve the memory-handling of AImage to GstBuffer
havardgraff Aug 30, 2022
0808260
vpxenc: FIXME: revert upstream changes
havardgraff Sep 5, 2022
e00f4c1
rtpsession: FIXUP don't set running_time to -1 for no latency
havardgraff Sep 7, 2022
02b7a4d
rtpsession: don't report same stats twice
havardgraff Sep 23, 2022
fda2a31
vtenc: PEXHACK don't do B-frames from encoder if we can help it
havardgraff Sep 9, 2022
46db001
gstclock: FIXUP removal of weakref
havardgraff Sep 26, 2022
9810d5e
gstelement: do not hold the element lock when activating the pad in
tbeloqui Sep 29, 2022
7372adf
androidmedia: populate devices list before starting the GstAcamDevice…
tbeloqui Oct 6, 2022
7455be5
gstahc2src: added camera_status_t logging
tbeloqui Oct 6, 2022
738bba9
amdeviceprovider: fixing device-id property default value
tbeloqui Oct 10, 2022
be426fe
gstleaks: add "objects-alive-list" to the checkpoint
havardgraff Oct 14, 2022
1ac91a8
vp9dec: don't offer 10bit if libvpx does not support it
havardgraff Oct 17, 2022
929cde4
PEXHACK: revert gstvideorate to old version
havardgraff Oct 23, 2022
cf5e506
gstleaks: FIXUP remove unused variable
havardgraff Oct 27, 2022
b543bd0
gstamc: downgrading unsupported and unknowns messages to DEBUG
tbeloqui Oct 26, 2022
789deef
gstamc-codec-jni: added NULL check before unrefing codec->surface
tbeloqui Nov 1, 2022
e607042
gstamcvideoenc: avoid flushing the encoder twice if we have already f…
tbeloqui Nov 1, 2022
d2734c0
ahc2src: logging camera error messages
tbeloqui Nov 3, 2022
b607c4c
ahc2src: add PROP_EXPOSURE_MODE stub to avoid error of not implementing
tbeloqui Nov 3, 2022
74a4076
gstvalue/test: initialize unset string
camilo-celis Nov 17, 2022
a29601a
gstv4l2deviceprovider: return the device list in the same order of
tbeloqui Nov 21, 2022
1eee1bd
Media: Try to improve locking for gstvideoencoder
frederik-vestre-pexip Nov 21, 2022
8a581c7
More videoenc lock fixes
frederik-vestre-pexip Nov 24, 2022
40049d1
gstvideorate: Fix of buffer duration.
amberik1 Dec 7, 2022
7086392
Build MoltenVK for iOS and macOS
vadymmarkov Nov 25, 2022
6a3e000
video-info: PEXHACK reduce warning levels for spammy log
havardgraff Dec 16, 2022
c690b92
multiudpsink: use "current-time" not "running-time" for TWCC
havardgraff Dec 9, 2022
96653f3
Revert "gstpad: PEXHACK: log chain(list)funcs that take longer than 1…
havardgraff Jan 23, 2023
8cb6ec8
gst-plugins-base/playback: scanbuild fixes
tbeloqui Feb 6, 2023
896f377
rtprtxsend: introduce stuffing-max-burst-packets and use padding
havardgraff Feb 14, 2023
a401ca2
funnel: only forward events on active pads
havardgraff Feb 28, 2023
d0944d2
gstaudiodecoder: implemented DTX API
tbeloqui Feb 23, 2023
dde703b
SCTP: fixed scanbuild logic issues in user_mbuf.c
tbeloqui Jan 27, 2023
5a82caf
SCTP: refactor to fix encoder use-after-free bug
tbeloqui Feb 3, 2023
12fcc25
SCTP: do not assert on the decoders pad, as the association might be
tbeloqui Mar 21, 2023
10fc1f3
SCTP: changes to handle usrsctp bugs
tbeloqui Mar 23, 2023
11413bd
SCTP: removed extra assertion on association id
tbeloqui Mar 24, 2023
e96e7f9
SCTP: do not hold the association mutex when calling GstSctpAssociati…
tbeloqui Mar 29, 2023
94ef9d7
Revert "SCTP: do not hold the association mutex when calling GstSctpA…
tbeloqui Apr 3, 2023
053406a
SCTP: acquire lock in gst_sctp_association_incoming_packet()
tbeloqui Aug 11, 2023
65f313c
SCTP: removing usrsctp_shutdown() call, usrsctp_close() should have
tbeloqui Jun 22, 2023
1a7dab1
rtpopuspay: pass buffer offset to base_payload_push
w-miller Apr 21, 2023
8af883b
rtpbasedepayload: set default buffer offset based on RTP timestamp
w-miller Apr 21, 2023
3df6fbd
rtpbasedepayload: test: correct order of fields
camilo-celis May 4, 2023
b60aec9
vp8pay: dont store partition_size
camilo-celis May 24, 2023
8aa1eb4
vp8pay: introduce new property parse-frame
camilo-celis May 24, 2023
6950986
vp8pay: add additional comments around bitstream parsing
camilo-celis May 24, 2023
d8ca504
vp8pay: use DELTA_UNIT buffer flag know a frame type
camilo-celis May 24, 2023
374c8b2
rtpvp9pay: add parse-frames property
w-miller May 24, 2023
88699e5
check: compile libcompat when building statically
havardgraff Jan 31, 2023
cc150b0
ahc2src: add proper GstVideoMeta to the buffers
MishaBaranov Mar 8, 2023
fe72f6a
glshader: unlock before notify, and use dispose instead of finalize
havardgraff Mar 20, 2023
47fbedc
glupload: use attached buffer-alignment when uploading a VideoFrame
havardgraff Mar 20, 2023
649dbf9
amcvideoenc: default to -1 as I_FRAME_INTERVAL_DEFAULT
havardgraff Apr 12, 2023
829dca4
amcvideoenc: various fixes
havardgraff Apr 18, 2023
00239be
gstamc: various fixes
havardgraff Jun 2, 2023
47f9d64
gstreamer-full-static: fix plugins option parse for Windows
tbeloqui Apr 24, 2023
58c3aa9
netsim: introduce throttling
havardgraff Feb 22, 2023
bb2d5fa
netsim: improvements to the token bucket algorithm for limiting bw
havardgraff May 8, 2023
b4a091d
gst: use GST_API to properly import/export functions in gstevent and …
tbeloqui May 4, 2023
329d035
rtpvp8pay: don't payload partitions when forced not to parse the frame
camilo-celis Jul 4, 2023
59a1d23
audiodecoder: do not account for upstream latency when producing DTX …
tbeloqui Jul 11, 2023
a112f47
gstahcsrc: override GST_PHOTOGRAPHY_PROP_EXPOSURE_MODE property
tbeloqui Jul 12, 2023
8bb0ac2
gstamcvideoenc: fixed minimum value for PROP_I_FRAME_INTERVAL_FLOAT
tbeloqui Jul 12, 2023
da9d8f7
applemedia/vtenc: reset the encoder session if we fail to encode a frame
tbeloqui Aug 29, 2023
463649e
rtpvp9pay: extract resolution from sink caps (#9)
camilo-celis Aug 30, 2023
14fe9e1
vulkan: fix building for simulator
vadymmarkov Aug 31, 2023
bbbd633
vulkan: set default value for needs_exe_wrapper external property
vadymmarkov Aug 31, 2023
363ed96
vulkan: implemented set_window_handle in gstvkwindow_cocoa
tbeloqui Sep 5, 2023
cbb4bb9
vulkan: removed extra log
tbeloqui Sep 6, 2023
241072e
vulkan: gstvkwindow_cocoa use _gst_vulkan_cocoa_invoke_on_main rather
tbeloqui Sep 6, 2023
a9e447d
vulkan: fixed main thread checker warning
tbeloqui Sep 7, 2023
e383c8b
gstaes: fixed missing symbols and rework on dependencies
tbeloqui Sep 11, 2023
ac947d3
gstvkwindow: do not depend on close signal handlers to close the window
tbeloqui Sep 11, 2023
556f447
PEXHACK: remove 'medias' from gst-integration-testsuites
havardgraff Oct 1, 2023
4d56783
VPX: FIXUP: ISA BASED BUILD SYSTEM FOR LIBVPX
havardgraff Oct 1, 2023
393023d
FIXUP: VPX: we can't do vpx isa as a static library for now
havardgraff Oct 2, 2023
edd5970
avvidenc: start PTS from 0
havardgraff Oct 14, 2023
51e46df
avviddec: request sync point on decoding errors
havardgraff Oct 13, 2023
3af68bb
gstvkwindow: fixup, use _gst_vk_invoke_on_main
tbeloqui Oct 30, 2023
cb59c98
applemedia/vtenc: fix deadlock on shutdown
havardgraff Nov 15, 2023
7275804
avviddec: fixup on missing break after PROP_STD_COMPLIANCE
tbeloqui Nov 27, 2023
8156c71
basetransform: cache in- and outcaps
havardgraff Nov 29, 2023
2c8f6d9
v4l2src: attempt to set the current camera format after open is called
tbeloqui Dec 1, 2023
5032eec
gstreamer/libs/base: initial commit of GstBaseIdleSrc
havardgraff Mar 9, 2022
b6d7ddf
baseidlesrc: FIXUP gsize instead of guint
havardgraff Dec 2, 2023
149f565
mfvideosrc: added logic to read a frame to verify the src can access the
tbeloqui Dec 4, 2023
ae2f629
gstwasapi: add device is-default info.
bitflows Dec 8, 2023
4b76b61
Revert "avfvideosrc: Don't wait on main thread for permissions request"
bitflows Dec 11, 2023
823030e
gstosxaudio: add device is-default info.
bitflows Dec 15, 2023
b00affa
gstosxaudio: fix type in previous commit.
bitflows Dec 15, 2023
1ec928e
gstosxaudiodeviceprovider: add device change monitoring.
bitflows Dec 18, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -67,3 +67,6 @@ subprojects/*/

# clangd integration
.cache/*

# 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
3 changes: 2 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 Down Expand Up @@ -93,7 +94,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 121f89
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 @@ -295,6 +297,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 @@ -351,12 +358,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 @@ -1792,6 +1801,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),
frame, GST_VIDEO_DECODER_REQUEST_SYNC_POINT_DISCARD_INPUT);
goto beach;
}

Expand Down Expand Up @@ -1942,8 +1953,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 @@ -1954,15 +1963,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 (out_frame);
else
GST_VIDEO_CODEC_FRAME_UNSET_SYNC_POINT (out_frame);

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

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

if (ffmpegdec->requiring_keyframe) {
if (GST_VIDEO_CODEC_FRAME_IS_SYNC_POINT (out_frame))
ffmpegdec->requiring_keyframe = FALSE;
else
gst_video_decoder_request_sync_point (GST_VIDEO_DECODER_CAST (ffmpegdec),
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 @@ -2158,6 +2183,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_side_data (&packet);
goto send_packet_failed;
Expand Down Expand Up @@ -2209,6 +2236,8 @@ gst_ffmpegviddec_start (GstVideoDecoder * decoder)
ffmpegdec->context->opaque = ffmpegdec;
GST_OBJECT_UNLOCK (ffmpegdec);

ffmpegdec->requiring_keyframe = ffmpegdec->require_keyframe;

return TRUE;
}

Expand Down Expand Up @@ -2486,6 +2515,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 @@ -2526,6 +2557,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 @@ -94,6 +94,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 @@ -932,7 +932,7 @@ gst_ffmpegvidenc_start (GstVideoEncoder * encoder)
return FALSE;
}

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