mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-06-10 10:09:28 +00:00
Compare commits
735 commits
Author | SHA1 | Date | |
---|---|---|---|
20db3369d3 | |||
81de6b7738 | |||
f7c8f4bb26 | |||
e2b1730398 | |||
9e3b1cfc49 | |||
fe737fc274 | |||
b6d03432b4 | |||
e925f22f33 | |||
a1463637e0 | |||
afb62e98c7 | |||
6fb0c7b928 | |||
a17957a7c8 | |||
441e71d1ff | |||
a6a1fd03cc | |||
400c379c3d | |||
542fa9be89 | |||
4f94749665 | |||
df33ae2da6 | |||
21ee264d65 | |||
b9633cb766 | |||
bdeabcc4a6 | |||
11f96ce4dd | |||
c14a2d7d6d | |||
d024ee4303 | |||
cfb59df83e | |||
6c4f52ea20 | |||
013026b06a | |||
a7a70ca7b6 | |||
5e182c911c | |||
9ca8f16a3b | |||
5b471311c5 | |||
346df4cb3f | |||
9b60b32cf8 | |||
e65344afac | |||
e73e34fd6f | |||
966c39b92e | |||
2b76f36843 | |||
c56a87b73d | |||
5d2421b8c8 | |||
7bbf5fd801 | |||
c3f3fd7351 | |||
cb95ba72cf | |||
fd21d97060 | |||
31047b878f | |||
e9cefde479 | |||
686d980955 | |||
1f4c1c18ca | |||
fe1a7edda2 | |||
907aca399f | |||
82b7850c2f | |||
73cb87de4e | |||
e3f086c648 | |||
deaa0aef79 | |||
236d6714ec | |||
94646c642d | |||
c987eaa427 | |||
96cf3d7063 | |||
ec11bb8253 | |||
859b1c8b63 | |||
529f2472b3 | |||
79312357a6 | |||
5b1bc0f19f | |||
5fe7803128 | |||
bb6d737a1e | |||
a4dfca3ae4 | |||
05f9eadcaf | |||
c1b1c849f2 | |||
c924e4cc1e | |||
5bc9883d68 | |||
81fd460c90 | |||
3e810a6721 | |||
9a7f455aea | |||
d2b3262b71 | |||
8b6e7a018c | |||
836bca461a | |||
7d49b1cc51 | |||
81c42ee14b | |||
1126c1d90e | |||
b850a658ed | |||
9156b373e6 | |||
df8c29e340 | |||
95a0649945 | |||
8bfba72ea4 | |||
158f12b5da | |||
b30671a8ee | |||
3eb22af88b | |||
d8dabf142f | |||
155c3fb3b2 | |||
7d0c7144ba | |||
4421c3de75 | |||
4b0e75a094 | |||
70a435c0c4 | |||
4612a6795a | |||
2aa1f465e2 | |||
39f62862d8 | |||
daa022b9ee | |||
c4b625a3fe | |||
bfb64f7f44 | |||
39f2d96105 | |||
48cbb1c96f | |||
3acb219b76 | |||
1ab0936196 | |||
ec468e9524 | |||
49cd8213bf | |||
faaedd2bb9 | |||
a96c761ed7 | |||
ceeea8afd6 | |||
fc96e29606 | |||
1185a560c2 | |||
b825b3547c | |||
f7207c24ff | |||
8fd4502ebc | |||
aeea856f4e | |||
17e385a6ff | |||
c0c62388a3 | |||
dadaa33749 | |||
2a58e6de8f | |||
1c5e1798b6 | |||
7b547e044c | |||
b792b558ce | |||
a7908b05da | |||
299a000917 | |||
47087e1243 | |||
0b17b17a8a | |||
1c88b06912 | |||
354623a246 | |||
8bff6b4988 | |||
1f12493787 | |||
ecf852d529 | |||
4a88137b2f | |||
84aecab150 | |||
4d779d7de8 | |||
c051982c0f | |||
562cecaef4 | |||
d1c81cbd79 | |||
8bd1a3213e | |||
ea0dce26e0 | |||
e913b4870a | |||
417e784463 | |||
f47a198977 | |||
2f2279abf4 | |||
e813ea8367 | |||
fece9235a2 | |||
fbc968d06c | |||
f82a512387 | |||
cd606696a6 | |||
1a8e7aa92d | |||
0f8b599ded | |||
4c27a2d5eb | |||
f6d3aca076 | |||
8dac641889 | |||
96939db249 | |||
b0b185112d | |||
477beab403 | |||
2dd4a7c6df | |||
2f03afd8ba | |||
85fa81c7c8 | |||
b7357fd316 | |||
bf97b2fe56 | |||
453a6f1800 | |||
03febb5048 | |||
0f342da7f6 | |||
64133b40a7 | |||
b8a8eacdb2 | |||
e56d3d3e07 | |||
87ec3bd399 | |||
5be3f255b0 | |||
f4fdae1ce0 | |||
afc1eadfdc | |||
a3a3264f02 | |||
0233a2a7cf | |||
a564440020 | |||
51c2030efd | |||
7a03813ee9 | |||
941d0c417f | |||
ba2b053444 | |||
47db542689 | |||
fe25ed22e1 | |||
a73474827b | |||
556a254e59 | |||
0694c4a1c3 | |||
9e2f0ea8dc | |||
2ec51dab7d | |||
933a155b1a | |||
210487b50a | |||
b01305f60c | |||
0a2e0a4f64 | |||
8ea355e52c | |||
f8246327ef | |||
4f33bc8932 | |||
15c24abf5d | |||
da019bf137 | |||
b74422dcbc | |||
0ffbe20d31 | |||
60637b96c8 | |||
ff6d6e1b3c | |||
cfd92819d9 | |||
aab2f59d02 | |||
f858179d01 | |||
ea015bea61 | |||
c6957d7a36 | |||
0e3e688bed | |||
64cac1ed99 | |||
fc3f5a2f09 | |||
7211e3fffd | |||
9d23c26027 | |||
07dceabdfc | |||
869b6f2968 | |||
99b1f5ddd2 | |||
63d58fcebf | |||
a4514c5458 | |||
399b147d90 | |||
d68ac0db57 | |||
f982b94cd9 | |||
e049013db7 | |||
fcd7807de8 | |||
19bc0da824 | |||
da35ed6916 | |||
a9378c048e | |||
5d7d3c6c0f | |||
06cd4e2457 | |||
9e58fa49f1 | |||
0ef396359c | |||
c9af1d486a | |||
Rafael Caricio | 6fd1900d54 | ||
efba52fcba | |||
1c87cda56d | |||
41f8276c2b | |||
9acf4fc139 | |||
73c64e8182 | |||
5320514076 | |||
1b1593568f | |||
66c1383051 | |||
c8d01d7d1a | |||
ae989e8cee | |||
f340429681 | |||
20ebf6bbb9 | |||
ddb9b9d9ca | |||
2bcbbe0d0a | |||
27041bf9e9 | |||
c9a79b7387 | |||
9d703439f1 | |||
b628f1bc8f | |||
8f5325ed11 | |||
35165da586 | |||
9f5bb30d3a | |||
7f4c0e6fb1 | |||
d5734159d1 | |||
e6b9a45bfe | |||
ec42cedf63 | |||
bfb7cf7d0b | |||
10ce5a6857 | |||
dd3344fd2e | |||
0c81d1a1e7 | |||
477fea97b4 | |||
184d94305c | |||
674e643428 | |||
9480197377 | |||
e68eccff10 | |||
a92167ea6e | |||
59e17fa931 | |||
9c10726ae1 | |||
ae68d9dda5 | |||
d06b12c6f1 | |||
b66834787c | |||
c013b03a19 | |||
4d1a48c9e9 | |||
eec64e372b | |||
b1a45b527a | |||
777c8a9b15 | |||
9ad6a9b942 | |||
c02af39026 | |||
cb20a371c2 | |||
84f4068036 | |||
46131f0cb0 | |||
19932cf178 | |||
b7844ef307 | |||
a05961ab7b | |||
e29655e9ca | |||
3e08cdeebe | |||
2c203e0d40 | |||
2a14793ee1 | |||
c95725bb79 | |||
87f43c25cc | |||
478e49dd73 | |||
d8aa2eea83 | |||
ebb64dfd0d | |||
00924d4820 | |||
ae5361b7fa | |||
8d0a1a0c56 | |||
9bd73987f6 | |||
b8871c87a2 | |||
f68bc7f49a | |||
d7eeb62f38 | |||
753aeccde7 | |||
7074849c5c | |||
f0ef33d018 | |||
1f8accbc8d | |||
7f47dba299 | |||
1f080391ed | |||
18c32272bd | |||
668b395a38 | |||
547e2899d1 | |||
7eb08feeee | |||
8737b9ca84 | |||
ff7b41ac86 | |||
be7ba5ac51 | |||
4ac46ce82b | |||
364d0ff45d | |||
e7598ed521 | |||
49f9a1e224 | |||
83694a1094 | |||
472d1b52d3 | |||
d2c8593b2e | |||
f62574cb5f | |||
d72d79d85a | |||
490deafcbe | |||
a12881e2e4 | |||
7b81d081ad | |||
2aba1c86e9 | |||
a7d0b07406 | |||
9e4cb46bd4 | |||
560dc511f7 | |||
5d705ed923 | |||
ad8c42ba06 | |||
b3c9f598aa | |||
131679b9d0 | |||
cecb0f2148 | |||
27c02a0b80 | |||
0f5f170a40 | |||
376aaa828d | |||
049665ccaa | |||
4e5a54612e | |||
6b43e4e19f | |||
deddcbdc66 | |||
a3f8f036fe | |||
700c00eda3 | |||
b9e51facdd | |||
6d228c420c | |||
9fd0f44492 | |||
8fb96253be | |||
40f7d7f1f7 | |||
b12b04eeef | |||
6efeeb8300 | |||
b9feb47de5 | |||
926d5366b9 | |||
8e0046a738 | |||
13e17b9149 | |||
5179cbccfa | |||
045c9ac6b9 | |||
cd97275a19 | |||
8e4fe98361 | |||
824c70d35a | |||
dabce9635d | |||
6659bd6362 | |||
a032c1e1bd | |||
37b60e5354 | |||
d42ee6e48c | |||
ba443e7a64 | |||
e0def6b355 | |||
e1910d2be1 | |||
4dfdaf67db | |||
750d53d7e0 | |||
b8db473955 | |||
5d876ff774 | |||
46a41667a3 | |||
f33ce4fe8b | |||
e34f765a7e | |||
a342d14ba9 | |||
526f00b07f | |||
388ad9e574 | |||
38d60c9f43 | |||
9b43892f6e | |||
47029ca9de | |||
49dee23e65 | |||
83b1feb4f8 | |||
a2254a4968 | |||
26acd70c74 | |||
686f74e4a4 | |||
b46383bf5e | |||
cbc58c0483 | |||
8d003f00e9 | |||
ac40e6b592 | |||
8564118d2a | |||
105d232fde | |||
e1f5bacf8d | |||
a7fe79c4de | |||
60ac6d0883 | |||
97d4c56c8f | |||
15434ce51d | |||
f6ec4e6256 | |||
13d892d336 | |||
b242f5d2ec | |||
cb670f8110 | |||
8b88fcd18b | |||
073d8fc52a | |||
e597dcdf0d | |||
d00d8fff6b | |||
111cc8d796 | |||
bd83046193 | |||
73ce4fd770 | |||
3f90dca733 | |||
d002acdd0c | |||
c4e0d19f13 | |||
cd95d02032 | |||
942415dce0 | |||
687b3a2027 | |||
8b87d7bcf7 | |||
78099afdbe | |||
8854b27dd1 | |||
9eb3ab3a59 | |||
7016a96bfe | |||
97b45246d1 | |||
fee46dee28 | |||
7065d540ee | |||
a9c4289da7 | |||
a6c8c6f866 | |||
24c0dc9602 | |||
9ec99ac6f2 | |||
ff754dca79 | |||
0cc206e939 | |||
82b10e57b0 | |||
8d3e7689e1 | |||
6e33a5da14 | |||
87dc22b053 | |||
448a461a40 | |||
0596871b98 | |||
11ce209ea0 | |||
0c34c85f7a | |||
4a4eb56fc2 | |||
362a73218b | |||
b57944efda | |||
93b8a1777d | |||
0c8e4d4a2c | |||
71659f2545 | |||
e57f561a8e | |||
694c6e77b1 | |||
ac3272db40 | |||
64c2c8d542 | |||
6ff1973b5b | |||
0bc5d97321 | |||
832a517965 | |||
ee566b8960 | |||
1c9fe19b23 | |||
27fc705bb2 | |||
6f9872cb56 | |||
eedfb5e6d7 | |||
f59c43c50f | |||
e4ee4ca716 | |||
c308f013a7 | |||
277d6ddf22 | |||
bc8a3ca526 | |||
4b93581c15 | |||
e019093fbf | |||
16f69acf30 | |||
eefb7c1638 | |||
6402978a48 | |||
2dde87710c | |||
0a26a92b2b | |||
4b5a265571 | |||
a780b9ed13 | |||
fc0ef6ede6 | |||
a6608d72e6 | |||
316ca23cab | |||
3dd5e0d46f | |||
8c5203ba0e | |||
d18d6a70ac | |||
a9d839b8a3 | |||
4b5e930bc8 | |||
cd14db923e | |||
c6a3b2ab85 | |||
3b4b979ec4 | |||
c83b69d146 | |||
e53c3ab5db | |||
c080e7041d | |||
0d48ede4a9 | |||
b18483a563 | |||
0f1a3b6847 | |||
d129c8ebd3 | |||
b9ebe979ee | |||
ad6670ba81 | |||
2a02107c8d | |||
b080d01b68 | |||
3f29c897f8 | |||
d9b563e9b2 | |||
3c5bb4bf5d | |||
49a7424d1e | |||
ed54734825 | |||
74b171e745 | |||
cbdc22d697 | |||
db74da3f6f | |||
8bede7937c | |||
d179fca13f | |||
33bc8d75ad | |||
045449e190 | |||
812e7efb90 | |||
4ede9fef07 | |||
6ce27e328d | |||
b18b3d00b7 | |||
106187cc59 | |||
e6f496a240 | |||
707ac69f5f | |||
78f1299ce4 | |||
075937dc19 | |||
69f4d98844 | |||
5fb2bbc2eb | |||
b699341ac9 | |||
40629b84ee | |||
1745a82516 | |||
52638c1b22 | |||
dce4067e83 | |||
5432c8fef9 | |||
bb268eafa1 | |||
d00c26cdc8 | |||
ce34e63605 | |||
e023546162 | |||
9c3bd3950e | |||
2560f4c581 | |||
249a086612 | |||
7d0e90b7bc | |||
7829315305 | |||
abeccdd6bc | |||
706d5402fa | |||
927e249557 | |||
0527f27204 | |||
faddaa8ba5 | |||
72bb59b37c | |||
3649f13bb3 | |||
f7bdf91ad7 | |||
85d422f7c6 | |||
7b69d1758f | |||
941793c7e4 | |||
9854c79ad6 | |||
1e70dea347 | |||
41c52f5739 | |||
ef5b8dc96a | |||
37e3a38ba9 | |||
d0cfada15e | |||
4888a25bac | |||
fd3617bfef | |||
a170fa4f46 | |||
cee05343f0 | |||
276329dd5d | |||
6d3ed65179 | |||
6a67ae1bfa | |||
351936aeac | |||
258e9d2bca | |||
82294fd665 | |||
31baaf8906 | |||
7ac9d26533 | |||
fa50571d3b | |||
73c1c1fe7f | |||
fa6552b7c5 | |||
2688e28438 | |||
71eff7ce97 | |||
56703704a5 | |||
5c51abfa71 | |||
d90f718b1a | |||
f45f52a786 | |||
85bcea1776 | |||
3f1ce4460a | |||
ababe13f1c | |||
46355e31d7 | |||
9e2cc83f23 | |||
324c211283 | |||
e0dfb3d974 | |||
91e8331b52 | |||
bbdfa00b7b | |||
6c80d2f5f8 | |||
ce0b60b5c9 | |||
2649d2ae62 | |||
cab1f3e547 | |||
13c90b606a | |||
93bb362016 | |||
43da9b4249 | |||
0faff6fb5e | |||
3885efea03 | |||
ab7e253667 | |||
bd753822c4 | |||
492d3afad3 | |||
778381fba6 | |||
cfe55115c3 | |||
024d3ab051 | |||
0c148a96db | |||
0006ad1f86 | |||
c612af6d42 | |||
18091f0115 | |||
0d559bead9 | |||
71e879236f | |||
f8e524842b | |||
4790a44d10 | |||
fde2495218 | |||
2a4b9c8dc1 | |||
982c73dfdd | |||
112951ce55 | |||
17f92ab400 | |||
f0761a7358 | |||
5280f0b733 | |||
3b57825ca6 | |||
802a0eb9df | |||
142448bbed | |||
3d500636a9 | |||
ab11c20d59 | |||
46bb0bfa57 | |||
8438c3f567 | |||
b417c62940 | |||
6de5eab1e4 | |||
a1c8fc6163 | |||
17d6c7350c | |||
393fb4733c | |||
331522210f | |||
3e912a2214 | |||
42e24c32e5 | |||
bc858976db | |||
1f119b2035 | |||
c1ac015325 | |||
324563b158 | |||
76d1bd05b2 | |||
8acf844fed | |||
2ec7f9f9b3 | |||
b1f4dcb068 | |||
11b1f70aea | |||
5189e8b956 | |||
513d0d8cbb | |||
a95acbcc11 | |||
73b69d8ca0 | |||
65896dab75 | |||
55136c30c4 | |||
a53ea3c61c | |||
7aff9c8600 | |||
6c3d09e279 | |||
1d8138fd18 | |||
650534c940 | |||
4632c623bf | |||
6a6a4bf1a4 | |||
a4aa9e197e | |||
38011a01dc | |||
a953dc3b1a | |||
94dfef68e1 | |||
121e52886b | |||
71510860af | |||
9c8549c31c | |||
e9802f5f41 | |||
bcad005d05 | |||
c9aaf39279 | |||
edb7b787d8 | |||
7b8fa42f8a | |||
bd97973ce0 | |||
77831d6142 | |||
6a9bf8592a | |||
d3fba31da0 | |||
a26b363d3e | |||
3243c5fe94 | |||
9c084faa75 | |||
15e0affc98 | |||
0f1dfc2db0 | |||
05ef1bbc06 | |||
861c1a44be | |||
5f7062136d | |||
e03e2308d7 | |||
344acfe4e8 | |||
33fe063f50 | |||
086ecb008f | |||
eacd5c1cb1 | |||
3bed35c342 | |||
73152b53ff | |||
1032d58187 | |||
9412565221 | |||
7701e9ffeb | |||
95bafc4934 | |||
2e1eaaec5e | |||
7d5bb1ea7a | |||
d83184cf9a | |||
aeaef7a7f0 | |||
d3e79077dc | |||
5b3082257e | |||
4db7eb0290 | |||
63ef405131 | |||
04077ce906 | |||
519546aea3 | |||
0631a59803 | |||
b88d69b722 | |||
37578454b9 | |||
e2167867d5 | |||
f53dbb28b2 | |||
57013e1a7c | |||
4d2f000125 | |||
8356bd04a8 | |||
4b107b60e7 | |||
ca0d4dd6cc | |||
cca0bc31a7 | |||
7b5a5afa3a | |||
df00962cb8 | |||
396aa55958 | |||
86e3009448 | |||
170bf0cc8e | |||
9ab9ceb964 | |||
a5a1944db4 | |||
1a78d61b9f | |||
b9c28920e0 | |||
196de61035 | |||
7e8873c100 | |||
8859f257c2 | |||
4db25f1500 | |||
a827c7e2b4 | |||
756064b9c3 | |||
b125253cad | |||
f1e2c7918e | |||
caac280466 | |||
7a14b48dad | |||
0aecef9b63 | |||
3f7f9145d2 | |||
23f654a943 | |||
d0713e029c | |||
27d5e269cc | |||
f77f3e83ed | |||
05aae3dd02 | |||
14d6773aba | |||
1b74f039ab | |||
3077e4d8a5 | |||
dd8ef3ec1b | |||
612ee3b591 | |||
1b3bb334eb | |||
1baa36c14a | |||
cf2238a522 | |||
a3980f4838 | |||
760793e843 | |||
f92c27a49e | |||
49fa99737b | |||
7293c313d4 | |||
15a18281d7 | |||
517498dd11 | |||
54aa6b66d8 | |||
125c89319a | |||
3afeb73538 |
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -67,3 +67,6 @@ subprojects/*/
|
||||||
|
|
||||||
# clangd integration
|
# clangd integration
|
||||||
.cache/*
|
.cache/*
|
||||||
|
|
||||||
|
# apk files from CI (or following its commands)
|
||||||
|
*.apk
|
||||||
|
|
|
@ -33,6 +33,7 @@ variables:
|
||||||
value: ""
|
value: ""
|
||||||
|
|
||||||
FEDORA_AMD64_SUFFIX: 'amd64/fedora'
|
FEDORA_AMD64_SUFFIX: 'amd64/fedora'
|
||||||
|
DEBIAN_AMD64_SUFFIX: 'amd64/debian'
|
||||||
INDENT_AMD64_SUFFIX: 'amd64/gst-indent'
|
INDENT_AMD64_SUFFIX: 'amd64/gst-indent'
|
||||||
COMMITLINT_AMD64_SUFFIX: 'amd64/commitlint'
|
COMMITLINT_AMD64_SUFFIX: 'amd64/commitlint'
|
||||||
WINDOWS_AMD64_SUFFIX: 'amd64/windows'
|
WINDOWS_AMD64_SUFFIX: 'amd64/windows'
|
||||||
|
@ -45,7 +46,9 @@ variables:
|
||||||
-Dlibnice:examples=disabled
|
-Dlibnice:examples=disabled
|
||||||
-Dlibnice:gupnp=disabled
|
-Dlibnice:gupnp=disabled
|
||||||
-Dopenh264:tests=disabled
|
-Dopenh264:tests=disabled
|
||||||
|
-Dgst-plugins-base:opus=enabled
|
||||||
-Dgst-plugins-good:soup-lookup-dep=true
|
-Dgst-plugins-good:soup-lookup-dep=true
|
||||||
|
-Dgst-plugins-good:vpx=enabled
|
||||||
-Dpygobject:tests=false
|
-Dpygobject:tests=false
|
||||||
-Dpython=enabled
|
-Dpython=enabled
|
||||||
-Dlibav=enabled
|
-Dlibav=enabled
|
||||||
|
@ -59,6 +62,7 @@ variables:
|
||||||
-Drs=disabled
|
-Drs=disabled
|
||||||
-Dgpl=enabled
|
-Dgpl=enabled
|
||||||
-Dintrospection=enabled
|
-Dintrospection=enabled
|
||||||
|
--force-fallback-for=soundtouch
|
||||||
|
|
||||||
SIMPLE_BUILD: >-
|
SIMPLE_BUILD: >-
|
||||||
${DEFAULT_MESON_ARGS}
|
${DEFAULT_MESON_ARGS}
|
||||||
|
@ -122,6 +126,7 @@ trigger:
|
||||||
|
|
||||||
.fedora image:
|
.fedora image:
|
||||||
variables:
|
variables:
|
||||||
|
CCACHE_DIR: '/cache/gstreamer/gstreamer/ccache/'
|
||||||
FDO_BASE_IMAGE: 'registry.fedoraproject.org/fedora-toolbox:34'
|
FDO_BASE_IMAGE: 'registry.fedoraproject.org/fedora-toolbox:34'
|
||||||
FDO_DISTRIBUTION_VERSION: '34'
|
FDO_DISTRIBUTION_VERSION: '34'
|
||||||
FDO_REPO_SUFFIX: "$FEDORA_AMD64_SUFFIX"
|
FDO_REPO_SUFFIX: "$FEDORA_AMD64_SUFFIX"
|
||||||
|
@ -134,8 +139,28 @@ fedora amd64 docker:
|
||||||
- '.fdo.container-build@fedora'
|
- '.fdo.container-build@fedora'
|
||||||
stage: 'preparation'
|
stage: 'preparation'
|
||||||
needs: []
|
needs: []
|
||||||
tags:
|
# Note: assumption is that placeholder jobs run on a packet runner
|
||||||
- 'packet.net'
|
# (which has faster network connectivity to the registry).
|
||||||
|
tags: [ 'placeholder-job' ]
|
||||||
|
|
||||||
|
.debian image:
|
||||||
|
variables:
|
||||||
|
CCACHE_DIR: '/cache/gstreamer/gstreamer/ccache_debian/'
|
||||||
|
FDO_BASE_IMAGE: "quay.io/toolbx-images/debian-toolbox:12"
|
||||||
|
FDO_DISTRIBUTION_VERSION: '12'
|
||||||
|
FDO_REPO_SUFFIX: "$DEBIAN_AMD64_SUFFIX"
|
||||||
|
FDO_DISTRIBUTION_TAG: "$DEBIAN_TAG-$GST_UPSTREAM_BRANCH"
|
||||||
|
FDO_DISTRIBUTION_EXEC: 'GIT_BRANCH=$CI_COMMIT_REF_NAME GIT_URL=$CI_REPOSITORY_URL bash ci/docker/debian/prepare.sh'
|
||||||
|
|
||||||
|
debian amd64 docker:
|
||||||
|
extends:
|
||||||
|
- '.debian image'
|
||||||
|
- '.fdo.container-build@debian'
|
||||||
|
stage: 'preparation'
|
||||||
|
needs: []
|
||||||
|
# Note: assumption is that placeholder jobs run on a packet runner
|
||||||
|
# (which has faster network connectivity to the registry).
|
||||||
|
tags: [ 'placeholder-job' ]
|
||||||
|
|
||||||
.gst-indent image:
|
.gst-indent image:
|
||||||
tags: [ 'placeholder-job' ]
|
tags: [ 'placeholder-job' ]
|
||||||
|
@ -261,7 +286,6 @@ commitlint:
|
||||||
CCACHE_COMPILERCHECK: 'content'
|
CCACHE_COMPILERCHECK: 'content'
|
||||||
CCACHE_COMPRESS: 'true'
|
CCACHE_COMPRESS: 'true'
|
||||||
CCACHE_BASEDIR: '/cache/gstreamer/gstreamer'
|
CCACHE_BASEDIR: '/cache/gstreamer/gstreamer'
|
||||||
CCACHE_DIR: '/cache/gstreamer/gstreamer/ccache/'
|
|
||||||
# shared across everything really
|
# shared across everything really
|
||||||
CCACHE_MAXSIZE: '10G'
|
CCACHE_MAXSIZE: '10G'
|
||||||
|
|
||||||
|
@ -326,27 +350,31 @@ commitlint:
|
||||||
- changes:
|
- changes:
|
||||||
- subprojects/gstreamer-vaapi/**/*
|
- subprojects/gstreamer-vaapi/**/*
|
||||||
|
|
||||||
.build fedora x86_64:
|
.build simple:
|
||||||
extends:
|
extends:
|
||||||
- '.fedora image'
|
|
||||||
- '.fdo.suffixed-image@fedora'
|
|
||||||
- '.build'
|
- '.build'
|
||||||
- '.build_ccache_vars'
|
- '.build_ccache_vars'
|
||||||
needs:
|
|
||||||
- "trigger"
|
|
||||||
- "fedora amd64 docker"
|
|
||||||
variables:
|
variables:
|
||||||
GST_WERROR: "true"
|
GST_WERROR: "true"
|
||||||
MESON_ARGS: "${SIMPLE_BUILD}"
|
MESON_ARGS: "${SIMPLE_BUILD}"
|
||||||
SUBPROJECTS_CACHE_DIR: "/subprojects"
|
SUBPROJECTS_CACHE_DIR: "/subprojects"
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- $CI_PROJECT_DIR/ci/scripts/build.sh
|
- $CI_PROJECT_DIR/ci/scripts/build.sh
|
||||||
- ./gst-env.py gst-inspect-1.0 --version
|
- ./gst-env.py gst-inspect-1.0 --version
|
||||||
- ./gst-env.py gst-inspect-1.0
|
- ./gst-env.py gst-inspect-1.0
|
||||||
|
- G_DEBUG=fatal_criticals ./gst-env.py gst-inspect-1.0 --print-all --gst-disable-registry-fork > /dev/null
|
||||||
- meson install --destdir $CI_PROJECT_DIR/destdir -C build
|
- meson install --destdir $CI_PROJECT_DIR/destdir -C build
|
||||||
- rm -rf $CI_PROJECT_DIR/destdir
|
- rm -rf $CI_PROJECT_DIR/destdir
|
||||||
|
|
||||||
|
.build fedora x86_64:
|
||||||
|
extends:
|
||||||
|
- '.fedora image'
|
||||||
|
- '.fdo.suffixed-image@fedora'
|
||||||
|
- '.build simple'
|
||||||
|
needs:
|
||||||
|
- "trigger"
|
||||||
|
- "fedora amd64 docker"
|
||||||
|
|
||||||
build fedora gcc:
|
build fedora gcc:
|
||||||
extends: '.build fedora x86_64'
|
extends: '.build fedora x86_64'
|
||||||
variables:
|
variables:
|
||||||
|
@ -402,6 +430,18 @@ build fedora clang:
|
||||||
-Dgstreamer-sharp:tests=disabled
|
-Dgstreamer-sharp:tests=disabled
|
||||||
--force-fallback-for=glib
|
--force-fallback-for=glib
|
||||||
|
|
||||||
|
build debian x86_64:
|
||||||
|
extends:
|
||||||
|
- '.debian image'
|
||||||
|
- '.fdo.suffixed-image@debian'
|
||||||
|
- '.build simple'
|
||||||
|
needs:
|
||||||
|
- "trigger"
|
||||||
|
- "debian amd64 docker"
|
||||||
|
variables:
|
||||||
|
BUILD_TYPE: "--default-library=shared"
|
||||||
|
BUILD_GST_DEBUG: "-Dgstreamer:gst_debug=true"
|
||||||
|
|
||||||
.build windows:
|
.build windows:
|
||||||
image: $WINDOWS_IMAGE
|
image: $WINDOWS_IMAGE
|
||||||
stage: 'build'
|
stage: 'build'
|
||||||
|
|
|
@ -5,10 +5,12 @@ variables:
|
||||||
# If you are hacking on them or need a them to rebuild, its enough
|
# If you are hacking on them or need a them to rebuild, its enough
|
||||||
# to change any part of the string of the image you want.
|
# to change any part of the string of the image you want.
|
||||||
###
|
###
|
||||||
FEDORA_TAG: '2024-02-13.0'
|
FEDORA_TAG: '2024-04-22.4'
|
||||||
|
|
||||||
INDENT_TAG: '2023-08-24.3'
|
DEBIAN_TAG: '2024-04-22.4'
|
||||||
|
|
||||||
|
INDENT_TAG: '2024-05-28.0'
|
||||||
|
|
||||||
LINT_TAG: '2024-02-20.0'
|
LINT_TAG: '2024-02-20.0'
|
||||||
|
|
||||||
WINDOWS_TAG: '2024-02-08.0'
|
WINDOWS_TAG: '2024-04-10.0'
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<!-- For any GStreamer usage questions or application development support
|
<!-- For any GStreamer usage questions or application development support
|
||||||
please head over to our new GStreamer Discourse forum at
|
please head over to our new GStreamer Discourse forum at
|
||||||
https://discourse.gstreamer.org/ instead, or find us on
|
https://discourse.gstreamer.org/ instead, or find us on
|
||||||
the #gstreamer IRC channel on https://www.oftc.net -->
|
the GStreamer Matrix room at https://matrix.to/#/#gstreamer:gstreamer.org -->
|
||||||
|
|
||||||
#### Expected Behavior
|
#### Expected Behavior
|
||||||
<!-- What did you expect to happen -->
|
<!-- What did you expect to happen -->
|
|
@ -1,4 +1,5 @@
|
||||||
For any GStreamer usage questions or application development support
|
For any GStreamer usage questions or application development support
|
||||||
please head over to our new GStreamer Discourse forum at
|
please head over to our new GStreamer Discourse forum at
|
||||||
https://discourse.gstreamer.org instead, or find us on the
|
https://discourse.gstreamer.org instead, or find us on the
|
||||||
`#gstreamer` IRC channel on the OFTC IRC network (https://www.oftc.net).
|
GStreamer Matrix room at https://matrix.to/#/#gstreamer:gstreamer.org
|
||||||
|
|
||||||
|
|
2
.gitlint
2
.gitlint
|
@ -13,7 +13,7 @@ min-length=10
|
||||||
|
|
||||||
# Ensure every title starts with a prefix
|
# Ensure every title starts with a prefix
|
||||||
[title-match-regex]
|
[title-match-regex]
|
||||||
regex=^[\w]+[\w, -\\/]*[\w]+: .*
|
regex=^[\w]+[\w, -\\/{}]*[\w]+: .*
|
||||||
|
|
||||||
# Ignore GDB backtraces
|
# Ignore GDB backtraces
|
||||||
[ignore-body-lines]
|
[ignore-body-lines]
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
subprojects/gst-plugins-bad/ext/qt6d3d11
|
subprojects/gst-plugins-bad/ext/qt6d3d11
|
||||||
subprojects/gst-plugins-bad/gst-libs/gst/cuda
|
subprojects/gst-plugins-bad/gst-libs/gst/cuda
|
||||||
subprojects/gst-plugins-bad/gst-libs/gst/d3d11
|
subprojects/gst-plugins-bad/gst-libs/gst/d3d11
|
||||||
|
subprojects/gst-plugins-bad/gst-libs/gst/d3d12
|
||||||
subprojects/gst-plugins-bad/gst-libs/gst/dxva
|
subprojects/gst-plugins-bad/gst-libs/gst/dxva
|
||||||
subprojects/gst-plugins-bad/gst-libs/gst/va
|
subprojects/gst-plugins-bad/gst-libs/gst/va
|
||||||
subprojects/gst-plugins-bad/gst-libs/gst/winrt
|
subprojects/gst-plugins-bad/gst-libs/gst/winrt
|
||||||
|
@ -13,5 +14,6 @@ subprojects/gst-plugins-bad/sys/nvcodec
|
||||||
^(subprojects/gst-plugins-bad/sys/qsv/)+(\w)+([^/])+(cpp$)
|
^(subprojects/gst-plugins-bad/sys/qsv/)+(\w)+([^/])+(cpp$)
|
||||||
subprojects/gst-plugins-bad/sys/va
|
subprojects/gst-plugins-bad/sys/va
|
||||||
subprojects/gst-plugins-bad/sys/wasapi2
|
subprojects/gst-plugins-bad/sys/wasapi2
|
||||||
|
subprojects/gst-plugins-bad/sys/webview2
|
||||||
subprojects/gst-plugins-bad/sys/wic
|
subprojects/gst-plugins-bad/sys/wic
|
||||||
^(subprojects/gst-plugins-bad/sys/win32ipc/)+(\w)+([^/])+(cpp$)
|
^(subprojects/gst-plugins-bad/sys/win32ipc/)+(\w)+([^/])+(cpp$)
|
||||||
|
|
10
README.md
10
README.md
|
@ -12,17 +12,17 @@ Our documentation, including tutorials, API reference and FAQ can be found at
|
||||||
|
|
||||||
https://gstreamer.freedesktop.org/documentation/
|
https://gstreamer.freedesktop.org/documentation/
|
||||||
|
|
||||||
You can subscribe to our mailing lists:
|
You can ask questions on the GStreamer Discourse at
|
||||||
|
|
||||||
https://lists.freedesktop.org/mailman/listinfo/gstreamer-announce
|
https://discourse.gstreamer.org/
|
||||||
|
|
||||||
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
|
|
||||||
|
|
||||||
We track bugs, feature requests and merge requests (patches) in GitLab at
|
We track bugs, feature requests and merge requests (patches) in GitLab at
|
||||||
|
|
||||||
https://gitlab.freedesktop.org/gstreamer/
|
https://gitlab.freedesktop.org/gstreamer/
|
||||||
|
|
||||||
You can join us on IRC - #gstreamer on irc.oftc.net
|
You can join us on our Matrix room at
|
||||||
|
|
||||||
|
https://matrix.to/#/#gstreamer:gstreamer.org
|
||||||
|
|
||||||
This repository contains all official modules supported by the GStreamer
|
This repository contains all official modules supported by the GStreamer
|
||||||
community which can be found in the `subprojects/` directory.
|
community which can be found in the `subprojects/` directory.
|
||||||
|
|
283
ci/docker/debian/deps.txt
Normal file
283
ci/docker/debian/deps.txt
Normal file
|
@ -0,0 +1,283 @@
|
||||||
|
apertium-regtest
|
||||||
|
appstream-util
|
||||||
|
autopoint
|
||||||
|
bash-completion
|
||||||
|
bat
|
||||||
|
bison
|
||||||
|
bubblewrap
|
||||||
|
busybox
|
||||||
|
ccache
|
||||||
|
clang
|
||||||
|
clang-tools
|
||||||
|
cmake
|
||||||
|
coinor-libcgl-dev
|
||||||
|
curl
|
||||||
|
desktop-file-utils
|
||||||
|
docutils-common
|
||||||
|
doxygen
|
||||||
|
dwz
|
||||||
|
elfutils
|
||||||
|
emscripten
|
||||||
|
ffmpeg
|
||||||
|
flex
|
||||||
|
flite1-dev
|
||||||
|
g++
|
||||||
|
gcc
|
||||||
|
gdb
|
||||||
|
gettext
|
||||||
|
git
|
||||||
|
git-lfs
|
||||||
|
glslc
|
||||||
|
googletest
|
||||||
|
graphviz
|
||||||
|
gtk-doc-tools
|
||||||
|
guile-cairo-dev
|
||||||
|
iproute2
|
||||||
|
iso-codes
|
||||||
|
itstool
|
||||||
|
ladspa-sdk
|
||||||
|
liba52-0.7.4-dev
|
||||||
|
libaa1-dev
|
||||||
|
liballeggl4-dev
|
||||||
|
libaom-dev
|
||||||
|
libasound2-dev
|
||||||
|
libass-dev
|
||||||
|
libatk1.0-dev
|
||||||
|
libavahi-client-dev
|
||||||
|
libavahi-common-dev
|
||||||
|
libavc1394-dev
|
||||||
|
libavcodec-dev
|
||||||
|
libavdevice-dev
|
||||||
|
libavfilter-dev
|
||||||
|
libavformat-dev
|
||||||
|
libavif-dev
|
||||||
|
libavutil-dev
|
||||||
|
libbluetooth-dev
|
||||||
|
libboost-system-dev
|
||||||
|
libbs2b-dev
|
||||||
|
libcaca-dev
|
||||||
|
libcairo2-dev
|
||||||
|
libcamera-dev
|
||||||
|
libcanberra-dev
|
||||||
|
libcap-dev
|
||||||
|
libcdio-dev
|
||||||
|
libcdparanoia-dev
|
||||||
|
libchromaprint-dev
|
||||||
|
libclang-dev
|
||||||
|
libcoap3-dev
|
||||||
|
libcurl4-openssl-dev
|
||||||
|
libdbus-glib2.0-cil-dev
|
||||||
|
libdca-dev
|
||||||
|
libde265-dev
|
||||||
|
libdirectfb-dev
|
||||||
|
libdrm-dev
|
||||||
|
libdrumstick-dev
|
||||||
|
libdv4-dev
|
||||||
|
libdvdnav-dev
|
||||||
|
libdvdread-dev
|
||||||
|
libdw-dev
|
||||||
|
libebur128-dev
|
||||||
|
libegl-dev
|
||||||
|
libespeak-ng-dev
|
||||||
|
libespeak-ng-libespeak-dev
|
||||||
|
libevdev-dev
|
||||||
|
libevent-dev
|
||||||
|
libexempi-dev
|
||||||
|
libexif-dev
|
||||||
|
libfaad-dev
|
||||||
|
libfftw3-bin
|
||||||
|
libfftw3-dev
|
||||||
|
libflac-dev
|
||||||
|
libfluidsynth-dev
|
||||||
|
libframe-dev
|
||||||
|
libfreeaptx-dev
|
||||||
|
libftgl-dev
|
||||||
|
libgbm-dev
|
||||||
|
libgdk-pixbuf-2.0-dev
|
||||||
|
libgeocode-glib-dev
|
||||||
|
libgirepository1.0-dev
|
||||||
|
libgl-dev
|
||||||
|
libgl1-mesa-dev
|
||||||
|
libgles-dev
|
||||||
|
libglib2.0-dev
|
||||||
|
libglib2.0-doc
|
||||||
|
libglx-dev
|
||||||
|
libgme-dev
|
||||||
|
libgnutls28-dev
|
||||||
|
libgraphene-1.0-dev
|
||||||
|
libgridsite-dev
|
||||||
|
libgsl-dev
|
||||||
|
libgsm1-dev
|
||||||
|
libgssdp-1.6-dev
|
||||||
|
libgtest-dev
|
||||||
|
libgtk-3-dev
|
||||||
|
libgtk-4-dev
|
||||||
|
libgtkmm-3.0-dev
|
||||||
|
libgudev-1.0-dev
|
||||||
|
libgupnp-igd-1.0-dev
|
||||||
|
libiec61883-dev
|
||||||
|
libinput-dev
|
||||||
|
libiptcdata0-dev
|
||||||
|
libjack-jackd2-dev
|
||||||
|
libjpeg62-turbo-dev
|
||||||
|
libjson-glib-dev
|
||||||
|
libjwt-gnutls-dev
|
||||||
|
libkate-dev
|
||||||
|
liblc3-dev
|
||||||
|
liblcms2-dev
|
||||||
|
libldacbt-abr-dev
|
||||||
|
libldacbt-enc-dev
|
||||||
|
liblilv-dev
|
||||||
|
liblogg4-dev
|
||||||
|
libltc-dev
|
||||||
|
liblttng-ust-dev
|
||||||
|
liblxi-dev
|
||||||
|
libmfx-dev
|
||||||
|
libmjpegtools-dev
|
||||||
|
libmodplug-dev
|
||||||
|
libmono-cil-dev
|
||||||
|
libmp3lame-dev
|
||||||
|
libmpcdec-dev
|
||||||
|
libmpeg2-4-dev
|
||||||
|
libmpeg3-dev
|
||||||
|
libmpg123-dev
|
||||||
|
libneon27-dev
|
||||||
|
libngtcp2-crypto-gnutls-dev
|
||||||
|
libnice-dev
|
||||||
|
libnx-x11-dev
|
||||||
|
libogg-dev
|
||||||
|
libopenal-dev
|
||||||
|
libopencore-amrnb-dev
|
||||||
|
libopencore-amrwb-dev
|
||||||
|
libopencv-dev
|
||||||
|
libopenexr-dev
|
||||||
|
libopengl-dev
|
||||||
|
libopenh264-dev
|
||||||
|
libopenjp2-7-dev
|
||||||
|
libopenmpt-dev
|
||||||
|
libopenni2-dev
|
||||||
|
libopus-dev
|
||||||
|
libpango1.0-dev
|
||||||
|
libpng-dev
|
||||||
|
libpolkit-gobject-1-dev
|
||||||
|
libpulse-dev
|
||||||
|
libpython3-all-dev
|
||||||
|
libqrencode-dev
|
||||||
|
libqt5waylandclient5-dev
|
||||||
|
libqt5x11extras5-dev
|
||||||
|
libraw1394-dev
|
||||||
|
librsvg2-dev
|
||||||
|
librtmp-dev
|
||||||
|
librust-wayland-protocols-dev
|
||||||
|
libsbc-dev
|
||||||
|
libsdl2-dev
|
||||||
|
libshaderc1
|
||||||
|
libshout-dev
|
||||||
|
libsidplay1-dev
|
||||||
|
libsigc++-2.0-dev
|
||||||
|
libsndfile1-dev
|
||||||
|
libsndifsdl2-dev
|
||||||
|
libsoundtouch-dev
|
||||||
|
libsoup-3.0-dev
|
||||||
|
libsoup2.4-dev
|
||||||
|
libspandsp-dev
|
||||||
|
libspeex-dev
|
||||||
|
libsphinxbase-dev
|
||||||
|
libspice-client-glib-2.0-dev
|
||||||
|
libsrt-openssl-dev
|
||||||
|
libsrtp2-dev
|
||||||
|
libssh2-1-dev
|
||||||
|
libssl-dev
|
||||||
|
libsvtav1-dev
|
||||||
|
libsvtav1dec-dev
|
||||||
|
libsvtav1enc-dev
|
||||||
|
libsysprof-4-dev
|
||||||
|
libtag1-dev
|
||||||
|
libtaoframework-openal-cil-dev
|
||||||
|
libtaoframework-opengl-cil-dev
|
||||||
|
libtheora-dev
|
||||||
|
libtwolame-dev
|
||||||
|
libudev-dev
|
||||||
|
libunwind-dev
|
||||||
|
liburcu-dev
|
||||||
|
libusb-1.0-0-dev
|
||||||
|
libv4l-dev
|
||||||
|
libva-dev
|
||||||
|
libvisual-0.4-dev
|
||||||
|
libvo-aacenc-dev
|
||||||
|
libvo-amrwbenc-dev
|
||||||
|
libvorbis-dev
|
||||||
|
libvpx-dev
|
||||||
|
libvulkan-dev
|
||||||
|
libwacom-dev
|
||||||
|
libwavpack-dev
|
||||||
|
libwayland-dev
|
||||||
|
libwebp-dev
|
||||||
|
libwebrtc-audio-processing-dev
|
||||||
|
libwildmidi-dev
|
||||||
|
libwpe-1.0-dev
|
||||||
|
libwpebackend-fdo-1.0-dev
|
||||||
|
libwpewebkit-1.1-dev
|
||||||
|
libx11-dev
|
||||||
|
libx11-xcb-dev
|
||||||
|
libx264-dev
|
||||||
|
libx265-dev
|
||||||
|
libxcb-dri3-dev
|
||||||
|
libxcb-glx0-dev
|
||||||
|
libxcb-xfixes0-dev
|
||||||
|
libxcb-xv0-dev
|
||||||
|
libxcb1-dev
|
||||||
|
libxdamage-dev
|
||||||
|
libxext-dev
|
||||||
|
libxfixes-dev
|
||||||
|
libxi-dev
|
||||||
|
libxkbcommon-dev
|
||||||
|
libxkbcommon-x11-dev
|
||||||
|
libxml2-dev
|
||||||
|
libxmlsec1-dev
|
||||||
|
libxrandr-dev
|
||||||
|
libxslt1-dev
|
||||||
|
libxtst-dev
|
||||||
|
libxv-dev
|
||||||
|
libxvidcore-dev
|
||||||
|
libyajl-dev
|
||||||
|
libyaml-dev
|
||||||
|
libz-mingw-w64-dev
|
||||||
|
libzbar-dev
|
||||||
|
libzita-convolver-dev
|
||||||
|
libzvbi-dev
|
||||||
|
libzxing-dev
|
||||||
|
libzxingcore-dev
|
||||||
|
llvm-dev
|
||||||
|
lua-zlib-dev
|
||||||
|
make
|
||||||
|
modemmanager-dev
|
||||||
|
mono-complete
|
||||||
|
mono-devel
|
||||||
|
nasm
|
||||||
|
nettle-dev
|
||||||
|
ninja-build
|
||||||
|
patch
|
||||||
|
python-gi-dev
|
||||||
|
python3-all-dev
|
||||||
|
python3-cairo-dev
|
||||||
|
python3-dev
|
||||||
|
python3-pip
|
||||||
|
qconf
|
||||||
|
qt5-qmake
|
||||||
|
qtbase5-dev
|
||||||
|
qtbase5-private-dev
|
||||||
|
qtdeclarative5-dev
|
||||||
|
qtdeclarative5-dev-tools
|
||||||
|
qttools5-dev-tools
|
||||||
|
sudo
|
||||||
|
svt-av1
|
||||||
|
valgrind
|
||||||
|
wayland-protocols
|
||||||
|
x11-xserver-utils
|
||||||
|
xdg-utils
|
||||||
|
xfonts-jmk
|
||||||
|
xfonts-kaname
|
||||||
|
xvfb
|
||||||
|
yasm
|
||||||
|
zlib1g-dev
|
10
ci/docker/debian/install-deps.sh
Normal file
10
ci/docker/debian/install-deps.sh
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
set -eux
|
||||||
|
|
||||||
|
apt update -y && apt full-upgrade -y
|
||||||
|
apt install -y $(<./ci/docker/debian/deps.txt)
|
||||||
|
|
||||||
|
pip3 install --break-system-packages meson hotdoc python-gitlab tomli junitparser
|
||||||
|
|
||||||
|
apt clean all
|
13
ci/docker/debian/prepare.sh
Normal file
13
ci/docker/debian/prepare.sh
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
set -eux
|
||||||
|
|
||||||
|
bash ./ci/docker/debian/install-deps.sh
|
||||||
|
|
||||||
|
bash ./ci/scripts/install-rust.sh
|
||||||
|
|
||||||
|
# Configure git for various usage
|
||||||
|
git config --global user.email "gstreamer@gstreamer.net"
|
||||||
|
git config --global user.name "Gstbuild Runner"
|
||||||
|
|
||||||
|
bash ./ci/scripts/create-subprojects-cache.sh
|
|
@ -32,7 +32,7 @@ dnf builddep -y gstreamer1 \
|
||||||
python3-gstreamer1
|
python3-gstreamer1
|
||||||
|
|
||||||
dnf remove -y meson -x ninja-build
|
dnf remove -y meson -x ninja-build
|
||||||
pip3 install meson==1.2.3 hotdoc==0.16 python-gitlab tomli junitparser
|
pip3 install meson hotdoc python-gitlab tomli junitparser
|
||||||
|
|
||||||
# Remove gst-devel packages installed by builddep above
|
# Remove gst-devel packages installed by builddep above
|
||||||
dnf remove -y "gstreamer1*devel"
|
dnf remove -y "gstreamer1*devel"
|
||||||
|
|
|
@ -12,8 +12,8 @@ bash ./ci/docker/fedora/install-gdk-pixbuf.sh
|
||||||
|
|
||||||
bash ./ci/docker/fedora/install-wayland-protocols.sh
|
bash ./ci/docker/fedora/install-wayland-protocols.sh
|
||||||
|
|
||||||
bash ./ci/docker/fedora/install-rust.sh
|
bash ./ci/scripts/install-rust.sh
|
||||||
|
|
||||||
bash ./ci/docker/fedora/virtme-fluster-setup.sh
|
bash ./ci/docker/fedora/virtme-fluster-setup.sh
|
||||||
|
|
||||||
bash ./ci/docker/fedora/create-subprojects-cache.sh
|
bash ./ci/scripts/create-subprojects-cache.sh
|
||||||
|
|
|
@ -17,38 +17,21 @@ apt install -y dotnet-sdk-7.0
|
||||||
dotnet tool install --global dotnet-format
|
dotnet tool install --global dotnet-format
|
||||||
ln -s ~/.dotnet/tools/dotnet-format /usr/local/bin/dotnet-format
|
ln -s ~/.dotnet/tools/dotnet-format /usr/local/bin/dotnet-format
|
||||||
|
|
||||||
# Patch indent for crasher bug on very long comments
|
# Build and install gst-indent-1.0
|
||||||
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1036851
|
|
||||||
echo "deb-src http://deb.debian.org/debian/ bookworm main" >> /etc/apt/sources.list
|
echo "deb-src http://deb.debian.org/debian/ bookworm main" >> /etc/apt/sources.list
|
||||||
apt update
|
apt update
|
||||||
|
apt-get install --assume-yes devscripts build-essential dpkg-dev wget meson ninja-build
|
||||||
apt-get install --assume-yes devscripts build-essential dpkg-dev wget
|
|
||||||
|
|
||||||
apt-get build-dep --assume-yes indent
|
apt-get build-dep --assume-yes indent
|
||||||
|
|
||||||
apt-get source indent
|
git clone https://gitlab.freedesktop.org/gstreamer/gst-indent.git
|
||||||
|
cd gst-indent
|
||||||
|
|
||||||
wget -O indent-2.2.12/debian/patches/9999-long-comment-crashfix.patch 'https://git.savannah.gnu.org/cgit/indent.git/patch/?id=02d7fd4c426e4acfa591a6738dec72f7303c1e7e'
|
meson setup --prefix=/usr _build
|
||||||
|
meson install -C _build
|
||||||
echo "9999-long-comment-crashfix.patch" >> indent-2.2.12/debian/patches/series
|
|
||||||
|
|
||||||
cat >indent-2.2.12/debian/changelog.new <<-EOF
|
|
||||||
indent (2.2.12-4gst1) unstable; urgency=medium
|
|
||||||
|
|
||||||
* Pull in bug-fix for crashes on comments longer than 1023 characters.
|
|
||||||
See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1036851
|
|
||||||
|
|
||||||
-- Tim-Philipp Müller <tim@centricular.com> Wed, 14 Jun 2023 12:30:00 +0100
|
|
||||||
|
|
||||||
EOF
|
|
||||||
cat indent-2.2.12/debian/changelog >> indent-2.2.12/debian/changelog.new
|
|
||||||
mv indent-2.2.12/debian/changelog.new indent-2.2.12/debian/changelog
|
|
||||||
|
|
||||||
cd indent-2.2.12 && dpkg-buildpackage -us -uc && dpkg -i ../indent_2.2.12-4gst1_amd64.deb
|
|
||||||
|
|
||||||
wget -O gstbayer2rgb.c "https://gitlab.freedesktop.org/gstreamer/gstreamer/-/raw/main/subprojects/gst-plugins-bad/gst/bayer/gstbayer2rgb.c?inline=false"
|
|
||||||
|
|
||||||
# Try it
|
# Try it
|
||||||
|
wget -O gstbayer2rgb.c "https://gitlab.freedesktop.org/gstreamer/gstreamer/-/raw/main/subprojects/gst-plugins-bad/gst/bayer/gstbayer2rgb.c?inline=false"
|
||||||
|
|
||||||
for i in 1 2; do
|
for i in 1 2; do
|
||||||
indent \
|
indent \
|
||||||
--braces-on-if-line \
|
--braces-on-if-line \
|
||||||
|
@ -68,8 +51,9 @@ indent \
|
||||||
done;
|
done;
|
||||||
|
|
||||||
# clean up
|
# clean up
|
||||||
rm gstbayer2rgb.c
|
cd ..
|
||||||
rm -rf indent*
|
rm -rf gst-indent
|
||||||
apt-get remove --assume-yes devscripts build-essential dpkg-dev wget
|
|
||||||
|
apt-get remove --assume-yes devscripts build-essential dpkg-dev wget meson ninja-build
|
||||||
apt-get remove --assume-yes libtext-unidecode-perl libxml-namespacesupport-perl libxml-sax-base-perl libxml-sax-perl libxml-libxml-perl texinfo
|
apt-get remove --assume-yes libtext-unidecode-perl libxml-namespacesupport-perl libxml-sax-base-perl libxml-sax-perl libxml-libxml-perl texinfo
|
||||||
apt-get autoremove --assume-yes
|
apt-get autoremove --assume-yes
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12;
|
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12;
|
||||||
|
|
||||||
$rust_version = '1.76.0'
|
$rust_version = '1.77.2'
|
||||||
$rustup_url = 'https://win.rustup.rs/x86_64'
|
$rustup_url = 'https://win.rustup.rs/x86_64'
|
||||||
|
|
||||||
Invoke-WebRequest -Uri $rustup_url -OutFile C:\rustup-init.exe
|
Invoke-WebRequest -Uri $rustup_url -OutFile C:\rustup-init.exe
|
||||||
|
|
|
@ -753,7 +753,7 @@
|
||||||
"source_checksum": "43da4cb7e244219d4ca423419d27cde8",
|
"source_checksum": "43da4cb7e244219d4ca423419d27cde8",
|
||||||
"input_file": "FM1_BT_B.h264",
|
"input_file": "FM1_BT_B.h264",
|
||||||
"output_format": "yuv420p",
|
"output_format": "yuv420p",
|
||||||
"result": "b76dc7f54eef4279c1769ac4ae5cb877"
|
"result": "f21ad956409cfa237099f7ac28390614"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "FM1_FT_E",
|
"name": "FM1_FT_E",
|
||||||
|
@ -761,7 +761,7 @@
|
||||||
"source_checksum": "3644489dab877ffbf5497594098f63e2",
|
"source_checksum": "3644489dab877ffbf5497594098f63e2",
|
||||||
"input_file": "FM1_FT_E.264",
|
"input_file": "FM1_FT_E.264",
|
||||||
"output_format": "yuv420p",
|
"output_format": "yuv420p",
|
||||||
"result": "b3997865c7ecbda4acfaff6b46b712bf"
|
"result": "46b584c89e359c39619bc144f9f29162"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "FM2_SVA_C",
|
"name": "FM2_SVA_C",
|
||||||
|
|
|
@ -91,11 +91,26 @@ if __name__ == "__main__":
|
||||||
variables['MESON_COMMIT'] = meson_commit
|
variables['MESON_COMMIT'] = meson_commit
|
||||||
del variables['CI_GSTREAMER_TRIGGERED']
|
del variables['CI_GSTREAMER_TRIGGERED']
|
||||||
|
|
||||||
pipe = cerbero.trigger_pipeline(
|
try:
|
||||||
token=os.environ['CI_JOB_TOKEN'],
|
pipe = cerbero.trigger_pipeline(
|
||||||
ref=cerbero_branch,
|
token=os.environ['CI_JOB_TOKEN'],
|
||||||
variables=variables,
|
ref=cerbero_branch,
|
||||||
)
|
variables=variables,
|
||||||
|
)
|
||||||
|
except gitlab.exceptions.GitlabCreateError as e:
|
||||||
|
if e.response_code == 400:
|
||||||
|
exit('''
|
||||||
|
|
||||||
|
Could not start cerbero sub-pipeline due to insufficient permissions.
|
||||||
|
|
||||||
|
This is not a problem and is expected if you are not a GStreamer
|
||||||
|
developer with merge permission in the cerbero project.
|
||||||
|
|
||||||
|
When your Merge Request is assigned to Marge (our merge bot), it
|
||||||
|
will trigger the cerbero sub-pipeline with the correct permissions.
|
||||||
|
''')
|
||||||
|
else:
|
||||||
|
exit(f'Could not create cerbero sub-pipeline. Error: {e}')
|
||||||
|
|
||||||
fprint(f'Cerbero pipeline running at {pipe.web_url} ')
|
fprint(f'Cerbero pipeline running at {pipe.web_url} ')
|
||||||
while True:
|
while True:
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
set -eux
|
set -eux
|
||||||
|
|
||||||
# Install Rust
|
# Install Rust
|
||||||
RUSTUP_VERSION=1.26.0
|
RUSTUP_VERSION=1.27.0
|
||||||
RUST_VERSION=1.76.0
|
RUST_VERSION=1.77.2
|
||||||
RUST_ARCH="x86_64-unknown-linux-gnu"
|
RUST_ARCH="x86_64-unknown-linux-gnu"
|
||||||
|
|
||||||
RUSTUP_URL=https://static.rust-lang.org/rustup/archive/$RUSTUP_VERSION/$RUST_ARCH/rustup-init
|
RUSTUP_URL=https://static.rust-lang.org/rustup/archive/$RUSTUP_VERSION/$RUST_ARCH/rustup-init
|
||||||
|
@ -19,7 +19,7 @@ chmod +x rustup-init;
|
||||||
rm rustup-init;
|
rm rustup-init;
|
||||||
chmod -R a+w $RUSTUP_HOME $CARGO_HOME
|
chmod -R a+w $RUSTUP_HOME $CARGO_HOME
|
||||||
|
|
||||||
cargo install cargo-c --version 0.9.30+cargo-0.77.0
|
cargo install cargo-c --version 0.9.31+cargo-0.78.0
|
||||||
|
|
||||||
rustup --version
|
rustup --version
|
||||||
cargo --version
|
cargo --version
|
|
@ -4487,21 +4487,21 @@ composition.</doc>
|
||||||
</field>
|
</field>
|
||||||
<field name="posx" writable="1">
|
<field name="posx" writable="1">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-frame-composition-meta.h">The desired x position.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-frame-composition-meta.h">The desired x position.</doc>
|
||||||
<type name="gint" c:type="gint"/>
|
<type name="gdouble" c:type="gdouble"/>
|
||||||
</field>
|
</field>
|
||||||
<field name="posy" writable="1">
|
<field name="posy" writable="1">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-frame-composition-meta.h">The desired y position.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-frame-composition-meta.h">The desired y position.</doc>
|
||||||
<type name="gint" c:type="gint"/>
|
<type name="gdouble" c:type="gdouble"/>
|
||||||
</field>
|
</field>
|
||||||
<field name="height" writable="1">
|
<field name="height" writable="1">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-frame-composition-meta.h">The desired height of the video. -1 means that no scaling should be
|
<doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-frame-composition-meta.h">The desired height of the video. -1 means that no scaling should be
|
||||||
applied.</doc>
|
applied.</doc>
|
||||||
<type name="gint" c:type="gint"/>
|
<type name="gdouble" c:type="gdouble"/>
|
||||||
</field>
|
</field>
|
||||||
<field name="width" writable="1">
|
<field name="width" writable="1">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-frame-composition-meta.h">The desired width of the video. -1 means that no scaling should beapplied
|
<doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-frame-composition-meta.h">The desired width of the video. -1 means that no scaling should beapplied
|
||||||
applied.</doc>
|
applied.</doc>
|
||||||
<type name="gint" c:type="gint"/>
|
<type name="gdouble" c:type="gdouble"/>
|
||||||
</field>
|
</field>
|
||||||
<field name="zorder" writable="1">
|
<field name="zorder" writable="1">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-frame-composition-meta.h">The desired z order.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-editing-services/ges/ges-frame-composition-meta.h">The desired z order.</doc>
|
||||||
|
@ -15458,15 +15458,15 @@ contains one frame)</doc>
|
||||||
<source-position filename="../subprojects/gst-editing-services/ges/ges-version.h"/>
|
<source-position filename="../subprojects/gst-editing-services/ges/ges-version.h"/>
|
||||||
<type name="gint" c:type="gint"/>
|
<type name="gint" c:type="gint"/>
|
||||||
</constant>
|
</constant>
|
||||||
<constant name="VERSION_MICRO" value="90" c:type="GES_VERSION_MICRO">
|
<constant name="VERSION_MICRO" value="0" c:type="GES_VERSION_MICRO">
|
||||||
<source-position filename="../subprojects/gst-editing-services/ges/ges-version.h"/>
|
<source-position filename="../subprojects/gst-editing-services/ges/ges-version.h"/>
|
||||||
<type name="gint" c:type="gint"/>
|
<type name="gint" c:type="gint"/>
|
||||||
</constant>
|
</constant>
|
||||||
<constant name="VERSION_MINOR" value="23" c:type="GES_VERSION_MINOR">
|
<constant name="VERSION_MINOR" value="25" c:type="GES_VERSION_MINOR">
|
||||||
<source-position filename="../subprojects/gst-editing-services/ges/ges-version.h"/>
|
<source-position filename="../subprojects/gst-editing-services/ges/ges-version.h"/>
|
||||||
<type name="gint" c:type="gint"/>
|
<type name="gint" c:type="gint"/>
|
||||||
</constant>
|
</constant>
|
||||||
<constant name="VERSION_NANO" value="0" c:type="GES_VERSION_NANO">
|
<constant name="VERSION_NANO" value="1" c:type="GES_VERSION_NANO">
|
||||||
<source-position filename="../subprojects/gst-editing-services/ges/ges-version.h"/>
|
<source-position filename="../subprojects/gst-editing-services/ges/ges-version.h"/>
|
||||||
<type name="gint" c:type="gint"/>
|
<type name="gint" c:type="gint"/>
|
||||||
</constant>
|
</constant>
|
||||||
|
|
668
girs/Gst-1.0.gir
668
girs/Gst-1.0.gir
|
@ -3739,10 +3739,10 @@ the list should be skipped.</doc>
|
||||||
You must make sure that @idx does not exceed the number of
|
You must make sure that @idx does not exceed the number of
|
||||||
buffers available.</doc>
|
buffers available.</doc>
|
||||||
<source-position filename="../subprojects/gstreamer/gst/gstbufferlist.h"/>
|
<source-position filename="../subprojects/gstreamer/gst/gstbufferlist.h"/>
|
||||||
<return-value transfer-ownership="none" nullable="1">
|
<return-value transfer-ownership="none">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstbufferlist.c">the buffer at @idx in @group
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstbufferlist.c">the buffer at @idx in @group.
|
||||||
or %NULL when there is no buffer. The buffer remains valid as
|
The returned buffer remains valid as long as @list is valid and
|
||||||
long as @list is valid and buffer is not removed from the list.</doc>
|
buffer is not removed from the list.</doc>
|
||||||
<type name="Buffer" c:type="GstBuffer*"/>
|
<type name="Buffer" c:type="GstBuffer*"/>
|
||||||
</return-value>
|
</return-value>
|
||||||
<parameters>
|
<parameters>
|
||||||
|
@ -3762,9 +3762,9 @@ buffers available.</doc>
|
||||||
You must make sure that @idx does not exceed the number of
|
You must make sure that @idx does not exceed the number of
|
||||||
buffers available.</doc>
|
buffers available.</doc>
|
||||||
<source-position filename="../subprojects/gstreamer/gst/gstbufferlist.h"/>
|
<source-position filename="../subprojects/gstreamer/gst/gstbufferlist.h"/>
|
||||||
<return-value transfer-ownership="none" nullable="1">
|
<return-value transfer-ownership="none">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstbufferlist.c">the buffer at @idx in @group.
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstbufferlist.c">the buffer at @idx in @group.
|
||||||
The returned buffer remains valid as long as @list is valid and
|
The returned buffer remains valid as long as @list is valid and
|
||||||
the buffer is not removed from the list.</doc>
|
the buffer is not removed from the list.</doc>
|
||||||
<type name="Buffer" c:type="GstBuffer*"/>
|
<type name="Buffer" c:type="GstBuffer*"/>
|
||||||
</return-value>
|
</return-value>
|
||||||
|
@ -24121,6 +24121,22 @@ MT safe</doc>
|
||||||
</instance-parameter>
|
</instance-parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
|
<method name="get_details" c:identifier="gst_message_get_details" version="1.26">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstmessage.c">Returns the optional details structure of the message. May be NULL if none.
|
||||||
|
|
||||||
|
The returned structure must not be freed.</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstmessage.h"/>
|
||||||
|
<return-value transfer-ownership="none" nullable="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstmessage.c">The details, or NULL if none.</doc>
|
||||||
|
<type name="Structure" c:type="const GstStructure*"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="message" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstmessage.c">A #GstMessage</doc>
|
||||||
|
<type name="Message" c:type="GstMessage*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
<method name="get_num_redirect_entries" c:identifier="gst_message_get_num_redirect_entries" version="1.10">
|
<method name="get_num_redirect_entries" c:identifier="gst_message_get_num_redirect_entries" version="1.10">
|
||||||
<source-position filename="../subprojects/gstreamer/gst/gstmessage.h"/>
|
<source-position filename="../subprojects/gstreamer/gst/gstmessage.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
|
@ -24477,6 +24493,24 @@ The returned structure must not be freed.</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
|
<method name="parse_error_writable_details" c:identifier="gst_message_parse_error_writable_details" version="1.26">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstmessage.c">Returns the details structure if present or will create one if not present.
|
||||||
|
The returned structure must not be freed.</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstmessage.h"/>
|
||||||
|
<return-value transfer-ownership="none">
|
||||||
|
<type name="none" c:type="void"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="message" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstmessage.c">The writable message object</doc>
|
||||||
|
<type name="Message" c:type="GstMessage*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
<parameter name="structure" direction="out" caller-allocates="0" transfer-ownership="none" nullable="1" optional="1" allow-none="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstmessage.c">A pointer to the returned details</doc>
|
||||||
|
<type name="Structure" c:type="GstStructure**"/>
|
||||||
|
</parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
<method name="parse_group_id" c:identifier="gst_message_parse_group_id" version="1.2">
|
<method name="parse_group_id" c:identifier="gst_message_parse_group_id" version="1.2">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstmessage.c">Extract the group from the STREAM_START message.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstmessage.c">Extract the group from the STREAM_START message.</doc>
|
||||||
<source-position filename="../subprojects/gstreamer/gst/gstmessage.h"/>
|
<source-position filename="../subprojects/gstreamer/gst/gstmessage.h"/>
|
||||||
|
@ -24561,6 +24595,24 @@ The returned structure must not be freed.</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
|
<method name="parse_info_writable_details" c:identifier="gst_message_parse_info_writable_details" version="1.26">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstmessage.c">Returns the details structure if present or will create one if not present.
|
||||||
|
The returned structure must not be freed.</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstmessage.h"/>
|
||||||
|
<return-value transfer-ownership="none">
|
||||||
|
<type name="none" c:type="void"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="message" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstmessage.c">The writable message object</doc>
|
||||||
|
<type name="Message" c:type="GstMessage*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
<parameter name="structure" direction="out" caller-allocates="0" transfer-ownership="none" nullable="1" optional="1" allow-none="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstmessage.c">A pointer to the returned details</doc>
|
||||||
|
<type name="Structure" c:type="GstStructure**"/>
|
||||||
|
</parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
<method name="parse_instant_rate_request" c:identifier="gst_message_parse_instant_rate_request" version="1.18">
|
<method name="parse_instant_rate_request" c:identifier="gst_message_parse_instant_rate_request" version="1.18">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstmessage.c">Parses the rate_multiplier from the instant-rate-request message.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstmessage.c">Parses the rate_multiplier from the instant-rate-request message.</doc>
|
||||||
<source-position filename="../subprojects/gstreamer/gst/gstmessage.h"/>
|
<source-position filename="../subprojects/gstreamer/gst/gstmessage.h"/>
|
||||||
|
@ -25209,6 +25261,24 @@ The returned structure must not be freed.</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
|
<method name="parse_warning_writable_details" c:identifier="gst_message_parse_warning_writable_details" version="1.26">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstmessage.c">Returns the details structure if present or will create one if not present.
|
||||||
|
The returned structure must not be freed.</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstmessage.h"/>
|
||||||
|
<return-value transfer-ownership="none">
|
||||||
|
<type name="none" c:type="void"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="message" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstmessage.c">The writable message object</doc>
|
||||||
|
<type name="Message" c:type="GstMessage*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
<parameter name="structure" direction="out" caller-allocates="0" transfer-ownership="none" nullable="1" optional="1" allow-none="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstmessage.c">A pointer to the returned details</doc>
|
||||||
|
<type name="Structure" c:type="GstStructure**"/>
|
||||||
|
</parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
<method name="ref" c:identifier="gst_message_ref" introspectable="0">
|
<method name="ref" c:identifier="gst_message_ref" introspectable="0">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstmessage.c">Convenience macro to increase the reference count of the message.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstmessage.c">Convenience macro to increase the reference count of the message.</doc>
|
||||||
<source-position filename="../subprojects/gstreamer/gst/gstmessage.h"/>
|
<source-position filename="../subprojects/gstreamer/gst/gstmessage.h"/>
|
||||||
|
@ -25252,6 +25322,24 @@ The returned structure must not be freed.</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
|
<method name="set_details" c:identifier="gst_message_set_details" version="1.26">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstmessage.c">Add @details to @message. Will fail if the message already has details set on
|
||||||
|
it or if it is not writable.</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstmessage.h"/>
|
||||||
|
<return-value transfer-ownership="none">
|
||||||
|
<type name="none" c:type="void"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="message" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstmessage.c">A #GstMessage</doc>
|
||||||
|
<type name="Message" c:type="GstMessage*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
<parameter name="details" transfer-ownership="full" nullable="1" allow-none="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstmessage.c">A GstStructure with details</doc>
|
||||||
|
<type name="Structure" c:type="GstStructure*"/>
|
||||||
|
</parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
<method name="set_group_id" c:identifier="gst_message_set_group_id" version="1.2">
|
<method name="set_group_id" c:identifier="gst_message_set_group_id" version="1.2">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstmessage.c">Sets the group id on the stream-start message.
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstmessage.c">Sets the group id on the stream-start message.
|
||||||
|
|
||||||
|
@ -25445,6 +25533,24 @@ freeing it.</doc>
|
||||||
</instance-parameter>
|
</instance-parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
|
<method name="writable_details" c:identifier="gst_message_writable_details" version="1.26">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstmessage.c">Returns the details structure of the @message. If not present it will be
|
||||||
|
created. Use this function (instead of gst_message_get_details()) if you
|
||||||
|
want to write to the @details structure.
|
||||||
|
|
||||||
|
The returned structure must not be freed.</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstmessage.h"/>
|
||||||
|
<return-value transfer-ownership="none" nullable="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstmessage.c">The details, or NULL if none.</doc>
|
||||||
|
<type name="Structure" c:type="GstStructure*"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="message" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstmessage.c">A writable #GstMessage</doc>
|
||||||
|
<type name="Message" c:type="GstMessage*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
<method name="writable_structure" c:identifier="gst_message_writable_structure" version="1.14">
|
<method name="writable_structure" c:identifier="gst_message_writable_structure" version="1.14">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstmessage.c">Get a writable version of the structure.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstmessage.c">Get a writable version of the structure.</doc>
|
||||||
<source-position filename="../subprojects/gstreamer/gst/gstmessage.h"/>
|
<source-position filename="../subprojects/gstreamer/gst/gstmessage.h"/>
|
||||||
|
@ -30985,7 +31091,10 @@ of the peer sink pad, if present.</doc>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="set_offset" c:identifier="gst_pad_set_offset">
|
<method name="set_offset" c:identifier="gst_pad_set_offset">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstpad.c">Set the offset that will be applied to the running time of @pad.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstpad.c">Set the offset that will be applied to the running time of @pad. Upon next
|
||||||
|
buffer, every sticky events (notably segment) will be pushed again with
|
||||||
|
their running time adjusted. For that reason this is only reliable on
|
||||||
|
source pads.</doc>
|
||||||
<source-position filename="../subprojects/gstreamer/gst/gstpad.h"/>
|
<source-position filename="../subprojects/gstreamer/gst/gstpad.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
<type name="none" c:type="void"/>
|
<type name="none" c:type="void"/>
|
||||||
|
@ -43944,9 +44053,10 @@ printf("%" GST_TIME_FORMAT "\n", GST_TIME_ARGS(ts));
|
||||||
<function-macro name="TIME_TO_TIMEVAL" c:identifier="GST_TIME_TO_TIMEVAL" introspectable="0">
|
<function-macro name="TIME_TO_TIMEVAL" c:identifier="GST_TIME_TO_TIMEVAL" introspectable="0">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstclock.h">Converts a #GstClockTime to a GTimeVal
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstclock.h">Converts a #GstClockTime to a GTimeVal
|
||||||
|
|
||||||
> on 32-bit systems, a timeval has a range of only 2^32 - 1 seconds,
|
> on many 32-bit systems, a timeval has a range of only 2^32 - 1 seconds,
|
||||||
> which is about 68 years. Expect trouble if you want to schedule stuff
|
> which is about 68 years. Expect trouble if you want to schedule stuff
|
||||||
> in your pipeline for 2038.</doc>
|
> in your pipeline for 2038. This macro asserts that this case does not
|
||||||
|
> happen.</doc>
|
||||||
<source-position filename="../subprojects/gstreamer/gst/gstclock.h"/>
|
<source-position filename="../subprojects/gstreamer/gst/gstclock.h"/>
|
||||||
<parameters>
|
<parameters>
|
||||||
<parameter name="t">
|
<parameter name="t">
|
||||||
|
@ -49386,17 +49496,17 @@ determine a order for the two provided values.</doc>
|
||||||
<source-position filename="../subprojects/gstreamer/gst/gstversion.h"/>
|
<source-position filename="../subprojects/gstreamer/gst/gstversion.h"/>
|
||||||
<type name="gint" c:type="gint"/>
|
<type name="gint" c:type="gint"/>
|
||||||
</constant>
|
</constant>
|
||||||
<constant name="VERSION_MICRO" value="90" c:type="GST_VERSION_MICRO">
|
<constant name="VERSION_MICRO" value="0" c:type="GST_VERSION_MICRO">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstversion.h">The micro version of GStreamer at compile time:</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstversion.h">The micro version of GStreamer at compile time:</doc>
|
||||||
<source-position filename="../subprojects/gstreamer/gst/gstversion.h"/>
|
<source-position filename="../subprojects/gstreamer/gst/gstversion.h"/>
|
||||||
<type name="gint" c:type="gint"/>
|
<type name="gint" c:type="gint"/>
|
||||||
</constant>
|
</constant>
|
||||||
<constant name="VERSION_MINOR" value="23" c:type="GST_VERSION_MINOR">
|
<constant name="VERSION_MINOR" value="25" c:type="GST_VERSION_MINOR">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstversion.h">The minor version of GStreamer at compile time:</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstversion.h">The minor version of GStreamer at compile time:</doc>
|
||||||
<source-position filename="../subprojects/gstreamer/gst/gstversion.h"/>
|
<source-position filename="../subprojects/gstreamer/gst/gstversion.h"/>
|
||||||
<type name="gint" c:type="gint"/>
|
<type name="gint" c:type="gint"/>
|
||||||
</constant>
|
</constant>
|
||||||
<constant name="VERSION_NANO" value="0" c:type="GST_VERSION_NANO">
|
<constant name="VERSION_NANO" value="1" c:type="GST_VERSION_NANO">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstversion.h">The nano version of GStreamer at compile time:
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstversion.h">The nano version of GStreamer at compile time:
|
||||||
Actual releases have 0, GIT versions have 1, prerelease versions have 2-...</doc>
|
Actual releases have 0, GIT versions have 1, prerelease versions have 2-...</doc>
|
||||||
<source-position filename="../subprojects/gstreamer/gst/gstversion.h"/>
|
<source-position filename="../subprojects/gstreamer/gst/gstversion.h"/>
|
||||||
|
@ -49765,6 +49875,463 @@ Free-function: g_free</doc>
|
||||||
</array>
|
</array>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
<record name="VecDeque" c:type="GstVecDeque" disguised="1" version="1.26" introspectable="0">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">#GstVecDeque is an object that provides standard double-ended queue (deque)
|
||||||
|
functionality based on an array instead of linked lists. This reduces the
|
||||||
|
overhead caused by memory management by a large factor.</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstvecdeque.h"/>
|
||||||
|
<method name="clear" c:identifier="gst_vec_deque_clear" version="1.26" introspectable="0">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">Clears queue @array and frees all memory associated to it.</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstvecdeque.h"/>
|
||||||
|
<return-value transfer-ownership="none">
|
||||||
|
<type name="none" c:type="void"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="array" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">a #GstVecDeque object</doc>
|
||||||
|
<type name="VecDeque" c:type="GstVecDeque*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
|
<method name="drop_element" c:identifier="gst_vec_deque_drop_element" version="1.26" introspectable="0">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">Drops the queue element at position @idx from queue @array.</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstvecdeque.h"/>
|
||||||
|
<return-value transfer-ownership="none" nullable="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">the dropped element</doc>
|
||||||
|
<type name="gpointer" c:type="gpointer"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="array" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">a #GstVecDeque object</doc>
|
||||||
|
<type name="VecDeque" c:type="GstVecDeque*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
<parameter name="idx" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">index to drop</doc>
|
||||||
|
<type name="gsize" c:type="gsize"/>
|
||||||
|
</parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
|
<method name="drop_struct" c:identifier="gst_vec_deque_drop_struct" version="1.26" introspectable="0">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">Drops the queue element at position @idx from queue @array and copies the
|
||||||
|
data of the element or structure that was removed into @p_struct if
|
||||||
|
@p_struct is set (not NULL).</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstvecdeque.h"/>
|
||||||
|
<return-value transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">TRUE on success, or FALSE on error</doc>
|
||||||
|
<type name="gboolean" c:type="gboolean"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="array" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">a #GstVecDeque object</doc>
|
||||||
|
<type name="VecDeque" c:type="GstVecDeque*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
<parameter name="idx" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">index to drop</doc>
|
||||||
|
<type name="gsize" c:type="gsize"/>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="p_struct" transfer-ownership="none" nullable="1" allow-none="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">address into which to store the data of the dropped structure, or NULL</doc>
|
||||||
|
<type name="gpointer" c:type="gpointer"/>
|
||||||
|
</parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
|
<method name="find" c:identifier="gst_vec_deque_find" version="1.26" introspectable="0">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">Finds an element in the queue @array, either by comparing every element
|
||||||
|
with @func or by looking up @data if no compare function @func is provided,
|
||||||
|
and returning the index of the found element.</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstvecdeque.h"/>
|
||||||
|
<return-value transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">Index of the found element or -1 if nothing was found.</doc>
|
||||||
|
<type name="gsize" c:type="gsize"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="array" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">a #GstVecDeque object</doc>
|
||||||
|
<type name="VecDeque" c:type="GstVecDeque*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
<parameter name="func" transfer-ownership="none" nullable="1" allow-none="1" closure="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">comparison function, or %NULL to find @data by value</doc>
|
||||||
|
<type name="GLib.CompareFunc" c:type="GCompareFunc"/>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">data for comparison function</doc>
|
||||||
|
<type name="gpointer" c:type="gpointer"/>
|
||||||
|
</parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
|
<method name="free" c:identifier="gst_vec_deque_free" version="1.26" introspectable="0">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">Frees queue @array and all memory associated to it.</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstvecdeque.h"/>
|
||||||
|
<return-value transfer-ownership="none">
|
||||||
|
<type name="none" c:type="void"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="array" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">a #GstVecDeque object</doc>
|
||||||
|
<type name="VecDeque" c:type="GstVecDeque*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
|
<method name="get_length" c:identifier="gst_vec_deque_get_length" version="1.26" introspectable="0">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">Returns the length of the queue @array</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstvecdeque.h"/>
|
||||||
|
<return-value transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">the length of the queue @array.</doc>
|
||||||
|
<type name="gsize" c:type="gsize"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="array" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">a #GstVecDeque object</doc>
|
||||||
|
<type name="VecDeque" c:type="GstVecDeque*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
|
<method name="is_empty" c:identifier="gst_vec_deque_is_empty" version="1.26" introspectable="0">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">Checks if the queue @array is empty.</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstvecdeque.h"/>
|
||||||
|
<return-value transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">%TRUE if the queue @array is empty</doc>
|
||||||
|
<type name="gboolean" c:type="gboolean"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="array" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">a #GstVecDeque object</doc>
|
||||||
|
<type name="VecDeque" c:type="GstVecDeque*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
|
<method name="peek_head" c:identifier="gst_vec_deque_peek_head" version="1.26" introspectable="0">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">Returns the head of the queue @array and does not
|
||||||
|
remove it from the queue.</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstvecdeque.h"/>
|
||||||
|
<return-value transfer-ownership="none" nullable="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">The head of the queue</doc>
|
||||||
|
<type name="gpointer" c:type="gpointer"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="array" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">a #GstVecDeque object</doc>
|
||||||
|
<type name="VecDeque" c:type="GstVecDeque*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
|
<method name="peek_head_struct" c:identifier="gst_vec_deque_peek_head_struct" version="1.26" introspectable="0">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">Returns the head of the queue @array without removing it from the queue.</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstvecdeque.h"/>
|
||||||
|
<return-value transfer-ownership="none" nullable="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">pointer to element or struct, or NULL if @array was empty. The
|
||||||
|
data pointed to by the returned pointer stays valid only as long as
|
||||||
|
the queue array is not modified further!</doc>
|
||||||
|
<type name="gpointer" c:type="gpointer"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="array" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">a #GstVecDeque object</doc>
|
||||||
|
<type name="VecDeque" c:type="GstVecDeque*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
|
<method name="peek_nth" c:identifier="gst_vec_deque_peek_nth" version="1.26" introspectable="0">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">Returns the item at @idx in @array, but does not remove it from the queue.</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstvecdeque.h"/>
|
||||||
|
<return-value transfer-ownership="none" nullable="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">The item, or %NULL if @idx was out of bounds</doc>
|
||||||
|
<type name="gpointer" c:type="gpointer"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="array" transfer-ownership="none">
|
||||||
|
<type name="VecDeque" c:type="GstVecDeque*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
<parameter name="idx" transfer-ownership="none">
|
||||||
|
<type name="gsize" c:type="gsize"/>
|
||||||
|
</parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
|
<method name="peek_nth_struct" c:identifier="gst_vec_deque_peek_nth_struct" version="1.26" introspectable="0">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">Returns the item at @idx in @array, but does not remove it from the queue.</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstvecdeque.h"/>
|
||||||
|
<return-value transfer-ownership="none" nullable="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">The item, or %NULL if @idx was out of bounds</doc>
|
||||||
|
<type name="gpointer" c:type="gpointer"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="array" transfer-ownership="none">
|
||||||
|
<type name="VecDeque" c:type="GstVecDeque*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
<parameter name="idx" transfer-ownership="none">
|
||||||
|
<type name="gsize" c:type="gsize"/>
|
||||||
|
</parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
|
<method name="peek_tail" c:identifier="gst_vec_deque_peek_tail" version="1.26" introspectable="0">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">Returns the tail of the queue @array, but does not remove it from the queue.</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstvecdeque.h"/>
|
||||||
|
<return-value transfer-ownership="none" nullable="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">The tail of the queue</doc>
|
||||||
|
<type name="gpointer" c:type="gpointer"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="array" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">a #GstVecDeque object</doc>
|
||||||
|
<type name="VecDeque" c:type="GstVecDeque*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
|
<method name="peek_tail_struct" c:identifier="gst_vec_deque_peek_tail_struct" version="1.26" introspectable="0">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">Returns the tail of the queue @array, but does not remove it from the queue.</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstvecdeque.h"/>
|
||||||
|
<return-value transfer-ownership="none" nullable="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">The tail of the queue</doc>
|
||||||
|
<type name="gpointer" c:type="gpointer"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="array" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">a #GstVecDeque object</doc>
|
||||||
|
<type name="VecDeque" c:type="GstVecDeque*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
|
<method name="pop_head" c:identifier="gst_vec_deque_pop_head" version="1.26" introspectable="0">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">Returns and head of the queue @array and removes
|
||||||
|
it from the queue.</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstvecdeque.h"/>
|
||||||
|
<return-value transfer-ownership="none" nullable="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">The head of the queue</doc>
|
||||||
|
<type name="gpointer" c:type="gpointer"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="array" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">a #GstVecDeque object</doc>
|
||||||
|
<type name="VecDeque" c:type="GstVecDeque*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
|
<method name="pop_head_struct" c:identifier="gst_vec_deque_pop_head_struct" version="1.26" introspectable="0">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">Returns the head of the queue @array and removes it from the queue.</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstvecdeque.h"/>
|
||||||
|
<return-value transfer-ownership="none" nullable="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">pointer to element or struct, or NULL if @array was empty. The
|
||||||
|
data pointed to by the returned pointer stays valid only as long as
|
||||||
|
the queue array is not modified further!</doc>
|
||||||
|
<type name="gpointer" c:type="gpointer"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="array" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">a #GstVecDeque object</doc>
|
||||||
|
<type name="VecDeque" c:type="GstVecDeque*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
|
<method name="pop_tail" c:identifier="gst_vec_deque_pop_tail" version="1.26" introspectable="0">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">Returns the tail of the queue @array and removes
|
||||||
|
it from the queue.</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstvecdeque.h"/>
|
||||||
|
<return-value transfer-ownership="none" nullable="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">The tail of the queue</doc>
|
||||||
|
<type name="gpointer" c:type="gpointer"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="array" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">a #GstVecDeque object</doc>
|
||||||
|
<type name="VecDeque" c:type="GstVecDeque*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
|
<method name="pop_tail_struct" c:identifier="gst_vec_deque_pop_tail_struct" version="1.26" introspectable="0">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">Returns the tail of the queue @array and removes
|
||||||
|
it from the queue.</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstvecdeque.h"/>
|
||||||
|
<return-value transfer-ownership="none" nullable="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">The tail of the queue</doc>
|
||||||
|
<type name="gpointer" c:type="gpointer"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="array" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">a #GstVecDeque object</doc>
|
||||||
|
<type name="VecDeque" c:type="GstVecDeque*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
|
<method name="push_sorted" c:identifier="gst_vec_deque_push_sorted" version="1.26" introspectable="0">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">Pushes @data to the queue @array, finding the correct position
|
||||||
|
by comparing @data with each array element using @func.
|
||||||
|
|
||||||
|
This has a time complexity of O(n), so depending on the size of the queue
|
||||||
|
and expected access patterns, a different data structure might be better.
|
||||||
|
|
||||||
|
Assumes that the array is already sorted. If it is not, make sure
|
||||||
|
to call gst_vec_deque_sort() first.</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstvecdeque.h"/>
|
||||||
|
<return-value transfer-ownership="none">
|
||||||
|
<type name="none" c:type="void"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="array" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">a #GstVecDeque object</doc>
|
||||||
|
<type name="VecDeque" c:type="GstVecDeque*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
<parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">object to push</doc>
|
||||||
|
<type name="gpointer" c:type="gpointer"/>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="func" transfer-ownership="none" closure="2">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">comparison function</doc>
|
||||||
|
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">data for comparison function</doc>
|
||||||
|
<type name="gpointer" c:type="gpointer"/>
|
||||||
|
</parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
|
<method name="push_sorted_struct" c:identifier="gst_vec_deque_push_sorted_struct" version="1.26" introspectable="0">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">Pushes the element at address @p_struct into the queue @array
|
||||||
|
(copying the contents of a structure of the struct_size specified
|
||||||
|
when creating the queue into the array), finding the correct position
|
||||||
|
by comparing the element at @p_struct with each element in the array using @func.
|
||||||
|
|
||||||
|
This has a time complexity of O(n), so depending on the size of the queue
|
||||||
|
and expected access patterns, a different data structure might be better.
|
||||||
|
|
||||||
|
Assumes that the array is already sorted. If it is not, make sure
|
||||||
|
to call gst_vec_deque_sort() first.</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstvecdeque.h"/>
|
||||||
|
<return-value transfer-ownership="none">
|
||||||
|
<type name="none" c:type="void"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="array" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">a #GstVecDeque object</doc>
|
||||||
|
<type name="VecDeque" c:type="GstVecDeque*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
<parameter name="p_struct" transfer-ownership="none" nullable="1" allow-none="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">address of element or structure to push into the queue</doc>
|
||||||
|
<type name="gpointer" c:type="gpointer"/>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="func" transfer-ownership="none" closure="2">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">comparison function</doc>
|
||||||
|
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">data for comparison function</doc>
|
||||||
|
<type name="gpointer" c:type="gpointer"/>
|
||||||
|
</parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
|
<method name="push_tail" c:identifier="gst_vec_deque_push_tail" version="1.26" introspectable="0">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">Pushes @data to the tail of the queue @array.</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstvecdeque.h"/>
|
||||||
|
<return-value transfer-ownership="none">
|
||||||
|
<type name="none" c:type="void"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="array" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">a #GstVecDeque object</doc>
|
||||||
|
<type name="VecDeque" c:type="GstVecDeque*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
<parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">object to push</doc>
|
||||||
|
<type name="gpointer" c:type="gpointer"/>
|
||||||
|
</parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
|
<method name="push_tail_struct" c:identifier="gst_vec_deque_push_tail_struct">
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstvecdeque.h"/>
|
||||||
|
<return-value transfer-ownership="none">
|
||||||
|
<type name="none" c:type="void"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="array" transfer-ownership="none">
|
||||||
|
<type name="VecDeque" c:type="GstVecDeque*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
<parameter name="p_struct" transfer-ownership="none" nullable="1" allow-none="1">
|
||||||
|
<type name="gpointer" c:type="gpointer"/>
|
||||||
|
</parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
|
<method name="set_clear_func" c:identifier="gst_vec_deque_set_clear_func" version="1.26" introspectable="0">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">Sets a function to clear an element of @array.
|
||||||
|
|
||||||
|
The @clear_func will be called when an element in the array
|
||||||
|
data segment is removed and when the array is freed and data
|
||||||
|
segment is deallocated as well. @clear_func will be passed a
|
||||||
|
pointer to the element to clear, rather than the element itself.
|
||||||
|
|
||||||
|
Note that in contrast with other uses of #GDestroyNotify
|
||||||
|
functions, @clear_func is expected to clear the contents of
|
||||||
|
the array element it is given, but not free the element itself.</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstvecdeque.h"/>
|
||||||
|
<return-value transfer-ownership="none">
|
||||||
|
<type name="none" c:type="void"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="array" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">a #GstVecDeque object</doc>
|
||||||
|
<type name="VecDeque" c:type="GstVecDeque*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
<parameter name="clear_func" transfer-ownership="none" scope="async">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">a function to clear an element of @array</doc>
|
||||||
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
||||||
|
</parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
|
<method name="sort" c:identifier="gst_vec_deque_sort" version="1.26" introspectable="0">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">Sorts the queue @array by comparing elements against each other using
|
||||||
|
the provided @compare_func.</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstvecdeque.h"/>
|
||||||
|
<return-value transfer-ownership="none">
|
||||||
|
<type name="none" c:type="void"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="array" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">a #GstVecDeque object</doc>
|
||||||
|
<type name="VecDeque" c:type="GstVecDeque*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
<parameter name="compare_func" transfer-ownership="none" closure="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">comparison function</doc>
|
||||||
|
<type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">data for comparison function</doc>
|
||||||
|
<type name="gpointer" c:type="gpointer"/>
|
||||||
|
</parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
|
<function name="new" c:identifier="gst_vec_deque_new" version="1.26" introspectable="0">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">Allocates a new #GstVecDeque object with an initial
|
||||||
|
queue size of @initial_size.</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstvecdeque.h"/>
|
||||||
|
<return-value>
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">a new #GstVecDeque object</doc>
|
||||||
|
<type name="VecDeque" c:type="GstVecDeque*"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<parameter name="initial_size" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">Initial size of the new queue</doc>
|
||||||
|
<type name="gsize" c:type="gsize"/>
|
||||||
|
</parameter>
|
||||||
|
</parameters>
|
||||||
|
</function>
|
||||||
|
<function name="new_for_struct" c:identifier="gst_vec_deque_new_for_struct" version="1.26" introspectable="0">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">Allocates a new #GstVecDeque object for elements (e.g. structures)
|
||||||
|
of size @struct_size, with an initial queue size of @initial_size.</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstvecdeque.h"/>
|
||||||
|
<return-value>
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">a new #GstVecDeque object</doc>
|
||||||
|
<type name="VecDeque" c:type="GstVecDeque*"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<parameter name="struct_size" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">Size of each element (e.g. structure) in the array</doc>
|
||||||
|
<type name="gsize" c:type="gsize"/>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="initial_size" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">Initial size of the new queue</doc>
|
||||||
|
<type name="gsize" c:type="gsize"/>
|
||||||
|
</parameter>
|
||||||
|
</parameters>
|
||||||
|
</function>
|
||||||
|
</record>
|
||||||
<function-macro name="WRITE_UINT16_BE" c:identifier="GST_WRITE_UINT16_BE" introspectable="0">
|
<function-macro name="WRITE_UINT16_BE" c:identifier="GST_WRITE_UINT16_BE" introspectable="0">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstutils.h">Store a 16 bit unsigned integer value in big endian format into the memory buffer.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstutils.h">Store a 16 bit unsigned integer value in big endian format into the memory buffer.</doc>
|
||||||
<source-position filename="../subprojects/gstreamer/gst/gstutils.h"/>
|
<source-position filename="../subprojects/gstreamer/gst/gstutils.h"/>
|
||||||
|
@ -51090,6 +51657,47 @@ would write out.</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</function>
|
</function>
|
||||||
|
<function name="debug_print_object" c:identifier="gst_debug_print_object" version="1.26">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstinfo.c">Returns a string that represents @ptr. This is safe to call with
|
||||||
|
%GstStructure, %GstCapsFeatures, %GstMiniObject s (e.g. %GstCaps,
|
||||||
|
%GstBuffer or %GstMessage), and %GObjects (e.g. %GstElement or %GstPad).
|
||||||
|
|
||||||
|
The string representation is meant to be used for debugging purposes and
|
||||||
|
might change between GStreamer versions.
|
||||||
|
|
||||||
|
Passing other kind of pointers might or might not work and is generally
|
||||||
|
unsafe to do.</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstinfo.h"/>
|
||||||
|
<return-value transfer-ownership="full">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstinfo.c">a string containing a string
|
||||||
|
representation of the object</doc>
|
||||||
|
<type name="utf8" c:type="gchar*"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<parameter name="ptr" transfer-ownership="none" nullable="1" allow-none="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstinfo.c">the object</doc>
|
||||||
|
<type name="gpointer" c:type="gconstpointer"/>
|
||||||
|
</parameter>
|
||||||
|
</parameters>
|
||||||
|
</function>
|
||||||
|
<function name="debug_print_segment" c:identifier="gst_debug_print_segment" version="1.26">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstinfo.c">Returns a string that represents @segments.
|
||||||
|
|
||||||
|
The string representation is meant to be used for debugging purposes and
|
||||||
|
might change between GStreamer versions.</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstinfo.h"/>
|
||||||
|
<return-value transfer-ownership="full">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstinfo.c">a string containing a string
|
||||||
|
representation of the segment</doc>
|
||||||
|
<type name="utf8" c:type="gchar*"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<parameter name="segment" transfer-ownership="none" nullable="1" allow-none="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstinfo.c">the %GstSegment</doc>
|
||||||
|
<type name="Segment" c:type="const GstSegment*"/>
|
||||||
|
</parameter>
|
||||||
|
</parameters>
|
||||||
|
</function>
|
||||||
<function name="debug_print_stack_trace" c:identifier="gst_debug_print_stack_trace">
|
<function name="debug_print_stack_trace" c:identifier="gst_debug_print_stack_trace">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstinfo.c">If libunwind, glibc backtrace or DbgHelp are present
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstinfo.c">If libunwind, glibc backtrace or DbgHelp are present
|
||||||
a stack trace is printed.</doc>
|
a stack trace is printed.</doc>
|
||||||
|
@ -56118,6 +56726,40 @@ Note that this means subtraction as in sets, not as in mathematics.</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</function>
|
</function>
|
||||||
|
<function name="vec_deque_new" c:identifier="gst_vec_deque_new" moved-to="VecDeque.new" version="1.26" introspectable="0">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">Allocates a new #GstVecDeque object with an initial
|
||||||
|
queue size of @initial_size.</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstvecdeque.h"/>
|
||||||
|
<return-value>
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">a new #GstVecDeque object</doc>
|
||||||
|
<type name="VecDeque" c:type="GstVecDeque*"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<parameter name="initial_size" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">Initial size of the new queue</doc>
|
||||||
|
<type name="gsize" c:type="gsize"/>
|
||||||
|
</parameter>
|
||||||
|
</parameters>
|
||||||
|
</function>
|
||||||
|
<function name="vec_deque_new_for_struct" c:identifier="gst_vec_deque_new_for_struct" moved-to="VecDeque.new_for_struct" version="1.26" introspectable="0">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">Allocates a new #GstVecDeque object for elements (e.g. structures)
|
||||||
|
of size @struct_size, with an initial queue size of @initial_size.</doc>
|
||||||
|
<source-position filename="../subprojects/gstreamer/gst/gstvecdeque.h"/>
|
||||||
|
<return-value>
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">a new #GstVecDeque object</doc>
|
||||||
|
<type name="VecDeque" c:type="GstVecDeque*"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<parameter name="struct_size" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">Size of each element (e.g. structure) in the array</doc>
|
||||||
|
<type name="gsize" c:type="gsize"/>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="initial_size" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gstvecdeque.c">Initial size of the new queue</doc>
|
||||||
|
<type name="gsize" c:type="gsize"/>
|
||||||
|
</parameter>
|
||||||
|
</parameters>
|
||||||
|
</function>
|
||||||
<function name="version" c:identifier="gst_version">
|
<function name="version" c:identifier="gst_version">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gst.c">Gets the version number of the GStreamer library.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/gst/gst.c">Gets the version number of the GStreamer library.</doc>
|
||||||
<source-position filename="../subprojects/gstreamer/gst/gst.h"/>
|
<source-position filename="../subprojects/gstreamer/gst/gst.h"/>
|
||||||
|
|
|
@ -11,10 +11,6 @@ and/or use gtk-doc annotations. -->
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
||||||
<type name="guintptr" c:type="guintptr"/>
|
<type name="guintptr" c:type="guintptr"/>
|
||||||
</alias>
|
</alias>
|
||||||
<constant name="AN_RELATION_META_TAG" value="GST-ANALYSIS-RELATION-META-TAG" c:type="GST_AN_RELATION_META_TAG">
|
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
|
||||||
<type name="utf8" c:type="gchar*"/>
|
|
||||||
</constant>
|
|
||||||
<record name="ClsMtd" c:type="GstAnalyticsClsMtd" version="1.24">
|
<record name="ClsMtd" c:type="GstAnalyticsClsMtd" version="1.24">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsclassificationmtd.h">Handle containing data required to use gst_analytics_cls_mtd APIs. This type
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsclassificationmtd.h">Handle containing data required to use gst_analytics_cls_mtd APIs. This type
|
||||||
is generally expected to be allocated on the stack.</doc>
|
is generally expected to be allocated on the stack.</doc>
|
||||||
|
@ -98,7 +94,7 @@ Get quark of the class at @index</doc>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<function name="get_mtd_type" c:identifier="gst_analytics_cls_mtd_get_mtd_type" version="1.24">
|
<function name="get_mtd_type" c:identifier="gst_analytics_cls_mtd_get_mtd_type" version="1.24">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsclassificationmtd.c">Get a id identifying #GstAnalyticsMtd type.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsclassificationmtd.c">Get an id identifying #GstAnalyticsMtd type.</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsclassificationmtd.h"/>
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsclassificationmtd.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsclassificationmtd.c">opaque id of #GstAnalyticsMtd type</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsclassificationmtd.c">opaque id of #GstAnalyticsMtd type</doc>
|
||||||
|
@ -106,11 +102,13 @@ Get quark of the class at @index</doc>
|
||||||
</return-value>
|
</return-value>
|
||||||
</function>
|
</function>
|
||||||
</record>
|
</record>
|
||||||
<constant name="INF_RELATION_SPAN" value="-1" c:type="GST_INF_RELATION_SPAN">
|
<constant name="INF_RELATION_SPAN" value="-1" c:type="GST_INF_RELATION_SPAN" version="1.24">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h">Passes to functions asking for a relation span when the span is
|
||||||
|
infinite.</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
||||||
<type name="gint" c:type="gint"/>
|
<type name="gint" c:type="gint"/>
|
||||||
</constant>
|
</constant>
|
||||||
<function-macro name="MTD_CAST" c:identifier="GST_ANALYTICS_MTD_CAST" introspectable="0">
|
<function-macro name="MTD_CAST" c:identifier="GST_ANALYTICS_MTD_CAST" version="1.24" introspectable="0">
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
||||||
<parameters>
|
<parameters>
|
||||||
<parameter name="mtd">
|
<parameter name="mtd">
|
||||||
|
@ -136,6 +134,7 @@ identified by @id is stored.</doc>
|
||||||
<type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
|
<type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
|
||||||
</field>
|
</field>
|
||||||
<method name="get_id" c:identifier="gst_analytics_mtd_get_id" version="1.24">
|
<method name="get_id" c:identifier="gst_analytics_mtd_get_id" version="1.24">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Get instance id</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Id of @instance</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Id of @instance</doc>
|
||||||
|
@ -143,8 +142,7 @@ identified by @id is stored.</doc>
|
||||||
</return-value>
|
</return-value>
|
||||||
<parameters>
|
<parameters>
|
||||||
<instance-parameter name="instance" transfer-ownership="none">
|
<instance-parameter name="instance" transfer-ownership="none">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Instance of #GstAnalyticsMtd
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Instance of #GstAnalyticsMtd</doc>
|
||||||
Get instance id</doc>
|
|
||||||
<type name="Mtd" c:type="GstAnalyticsMtd*"/>
|
<type name="Mtd" c:type="GstAnalyticsMtd*"/>
|
||||||
</instance-parameter>
|
</instance-parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
|
@ -164,8 +162,7 @@ Get analysis result type.</doc>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="get_size" c:identifier="gst_analytics_mtd_get_size" version="1.24">
|
<method name="get_size" c:identifier="gst_analytics_mtd_get_size" version="1.24">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">@instance Instance of #GstAnalyticsRelatableMtd
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Get instance size</doc>
|
||||||
Get instance size</doc>
|
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Size (in bytes) of this instance or 0 on failure.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Size (in bytes) of this instance or 0 on failure.</doc>
|
||||||
|
@ -173,6 +170,7 @@ Get instance size</doc>
|
||||||
</return-value>
|
</return-value>
|
||||||
<parameters>
|
<parameters>
|
||||||
<instance-parameter name="instance" transfer-ownership="none">
|
<instance-parameter name="instance" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Instance of #GstAnalyticsMtd</doc>
|
||||||
<type name="Mtd" c:type="GstAnalyticsMtd*"/>
|
<type name="Mtd" c:type="GstAnalyticsMtd*"/>
|
||||||
</instance-parameter>
|
</instance-parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
|
@ -192,9 +190,12 @@ Get instance size</doc>
|
||||||
</parameters>
|
</parameters>
|
||||||
</function>
|
</function>
|
||||||
</record>
|
</record>
|
||||||
<record name="MtdImpl" c:type="GstAnalyticsMtdImpl">
|
<record name="MtdImpl" c:type="GstAnalyticsMtdImpl" version="1.24">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h">This structure must be provided when registering a new type of Mtd. It must
|
||||||
|
have a static lifetime (never be freed).</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
||||||
<field name="name" writable="1">
|
<field name="name" writable="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h">The name of the metadata type</doc>
|
||||||
<type name="utf8" c:type="const char*"/>
|
<type name="utf8" c:type="const char*"/>
|
||||||
</field>
|
</field>
|
||||||
<field name="mtd_meta_transform">
|
<field name="mtd_meta_transform">
|
||||||
|
@ -222,7 +223,7 @@ Get instance size</doc>
|
||||||
</parameters>
|
</parameters>
|
||||||
</callback>
|
</callback>
|
||||||
</field>
|
</field>
|
||||||
<field name="_reserved" writable="1">
|
<field name="_reserved" readable="0" private="1">
|
||||||
<array zero-terminated="0" fixed-size="20">
|
<array zero-terminated="0" fixed-size="20">
|
||||||
<type name="gpointer" c:type="gpointer"/>
|
<type name="gpointer" c:type="gpointer"/>
|
||||||
</array>
|
</array>
|
||||||
|
@ -311,7 +312,7 @@ identified by @id is stored.</doc>
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c">Get an id that represent object-detection metadata type</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c">Get an id that represent object-detection metadata type</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.h"/>
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c">Opaqu id of the #GstAnalyticsMtd type</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c">Opaque id of the #GstAnalyticsMtd type</doc>
|
||||||
<type name="MtdType" c:type="GstAnalyticsMtdType"/>
|
<type name="MtdType" c:type="GstAnalyticsMtdType"/>
|
||||||
</return-value>
|
</return-value>
|
||||||
</function>
|
</function>
|
||||||
|
@ -336,7 +337,11 @@ identified by @id is stored.</doc>
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h">Only use for criteria.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h">Only use for criteria.</doc>
|
||||||
</member>
|
</member>
|
||||||
</bitfield>
|
</bitfield>
|
||||||
<record name="RelationMeta" c:type="GstAnalyticsRelationMeta" disguised="1">
|
<record name="RelationMeta" c:type="GstAnalyticsRelationMeta" disguised="1" version="1.24">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h">An opaque #GstMeta that can be used to hold various types of results
|
||||||
|
from analysis processes.
|
||||||
|
|
||||||
|
The content should be accessed through the API.</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
||||||
<method name="add_cls_mtd" c:identifier="gst_analytics_relation_meta_add_cls_mtd" version="1.24">
|
<method name="add_cls_mtd" c:identifier="gst_analytics_relation_meta_add_cls_mtd" version="1.24">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsclassificationmtd.c">Add analytic classification metadata to @instance.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsclassificationmtd.c">Add analytic classification metadata to @instance.</doc>
|
||||||
|
@ -374,14 +379,12 @@ identified by @id is stored.</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="add_mtd" c:identifier="gst_analytics_relation_meta_add_mtd" introspectable="0">
|
<method name="add_mtd" c:identifier="gst_analytics_relation_meta_add_mtd" version="1.24" introspectable="0">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Add a relatable metadata to @meta. This method is meant to be used by
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Add a relatable metadata to @meta. This method is meant to be used by
|
||||||
new struct sub-classing GstAnalyticsRelatableMtd.</doc>
|
new struct sub-classing GstAnalyticsRelatableMtd.</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
||||||
<return-value transfer-ownership="none" nullable="1">
|
<return-value transfer-ownership="none" nullable="1">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">A pointer to a memory area of size @size where to put the data
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">A pointer to a memory area of size @size where to put the data</doc>
|
||||||
|
|
||||||
Since 1.24</doc>
|
|
||||||
<type name="gpointer" c:type="gpointer"/>
|
<type name="gpointer" c:type="gpointer"/>
|
||||||
</return-value>
|
</return-value>
|
||||||
<parameters>
|
<parameters>
|
||||||
|
@ -499,7 +502,7 @@ Add an analytic tracking metadata to @instance.</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="exist" c:identifier="gst_analytics_relation_meta_exist">
|
<method name="exist" c:identifier="gst_analytics_relation_meta_exist" version="1.24">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Verify existence of relation(s) between @an_meta_first_d and
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Verify existence of relation(s) between @an_meta_first_d and
|
||||||
@an_meta_second_id according to relation condition @cond_types. It optionally
|
@an_meta_second_id according to relation condition @cond_types. It optionally
|
||||||
also return a shortest path of relations ( compliant with @cond_types)
|
also return a shortest path of relations ( compliant with @cond_types)
|
||||||
|
@ -507,9 +510,7 @@ between @an_meta_first_id and @an_meta_second_id.</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">TRUE if a relation between exit between @an_meta_first_id and
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">TRUE if a relation between exit between @an_meta_first_id and
|
||||||
@an_meta_second_id, otherwise FALSE.
|
@an_meta_second_id, otherwise FALSE.</doc>
|
||||||
|
|
||||||
Since 1.24</doc>
|
|
||||||
<type name="gboolean" c:type="gboolean"/>
|
<type name="gboolean" c:type="gboolean"/>
|
||||||
</return-value>
|
</return-value>
|
||||||
<parameters>
|
<parameters>
|
||||||
|
@ -550,14 +551,12 @@ Since 1.24</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="get_cls_mtd" c:identifier="gst_analytics_relation_meta_get_cls_mtd">
|
<method name="get_cls_mtd" c:identifier="gst_analytics_relation_meta_get_cls_mtd" version="1.24">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsclassificationmtd.c">Fill @rlt if a analytics-meta with id == @an_meta_id exist in @meta instance,
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsclassificationmtd.c">Fill @rlt if a analytics-meta with id == @an_meta_id exist in @meta instance,
|
||||||
otherwise this method return FALSE and @rlt is invalid.</doc>
|
otherwise this method return FALSE and @rlt is invalid.</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsclassificationmtd.h"/>
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsclassificationmtd.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsclassificationmtd.c">TRUE if successful.
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsclassificationmtd.c">TRUE if successful.</doc>
|
||||||
|
|
||||||
Since 1.24</doc>
|
|
||||||
<type name="gboolean" c:type="gboolean"/>
|
<type name="gboolean" c:type="gboolean"/>
|
||||||
</return-value>
|
</return-value>
|
||||||
<parameters>
|
<parameters>
|
||||||
|
@ -576,12 +575,10 @@ Since 1.24</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="get_direct_related" c:identifier="gst_analytics_relation_meta_get_direct_related">
|
<method name="get_direct_related" c:identifier="gst_analytics_relation_meta_get_direct_related" version="1.24">
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">TRUE if @rlt_mtd was updated, other wise FALSE
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">TRUE if @rlt_mtd was updated, other wise FALSE</doc>
|
||||||
|
|
||||||
Since 1.24</doc>
|
|
||||||
<type name="gboolean" c:type="gboolean"/>
|
<type name="gboolean" c:type="gboolean"/>
|
||||||
</return-value>
|
</return-value>
|
||||||
<parameters>
|
<parameters>
|
||||||
|
@ -614,14 +611,12 @@ Since 1.24</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="get_mtd" c:identifier="gst_analytics_relation_meta_get_mtd">
|
<method name="get_mtd" c:identifier="gst_analytics_relation_meta_get_mtd" version="1.24">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Fill @rlt if a analytics-meta with id == @an_meta_id exist in @meta instance,
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Fill @rlt if a analytics-meta with id == @an_meta_id exist in @meta instance,
|
||||||
otherwise this method return FALSE and @rlt is invalid.</doc>
|
otherwise this method return FALSE and @rlt is invalid.</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">TRUE if successful.
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">TRUE if successful.</doc>
|
||||||
|
|
||||||
Since 1.24</doc>
|
|
||||||
<type name="gboolean" c:type="gboolean"/>
|
<type name="gboolean" c:type="gboolean"/>
|
||||||
</return-value>
|
</return-value>
|
||||||
<parameters>
|
<parameters>
|
||||||
|
@ -645,12 +640,10 @@ Since 1.24</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="get_mtd_data" c:identifier="gst_analytics_relation_meta_get_mtd_data" introspectable="0">
|
<method name="get_mtd_data" c:identifier="gst_analytics_relation_meta_get_mtd_data" version="1.24" introspectable="0">
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
||||||
<return-value transfer-ownership="none" nullable="1">
|
<return-value transfer-ownership="none" nullable="1">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Analytics data pointer
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Analytics data pointer</doc>
|
||||||
|
|
||||||
Since 1.24</doc>
|
|
||||||
<type name="gpointer" c:type="gpointer"/>
|
<type name="gpointer" c:type="gpointer"/>
|
||||||
</return-value>
|
</return-value>
|
||||||
<parameters>
|
<parameters>
|
||||||
|
@ -664,14 +657,12 @@ Since 1.24</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="get_od_mtd" c:identifier="gst_analytics_relation_meta_get_od_mtd">
|
<method name="get_od_mtd" c:identifier="gst_analytics_relation_meta_get_od_mtd" version="1.24">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c">Fill @rlt if a analytics-meta with id == @an_meta_id exist in @meta instance,
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c">Fill @rlt if a analytics-meta with id == @an_meta_id exist in @meta instance,
|
||||||
otherwise this method return FALSE and @rlt is invalid.</doc>
|
otherwise this method return FALSE and @rlt is invalid.</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.h"/>
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c">TRUE if successful.
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c">TRUE if successful.</doc>
|
||||||
|
|
||||||
Since 1.24</doc>
|
|
||||||
<type name="gboolean" c:type="gboolean"/>
|
<type name="gboolean" c:type="gboolean"/>
|
||||||
</return-value>
|
</return-value>
|
||||||
<parameters>
|
<parameters>
|
||||||
|
@ -680,7 +671,7 @@ Since 1.24</doc>
|
||||||
<type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
|
<type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
|
||||||
</instance-parameter>
|
</instance-parameter>
|
||||||
<parameter name="an_meta_id" transfer-ownership="none">
|
<parameter name="an_meta_id" transfer-ownership="none">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c">Id of #GstAnalyticsOdMtd instance to retrieve</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c">Id of #GstAnalyticsODMtd instance to retrieve</doc>
|
||||||
<type name="guint" c:type="guint"/>
|
<type name="guint" c:type="guint"/>
|
||||||
</parameter>
|
</parameter>
|
||||||
<parameter name="rlt" direction="out" caller-allocates="1" transfer-ownership="none">
|
<parameter name="rlt" direction="out" caller-allocates="1" transfer-ownership="none">
|
||||||
|
@ -691,13 +682,12 @@ Since 1.24</doc>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="get_relation" c:identifier="gst_analytics_relation_meta_get_relation" version="1.24">
|
<method name="get_relation" c:identifier="gst_analytics_relation_meta_get_relation" version="1.24">
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Get relations between first and second analysis-meta.
|
||||||
<return-value transfer-ownership="none">
|
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">relation description between first and second analysis-meta.
|
|
||||||
|
|
||||||
Get relations between first and second analysis-meta.
|
|
||||||
Ids (@an_meta_first_id and @an_meta_second_id) must be from a call to
|
Ids (@an_meta_first_id and @an_meta_second_id) must be from a call to
|
||||||
@gst_analytics_mtd_get_id (handle).</doc>
|
@gst_analytics_mtd_get_id (handle).</doc>
|
||||||
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
||||||
|
<return-value transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">relation description between first and second analysis-meta.</doc>
|
||||||
<type name="RelTypes" c:type="GstAnalyticsRelTypes"/>
|
<type name="RelTypes" c:type="GstAnalyticsRelTypes"/>
|
||||||
</return-value>
|
</return-value>
|
||||||
<parameters>
|
<parameters>
|
||||||
|
@ -715,14 +705,12 @@ Ids (@an_meta_first_id and @an_meta_second_id) must be from a call to
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="get_tracking_mtd" c:identifier="gst_analytics_relation_meta_get_tracking_mtd">
|
<method name="get_tracking_mtd" c:identifier="gst_analytics_relation_meta_get_tracking_mtd" version="1.24">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c">Fill @rlt if a analytics-meta with id == @an_meta_id exist in @meta instance,
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c">Fill @rlt if a analytics-meta with id == @an_meta_id exist in @meta instance,
|
||||||
otherwise this method return FALSE and @rlt is invalid.</doc>
|
otherwise this method return FALSE and @rlt is invalid.</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.h"/>
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c">TRUE if successful.
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c">TRUE if successful.</doc>
|
||||||
|
|
||||||
Since 1.24</doc>
|
|
||||||
<type name="gboolean" c:type="gboolean"/>
|
<type name="gboolean" c:type="gboolean"/>
|
||||||
</return-value>
|
</return-value>
|
||||||
<parameters>
|
<parameters>
|
||||||
|
@ -741,12 +729,10 @@ Since 1.24</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="iterate" c:identifier="gst_analytics_relation_meta_iterate">
|
<method name="iterate" c:identifier="gst_analytics_relation_meta_iterate" version="1.24">
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">FALSE if end was reached and iteration is completed.
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">FALSE if end was reached and iteration is completed.</doc>
|
||||||
|
|
||||||
Since 1.24</doc>
|
|
||||||
<type name="gboolean" c:type="gboolean"/>
|
<type name="gboolean" c:type="gboolean"/>
|
||||||
</return-value>
|
</return-value>
|
||||||
<parameters>
|
<parameters>
|
||||||
|
@ -800,7 +786,8 @@ Ids must have been obtained a call to
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<function name="get_info" c:identifier="gst_analytics_relation_meta_get_info">
|
<function name="get_info" c:identifier="gst_analytics_relation_meta_get_info" version="1.24" introspectable="0">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Get the meta info</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
||||||
|
@ -901,7 +888,7 @@ Get the opaque id identifying the relatable type</doc>
|
||||||
</return-value>
|
</return-value>
|
||||||
</function>
|
</function>
|
||||||
</record>
|
</record>
|
||||||
<function name="buffer_add_analytics_relation_meta" c:identifier="gst_buffer_add_analytics_relation_meta">
|
<function name="buffer_add_analytics_relation_meta" c:identifier="gst_buffer_add_analytics_relation_meta" version="1.24">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Attach a analysis-results-meta-relation meta (#GstAnalyticsRelationMeta)to @buffer.
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Attach a analysis-results-meta-relation meta (#GstAnalyticsRelationMeta)to @buffer.
|
||||||
|
|
||||||
A #GstAnalyticsRelationMeta is a metadata describing relation between other
|
A #GstAnalyticsRelationMeta is a metadata describing relation between other
|
||||||
|
@ -909,9 +896,7 @@ analysis meta. It's more efficient to use #gst_buffer_add_analytics_relation_met
|
||||||
and providing the maximum number of analysis meta that will attached to a buffer.</doc>
|
and providing the maximum number of analysis meta that will attached to a buffer.</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
||||||
<return-value transfer-ownership="none" nullable="1">
|
<return-value transfer-ownership="none" nullable="1">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Newly attached #GstAnalyticsRelationMeta
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Newly attached #GstAnalyticsRelationMeta</doc>
|
||||||
|
|
||||||
Since 1.24</doc>
|
|
||||||
<type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
|
<type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
|
||||||
</return-value>
|
</return-value>
|
||||||
<parameters>
|
<parameters>
|
||||||
|
@ -921,16 +906,14 @@ Since 1.24</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</function>
|
</function>
|
||||||
<function name="buffer_add_analytics_relation_meta_full" c:identifier="gst_buffer_add_analytics_relation_meta_full">
|
<function name="buffer_add_analytics_relation_meta_full" c:identifier="gst_buffer_add_analytics_relation_meta_full" version="1.24">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Attache a analysis-results relation-meta (#GstAnalyticsRelationMeta) to @buffer.
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Attache a analysis-results relation-meta (#GstAnalyticsRelationMeta) to @buffer.
|
||||||
|
|
||||||
A #GstAnalyticsRelationMeta is a metadata describing relation between other
|
A #GstAnalyticsRelationMeta is a metadata describing relation between other
|
||||||
analysis meta.</doc>
|
analysis meta.</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
||||||
<return-value transfer-ownership="none" nullable="1">
|
<return-value transfer-ownership="none" nullable="1">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Newly attached #GstAnalyticsRelationMeta
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Newly attached #GstAnalyticsRelationMeta</doc>
|
||||||
|
|
||||||
Since 1.24</doc>
|
|
||||||
<type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
|
<type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
|
||||||
</return-value>
|
</return-value>
|
||||||
<parameters>
|
<parameters>
|
||||||
|
@ -959,13 +942,36 @@ Since 1.24</doc>
|
||||||
</parameters>
|
</parameters>
|
||||||
</function>
|
</function>
|
||||||
<function name="cls_mtd_get_mtd_type" c:identifier="gst_analytics_cls_mtd_get_mtd_type" moved-to="ClsMtd.get_mtd_type" version="1.24">
|
<function name="cls_mtd_get_mtd_type" c:identifier="gst_analytics_cls_mtd_get_mtd_type" moved-to="ClsMtd.get_mtd_type" version="1.24">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsclassificationmtd.c">Get a id identifying #GstAnalyticsMtd type.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsclassificationmtd.c">Get an id identifying #GstAnalyticsMtd type.</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsclassificationmtd.h"/>
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsclassificationmtd.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsclassificationmtd.c">opaque id of #GstAnalyticsMtd type</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsclassificationmtd.c">opaque id of #GstAnalyticsMtd type</doc>
|
||||||
<type name="MtdType" c:type="GstAnalyticsMtdType"/>
|
<type name="MtdType" c:type="GstAnalyticsMtdType"/>
|
||||||
</return-value>
|
</return-value>
|
||||||
</function>
|
</function>
|
||||||
|
<docsection name="gstanalyticsclassificationtd">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsclassificationmtd.c">This type of metadata holds classification, it is generally used in
|
||||||
|
relationship with another metadata type to enhance its content. For example,
|
||||||
|
it can enhance the classifcation of an object detection held by the
|
||||||
|
#GstAnalyticsODMtd metadata type.</doc>
|
||||||
|
</docsection>
|
||||||
|
<docsection name="gstanalyticsmeta">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">The #GstAnalyticsRelationMeta is a #GstMeta that can contain a large number
|
||||||
|
of results from the analysis of a meta. Each result can be accessed by
|
||||||
|
using its id, or more conviently, by using a #GstAnalyticsMtd. A matrix
|
||||||
|
of relationships between the various metadata is also defined and can be
|
||||||
|
filled by the analysis processes.</doc>
|
||||||
|
</docsection>
|
||||||
|
<docsection name="gstanalyticsobjectdetectionmtd">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c">This type of metadata holds the position of detected object inside the
|
||||||
|
image, along with the probabily of each detection.</doc>
|
||||||
|
</docsection>
|
||||||
|
<docsection name="gstanalyticsobjecttrackingmtd">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsobjecttrackingmtd.c">This type of metadata holds tracking information. In many cases, it is
|
||||||
|
desired to track an object across many frames. This type of metadata holds
|
||||||
|
information about the tracking, for example, it can be used alongside a
|
||||||
|
#GstAnalyticsODMtd to track an object.</doc>
|
||||||
|
</docsection>
|
||||||
<function name="mtd_type_get_name" c:identifier="gst_analytics_mtd_type_get_name" moved-to="Mtd.type_get_name" version="1.24">
|
<function name="mtd_type_get_name" c:identifier="gst_analytics_mtd_type_get_name" moved-to="Mtd.type_get_name" version="1.24">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Gets the string version of the name of this type of analytics data</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Gets the string version of the name of this type of analytics data</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
||||||
|
@ -984,21 +990,21 @@ Since 1.24</doc>
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c">Get an id that represent object-detection metadata type</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c">Get an id that represent object-detection metadata type</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.h"/>
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c">Opaqu id of the #GstAnalyticsMtd type</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsobjectdetectionmtd.c">Opaque id of the #GstAnalyticsMtd type</doc>
|
||||||
<type name="MtdType" c:type="GstAnalyticsMtdType"/>
|
<type name="MtdType" c:type="GstAnalyticsMtdType"/>
|
||||||
</return-value>
|
</return-value>
|
||||||
</function>
|
</function>
|
||||||
<function name="relation_get_length" c:identifier="gst_analytics_relation_get_length" version="1.24">
|
<function name="relation_get_length" c:identifier="gst_analytics_relation_get_length" version="1.24">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">@instance Instance of #GstAnalyticsRelationMeta
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Get number of relatable meta attached to instance</doc>
|
||||||
Get number of relatable meta attached to instance</doc>
|
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Number of analysis-meta attached to this
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Number of analysis-meta attached to this
|
||||||
instance.</doc>
|
instance.</doc>
|
||||||
<type name="gsize" c:type="gsize"/>
|
<type name="gsize" c:type="gsize"/>
|
||||||
</return-value>
|
</return-value>
|
||||||
<parameters>
|
<parameters>
|
||||||
<parameter name="instance" transfer-ownership="none">
|
<parameter name="instance" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Instance of #GstAnalyticsRelationMeta</doc>
|
||||||
<type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
|
<type name="RelationMeta" c:type="GstAnalyticsRelationMeta*"/>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
|
@ -1010,7 +1016,8 @@ instance.</doc>
|
||||||
<type name="GType" c:type="GType"/>
|
<type name="GType" c:type="GType"/>
|
||||||
</return-value>
|
</return-value>
|
||||||
</function>
|
</function>
|
||||||
<function name="relation_meta_get_info" c:identifier="gst_analytics_relation_meta_get_info" moved-to="RelationMeta.get_info">
|
<function name="relation_meta_get_info" c:identifier="gst_analytics_relation_meta_get_info" moved-to="RelationMeta.get_info" version="1.24" introspectable="0">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.c">Get the meta info</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/analytics/gstanalyticsmeta.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
||||||
|
|
|
@ -794,6 +794,11 @@ format.</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</function-macro>
|
</function-macro>
|
||||||
|
<constant name="AUDIO_FORMAT_LAST" value="32" c:type="GST_AUDIO_FORMAT_LAST" version="1.26">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/audio-format.h">Number of audio formats in #GstAudioFormat.</doc>
|
||||||
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/audio-format.h"/>
|
||||||
|
<type name="gint" c:type="gint"/>
|
||||||
|
</constant>
|
||||||
<function-macro name="AUDIO_INFO_BPF" c:identifier="GST_AUDIO_INFO_BPF" introspectable="0">
|
<function-macro name="AUDIO_INFO_BPF" c:identifier="GST_AUDIO_INFO_BPF" introspectable="0">
|
||||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/audio-info.h"/>
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/audio-info.h"/>
|
||||||
<parameters>
|
<parameters>
|
||||||
|
@ -6413,12 +6418,18 @@ string is not a known format.</doc>
|
||||||
</parameters>
|
</parameters>
|
||||||
</function>
|
</function>
|
||||||
<function name="to_string" c:identifier="gst_audio_format_to_string">
|
<function name="to_string" c:identifier="gst_audio_format_to_string">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/audio-format.c">Returns a string containing a descriptive name for the #GstAudioFormat.
|
||||||
|
|
||||||
|
Since 1.26 this can also be used with %GST_AUDIO_FORMAT_UNKNOWN, previous
|
||||||
|
versions were printing a critical warning and returned %NULL.</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/audio-format.h"/>
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/audio-format.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/audio-format.c">the name corresponding to @format</doc>
|
||||||
<type name="utf8" c:type="const gchar*"/>
|
<type name="utf8" c:type="const gchar*"/>
|
||||||
</return-value>
|
</return-value>
|
||||||
<parameters>
|
<parameters>
|
||||||
<parameter name="format" transfer-ownership="none">
|
<parameter name="format" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/audio-format.c">a #GstAudioFormat audio format</doc>
|
||||||
<type name="AudioFormat" c:type="GstAudioFormat"/>
|
<type name="AudioFormat" c:type="GstAudioFormat"/>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
|
@ -7882,6 +7893,38 @@ MT safe.</doc>
|
||||||
</instance-parameter>
|
</instance-parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
|
<method name="get_segbase" c:identifier="gst_audio_ring_buffer_get_segbase" version="1.26">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudioringbuffer.c">Gets the current segment base number of the ringbuffer.
|
||||||
|
|
||||||
|
MT safe.</doc>
|
||||||
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudioringbuffer.h"/>
|
||||||
|
<return-value transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudioringbuffer.c">Current segment base number of the ringbuffer.</doc>
|
||||||
|
<type name="guint64" c:type="guint64"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="buf" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudioringbuffer.c">the #GstAudioRingBuffer to use</doc>
|
||||||
|
<type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
|
<method name="get_segdone" c:identifier="gst_audio_ring_buffer_get_segdone" version="1.26">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudioringbuffer.c">Gets the current segment number of the ringbuffer.
|
||||||
|
|
||||||
|
MT safe.</doc>
|
||||||
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudioringbuffer.h"/>
|
||||||
|
<return-value transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudioringbuffer.c">Current segment number of the ringbuffer.</doc>
|
||||||
|
<type name="guint64" c:type="guint64"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="buf" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudioringbuffer.c">the #GstAudioRingBuffer to use</doc>
|
||||||
|
<type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
<method name="is_acquired" c:identifier="gst_audio_ring_buffer_is_acquired">
|
<method name="is_acquired" c:identifier="gst_audio_ring_buffer_is_acquired">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudioringbuffer.c">Check if the ringbuffer is acquired and ready to use.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudioringbuffer.c">Check if the ringbuffer is acquired and ready to use.</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudioringbuffer.h"/>
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudioringbuffer.h"/>
|
||||||
|
@ -8223,6 +8266,25 @@ MT safe.</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
|
<method name="set_segdone" c:identifier="gst_audio_ring_buffer_set_segdone" version="1.26">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudioringbuffer.c">Sets the current segment number of the ringbuffer.
|
||||||
|
|
||||||
|
MT safe.</doc>
|
||||||
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudioringbuffer.h"/>
|
||||||
|
<return-value transfer-ownership="none">
|
||||||
|
<type name="none" c:type="void"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="buf" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudioringbuffer.c">the #GstAudioRingBuffer to use</doc>
|
||||||
|
<type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
<parameter name="segdone" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudioringbuffer.c">the segment number to set</doc>
|
||||||
|
<type name="guint64" c:type="guint64"/>
|
||||||
|
</parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
<method name="set_timestamp" c:identifier="gst_audio_ring_buffer_set_timestamp">
|
<method name="set_timestamp" c:identifier="gst_audio_ring_buffer_set_timestamp">
|
||||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudioringbuffer.h"/>
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudioringbuffer.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
|
@ -8352,8 +8414,11 @@ MT safe.</doc>
|
||||||
<field name="cb_data_notify" readable="0" private="1">
|
<field name="cb_data_notify" readable="0" private="1">
|
||||||
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
||||||
</field>
|
</field>
|
||||||
|
<field name="priv" readable="0" private="1">
|
||||||
|
<type name="AudioRingBufferPrivate" c:type="GstAudioRingBufferPrivate*"/>
|
||||||
|
</field>
|
||||||
<field name="_gst_reserved" readable="0" private="1">
|
<field name="_gst_reserved" readable="0" private="1">
|
||||||
<array zero-terminated="0" fixed-size="3">
|
<array zero-terminated="0" fixed-size="2">
|
||||||
<type name="gpointer" c:type="gpointer"/>
|
<type name="gpointer" c:type="gpointer"/>
|
||||||
</array>
|
</array>
|
||||||
</field>
|
</field>
|
||||||
|
@ -8676,6 +8741,9 @@ with a flush or stop.</doc>
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudioringbuffer.h">samples in DSD format (Since: 1.24)</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudioringbuffer.h">samples in DSD format (Since: 1.24)</doc>
|
||||||
</member>
|
</member>
|
||||||
</enumeration>
|
</enumeration>
|
||||||
|
<record name="AudioRingBufferPrivate" c:type="GstAudioRingBufferPrivate" disguised="1">
|
||||||
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudioringbuffer.h"/>
|
||||||
|
</record>
|
||||||
<record name="AudioRingBufferSpec" c:type="GstAudioRingBufferSpec">
|
<record name="AudioRingBufferSpec" c:type="GstAudioRingBufferSpec">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudioringbuffer.h">The structure containing the format specification of the ringbuffer.
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudioringbuffer.h">The structure containing the format specification of the ringbuffer.
|
||||||
|
|
||||||
|
@ -10919,12 +10987,18 @@ string is not a known format.</doc>
|
||||||
</return-value>
|
</return-value>
|
||||||
</function>
|
</function>
|
||||||
<function name="audio_format_to_string" c:identifier="gst_audio_format_to_string" moved-to="AudioFormat.to_string">
|
<function name="audio_format_to_string" c:identifier="gst_audio_format_to_string" moved-to="AudioFormat.to_string">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/audio-format.c">Returns a string containing a descriptive name for the #GstAudioFormat.
|
||||||
|
|
||||||
|
Since 1.26 this can also be used with %GST_AUDIO_FORMAT_UNKNOWN, previous
|
||||||
|
versions were printing a critical warning and returned %NULL.</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/audio-format.h"/>
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/audio-format.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/audio-format.c">the name corresponding to @format</doc>
|
||||||
<type name="utf8" c:type="const gchar*"/>
|
<type name="utf8" c:type="const gchar*"/>
|
||||||
</return-value>
|
</return-value>
|
||||||
<parameters>
|
<parameters>
|
||||||
<parameter name="format" transfer-ownership="none">
|
<parameter name="format" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/audio/audio-format.c">a #GstAudioFormat audio format</doc>
|
||||||
<type name="AudioFormat" c:type="GstAudioFormat"/>
|
<type name="AudioFormat" c:type="GstAudioFormat"/>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
|
|
|
@ -629,7 +629,7 @@ position is returned.
|
||||||
|
|
||||||
The dts is reset to GST_CLOCK_TIME_NONE and the distance is set to 0 when
|
The dts is reset to GST_CLOCK_TIME_NONE and the distance is set to 0 when
|
||||||
the adapter is first created or when it is cleared. This also means that before
|
the adapter is first created or when it is cleared. This also means that before
|
||||||
the first byte with a dts is removed from the adapter, the dts
|
the first byte with a dts is added to the adapter, the dts
|
||||||
and distance returned are GST_CLOCK_TIME_NONE and 0 respectively.</doc>
|
and distance returned are GST_CLOCK_TIME_NONE and 0 respectively.</doc>
|
||||||
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstadapter.h"/>
|
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstadapter.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
|
@ -654,7 +654,7 @@ position is returned.
|
||||||
|
|
||||||
The dts is reset to GST_CLOCK_TIME_NONE and the distance is set to 0 when
|
The dts is reset to GST_CLOCK_TIME_NONE and the distance is set to 0 when
|
||||||
the adapter is first created or when it is cleared. This also means that before
|
the adapter is first created or when it is cleared. This also means that before
|
||||||
the first byte with a dts is removed from the adapter, the dts
|
the first byte with a dts is added to the adapter, the dts
|
||||||
and distance returned are GST_CLOCK_TIME_NONE and 0 respectively.</doc>
|
and distance returned are GST_CLOCK_TIME_NONE and 0 respectively.</doc>
|
||||||
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstadapter.h"/>
|
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstadapter.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
|
@ -683,7 +683,7 @@ position is returned.
|
||||||
|
|
||||||
The offset is reset to GST_BUFFER_OFFSET_NONE and the distance is set to 0
|
The offset is reset to GST_BUFFER_OFFSET_NONE and the distance is set to 0
|
||||||
when the adapter is first created or when it is cleared. This also means that
|
when the adapter is first created or when it is cleared. This also means that
|
||||||
before the first byte with an offset is removed from the adapter, the offset
|
before the first byte with an offset is added to the adapter, the offset
|
||||||
and distance returned are GST_BUFFER_OFFSET_NONE and 0 respectively.</doc>
|
and distance returned are GST_BUFFER_OFFSET_NONE and 0 respectively.</doc>
|
||||||
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstadapter.h"/>
|
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstadapter.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
|
@ -708,7 +708,7 @@ position is returned.
|
||||||
|
|
||||||
The pts is reset to GST_CLOCK_TIME_NONE and the distance is set to 0 when
|
The pts is reset to GST_CLOCK_TIME_NONE and the distance is set to 0 when
|
||||||
the adapter is first created or when it is cleared. This also means that before
|
the adapter is first created or when it is cleared. This also means that before
|
||||||
the first byte with a pts is removed from the adapter, the pts
|
the first byte with a pts is added to the adapter, the pts
|
||||||
and distance returned are GST_CLOCK_TIME_NONE and 0 respectively.</doc>
|
and distance returned are GST_CLOCK_TIME_NONE and 0 respectively.</doc>
|
||||||
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstadapter.h"/>
|
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstadapter.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
|
@ -733,7 +733,7 @@ position is returned.
|
||||||
|
|
||||||
The pts is reset to GST_CLOCK_TIME_NONE and the distance is set to 0 when
|
The pts is reset to GST_CLOCK_TIME_NONE and the distance is set to 0 when
|
||||||
the adapter is first created or when it is cleared. This also means that before
|
the adapter is first created or when it is cleared. This also means that before
|
||||||
the first byte with a pts is removed from the adapter, the pts
|
the first byte with a pts is added to the adapter, the pts
|
||||||
and distance returned are GST_CLOCK_TIME_NONE and 0 respectively.</doc>
|
and distance returned are GST_CLOCK_TIME_NONE and 0 respectively.</doc>
|
||||||
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstadapter.h"/>
|
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstadapter.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
|
@ -2407,6 +2407,20 @@ the first buffer that is received.</doc>
|
||||||
selected by the `start-time` property.</doc>
|
selected by the `start-time` property.</doc>
|
||||||
</member>
|
</member>
|
||||||
</enumeration>
|
</enumeration>
|
||||||
|
<function-macro name="BASE_DEPRECATED_FOR" c:identifier="GST_BASE_DEPRECATED_FOR" introspectable="0">
|
||||||
|
<source-position filename="../subprojects/gstreamer/libs/gst/base/base-prelude.h"/>
|
||||||
|
<parameters>
|
||||||
|
<parameter name="f">
|
||||||
|
</parameter>
|
||||||
|
</parameters>
|
||||||
|
</function-macro>
|
||||||
|
<function-macro name="BASE_DEPRECATED_TYPE_FOR" c:identifier="GST_BASE_DEPRECATED_TYPE_FOR" introspectable="0">
|
||||||
|
<source-position filename="../subprojects/gstreamer/libs/gst/base/base-prelude.h"/>
|
||||||
|
<parameters>
|
||||||
|
<parameter name="f">
|
||||||
|
</parameter>
|
||||||
|
</parameters>
|
||||||
|
</function-macro>
|
||||||
<function-macro name="BASE_PARSE" c:identifier="GST_BASE_PARSE" introspectable="0">
|
<function-macro name="BASE_PARSE" c:identifier="GST_BASE_PARSE" introspectable="0">
|
||||||
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstbaseparse.h"/>
|
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstbaseparse.h"/>
|
||||||
<parameters>
|
<parameters>
|
||||||
|
@ -13052,13 +13066,15 @@ buffers.</doc>
|
||||||
</array>
|
</array>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
<record name="QueueArray" c:type="GstQueueArray" disguised="1" introspectable="0">
|
<record name="QueueArray" c:type="GstQueueArray" disguised="1" introspectable="0" deprecated="1" deprecated-version="1.26">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">#GstQueueArray is an object that provides standard queue functionality
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">#GstQueueArray is an object that provides standard queue functionality
|
||||||
based on an array instead of linked lists. This reduces the overhead
|
based on an array instead of linked lists. This reduces the overhead
|
||||||
caused by memory management by a large factor.</doc>
|
caused by memory management by a large factor.</doc>
|
||||||
|
<doc-deprecated xml:space="preserve">Use #GstVecDeque instead.</doc-deprecated>
|
||||||
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
||||||
<method name="clear" c:identifier="gst_queue_array_clear" version="1.16" introspectable="0">
|
<method name="clear" c:identifier="gst_queue_array_clear" version="1.16" introspectable="0" deprecated="1" deprecated-version="1.26">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Clears queue @array and frees all memory associated to it.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Clears queue @array and frees all memory associated to it.</doc>
|
||||||
|
<doc-deprecated xml:space="preserve">Use #GstVecDeque instead.</doc-deprecated>
|
||||||
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
<type name="none" c:type="void"/>
|
<type name="none" c:type="void"/>
|
||||||
|
@ -13070,8 +13086,9 @@ caused by memory management by a large factor.</doc>
|
||||||
</instance-parameter>
|
</instance-parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="drop_element" c:identifier="gst_queue_array_drop_element" version="1.2" introspectable="0">
|
<method name="drop_element" c:identifier="gst_queue_array_drop_element" version="1.2" introspectable="0" deprecated="1" deprecated-version="1.26">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Drops the queue element at position @idx from queue @array.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Drops the queue element at position @idx from queue @array.</doc>
|
||||||
|
<doc-deprecated xml:space="preserve">Use #GstVecDeque instead.</doc-deprecated>
|
||||||
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
||||||
<return-value transfer-ownership="none" nullable="1">
|
<return-value transfer-ownership="none" nullable="1">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">the dropped element</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">the dropped element</doc>
|
||||||
|
@ -13088,10 +13105,11 @@ caused by memory management by a large factor.</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="drop_struct" c:identifier="gst_queue_array_drop_struct" version="1.6" introspectable="0">
|
<method name="drop_struct" c:identifier="gst_queue_array_drop_struct" version="1.6" introspectable="0" deprecated="1" deprecated-version="1.26">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Drops the queue element at position @idx from queue @array and copies the
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Drops the queue element at position @idx from queue @array and copies the
|
||||||
data of the element or structure that was removed into @p_struct if
|
data of the element or structure that was removed into @p_struct if
|
||||||
@p_struct is set (not NULL).</doc>
|
@p_struct is set (not NULL).</doc>
|
||||||
|
<doc-deprecated xml:space="preserve">Use #GstVecDeque instead.</doc-deprecated>
|
||||||
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">TRUE on success, or FALSE on error</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">TRUE on success, or FALSE on error</doc>
|
||||||
|
@ -13112,10 +13130,11 @@ data of the element or structure that was removed into @p_struct if
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="find" c:identifier="gst_queue_array_find" version="1.2" introspectable="0">
|
<method name="find" c:identifier="gst_queue_array_find" version="1.2" introspectable="0" deprecated="1" deprecated-version="1.26">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Finds an element in the queue @array, either by comparing every element
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Finds an element in the queue @array, either by comparing every element
|
||||||
with @func or by looking up @data if no compare function @func is provided,
|
with @func or by looking up @data if no compare function @func is provided,
|
||||||
and returning the index of the found element.</doc>
|
and returning the index of the found element.</doc>
|
||||||
|
<doc-deprecated xml:space="preserve">Use #GstVecDeque instead.</doc-deprecated>
|
||||||
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Index of the found element or -1 if nothing was found.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Index of the found element or -1 if nothing was found.</doc>
|
||||||
|
@ -13136,8 +13155,9 @@ and returning the index of the found element.</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="free" c:identifier="gst_queue_array_free" version="1.2" introspectable="0">
|
<method name="free" c:identifier="gst_queue_array_free" version="1.2" introspectable="0" deprecated="1" deprecated-version="1.26">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Frees queue @array and all memory associated to it.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Frees queue @array and all memory associated to it.</doc>
|
||||||
|
<doc-deprecated xml:space="preserve">Use #GstVecDeque instead.</doc-deprecated>
|
||||||
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
<type name="none" c:type="void"/>
|
<type name="none" c:type="void"/>
|
||||||
|
@ -13149,8 +13169,9 @@ and returning the index of the found element.</doc>
|
||||||
</instance-parameter>
|
</instance-parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="get_length" c:identifier="gst_queue_array_get_length" version="1.2" introspectable="0">
|
<method name="get_length" c:identifier="gst_queue_array_get_length" version="1.2" introspectable="0" deprecated="1" deprecated-version="1.26">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Returns the length of the queue @array</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Returns the length of the queue @array</doc>
|
||||||
|
<doc-deprecated xml:space="preserve">Use #GstVecDeque instead.</doc-deprecated>
|
||||||
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">the length of the queue @array.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">the length of the queue @array.</doc>
|
||||||
|
@ -13163,8 +13184,9 @@ and returning the index of the found element.</doc>
|
||||||
</instance-parameter>
|
</instance-parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="is_empty" c:identifier="gst_queue_array_is_empty" version="1.2" introspectable="0">
|
<method name="is_empty" c:identifier="gst_queue_array_is_empty" version="1.2" introspectable="0" deprecated="1" deprecated-version="1.26">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Checks if the queue @array is empty.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Checks if the queue @array is empty.</doc>
|
||||||
|
<doc-deprecated xml:space="preserve">Use #GstVecDeque instead.</doc-deprecated>
|
||||||
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">%TRUE if the queue @array is empty</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">%TRUE if the queue @array is empty</doc>
|
||||||
|
@ -13177,9 +13199,10 @@ and returning the index of the found element.</doc>
|
||||||
</instance-parameter>
|
</instance-parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="peek_head" c:identifier="gst_queue_array_peek_head" version="1.2" introspectable="0">
|
<method name="peek_head" c:identifier="gst_queue_array_peek_head" version="1.2" introspectable="0" deprecated="1" deprecated-version="1.26">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Returns the head of the queue @array and does not
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Returns the head of the queue @array and does not
|
||||||
remove it from the queue.</doc>
|
remove it from the queue.</doc>
|
||||||
|
<doc-deprecated xml:space="preserve">Use #GstVecDeque instead.</doc-deprecated>
|
||||||
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
||||||
<return-value transfer-ownership="none" nullable="1">
|
<return-value transfer-ownership="none" nullable="1">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">The head of the queue</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">The head of the queue</doc>
|
||||||
|
@ -13192,8 +13215,9 @@ remove it from the queue.</doc>
|
||||||
</instance-parameter>
|
</instance-parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="peek_head_struct" c:identifier="gst_queue_array_peek_head_struct" version="1.6" introspectable="0">
|
<method name="peek_head_struct" c:identifier="gst_queue_array_peek_head_struct" version="1.6" introspectable="0" deprecated="1" deprecated-version="1.26">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Returns the head of the queue @array without removing it from the queue.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Returns the head of the queue @array without removing it from the queue.</doc>
|
||||||
|
<doc-deprecated xml:space="preserve">Use #GstVecDeque instead.</doc-deprecated>
|
||||||
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
||||||
<return-value transfer-ownership="none" nullable="1">
|
<return-value transfer-ownership="none" nullable="1">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">pointer to element or struct, or NULL if @array was empty. The
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">pointer to element or struct, or NULL if @array was empty. The
|
||||||
|
@ -13208,8 +13232,9 @@ remove it from the queue.</doc>
|
||||||
</instance-parameter>
|
</instance-parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="peek_nth" c:identifier="gst_queue_array_peek_nth" version="1.16" introspectable="0">
|
<method name="peek_nth" c:identifier="gst_queue_array_peek_nth" version="1.16" introspectable="0" deprecated="1" deprecated-version="1.26">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Returns the item at @idx in @array, but does not remove it from the queue.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Returns the item at @idx in @array, but does not remove it from the queue.</doc>
|
||||||
|
<doc-deprecated xml:space="preserve">Use #GstVecDeque instead.</doc-deprecated>
|
||||||
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
||||||
<return-value transfer-ownership="none" nullable="1">
|
<return-value transfer-ownership="none" nullable="1">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">The item, or %NULL if @idx was out of bounds</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">The item, or %NULL if @idx was out of bounds</doc>
|
||||||
|
@ -13224,8 +13249,9 @@ remove it from the queue.</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="peek_nth_struct" c:identifier="gst_queue_array_peek_nth_struct" version="1.16" introspectable="0">
|
<method name="peek_nth_struct" c:identifier="gst_queue_array_peek_nth_struct" version="1.16" introspectable="0" deprecated="1" deprecated-version="1.26">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Returns the item at @idx in @array, but does not remove it from the queue.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Returns the item at @idx in @array, but does not remove it from the queue.</doc>
|
||||||
|
<doc-deprecated xml:space="preserve">Use #GstVecDeque instead.</doc-deprecated>
|
||||||
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
||||||
<return-value transfer-ownership="none" nullable="1">
|
<return-value transfer-ownership="none" nullable="1">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">The item, or %NULL if @idx was out of bounds</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">The item, or %NULL if @idx was out of bounds</doc>
|
||||||
|
@ -13240,8 +13266,9 @@ remove it from the queue.</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="peek_tail" c:identifier="gst_queue_array_peek_tail" version="1.14" introspectable="0">
|
<method name="peek_tail" c:identifier="gst_queue_array_peek_tail" version="1.14" introspectable="0" deprecated="1" deprecated-version="1.26">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Returns the tail of the queue @array, but does not remove it from the queue.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Returns the tail of the queue @array, but does not remove it from the queue.</doc>
|
||||||
|
<doc-deprecated xml:space="preserve">Use #GstVecDeque instead.</doc-deprecated>
|
||||||
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
||||||
<return-value transfer-ownership="none" nullable="1">
|
<return-value transfer-ownership="none" nullable="1">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">The tail of the queue</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">The tail of the queue</doc>
|
||||||
|
@ -13254,8 +13281,9 @@ remove it from the queue.</doc>
|
||||||
</instance-parameter>
|
</instance-parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="peek_tail_struct" c:identifier="gst_queue_array_peek_tail_struct" version="1.14" introspectable="0">
|
<method name="peek_tail_struct" c:identifier="gst_queue_array_peek_tail_struct" version="1.14" introspectable="0" deprecated="1" deprecated-version="1.26">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Returns the tail of the queue @array, but does not remove it from the queue.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Returns the tail of the queue @array, but does not remove it from the queue.</doc>
|
||||||
|
<doc-deprecated xml:space="preserve">Use #GstVecDeque instead.</doc-deprecated>
|
||||||
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
||||||
<return-value transfer-ownership="none" nullable="1">
|
<return-value transfer-ownership="none" nullable="1">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">The tail of the queue</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">The tail of the queue</doc>
|
||||||
|
@ -13268,9 +13296,10 @@ remove it from the queue.</doc>
|
||||||
</instance-parameter>
|
</instance-parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="pop_head" c:identifier="gst_queue_array_pop_head" version="1.2" introspectable="0">
|
<method name="pop_head" c:identifier="gst_queue_array_pop_head" version="1.2" introspectable="0" deprecated="1" deprecated-version="1.26">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Returns and head of the queue @array and removes
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Returns and head of the queue @array and removes
|
||||||
it from the queue.</doc>
|
it from the queue.</doc>
|
||||||
|
<doc-deprecated xml:space="preserve">Use #GstVecDeque instead.</doc-deprecated>
|
||||||
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
||||||
<return-value transfer-ownership="none" nullable="1">
|
<return-value transfer-ownership="none" nullable="1">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">The head of the queue</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">The head of the queue</doc>
|
||||||
|
@ -13283,8 +13312,9 @@ it from the queue.</doc>
|
||||||
</instance-parameter>
|
</instance-parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="pop_head_struct" c:identifier="gst_queue_array_pop_head_struct" version="1.6" introspectable="0">
|
<method name="pop_head_struct" c:identifier="gst_queue_array_pop_head_struct" version="1.6" introspectable="0" deprecated="1" deprecated-version="1.26">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Returns the head of the queue @array and removes it from the queue.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Returns the head of the queue @array and removes it from the queue.</doc>
|
||||||
|
<doc-deprecated xml:space="preserve">Use #GstVecDeque instead.</doc-deprecated>
|
||||||
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
||||||
<return-value transfer-ownership="none" nullable="1">
|
<return-value transfer-ownership="none" nullable="1">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">pointer to element or struct, or NULL if @array was empty. The
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">pointer to element or struct, or NULL if @array was empty. The
|
||||||
|
@ -13299,9 +13329,10 @@ it from the queue.</doc>
|
||||||
</instance-parameter>
|
</instance-parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="pop_tail" c:identifier="gst_queue_array_pop_tail" version="1.14" introspectable="0">
|
<method name="pop_tail" c:identifier="gst_queue_array_pop_tail" version="1.14" introspectable="0" deprecated="1" deprecated-version="1.26">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Returns the tail of the queue @array and removes
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Returns the tail of the queue @array and removes
|
||||||
it from the queue.</doc>
|
it from the queue.</doc>
|
||||||
|
<doc-deprecated xml:space="preserve">Use #GstVecDeque instead.</doc-deprecated>
|
||||||
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
||||||
<return-value transfer-ownership="none" nullable="1">
|
<return-value transfer-ownership="none" nullable="1">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">The tail of the queue</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">The tail of the queue</doc>
|
||||||
|
@ -13314,9 +13345,10 @@ it from the queue.</doc>
|
||||||
</instance-parameter>
|
</instance-parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="pop_tail_struct" c:identifier="gst_queue_array_pop_tail_struct" version="1.14" introspectable="0">
|
<method name="pop_tail_struct" c:identifier="gst_queue_array_pop_tail_struct" version="1.14" introspectable="0" deprecated="1" deprecated-version="1.26">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Returns the tail of the queue @array and removes
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Returns the tail of the queue @array and removes
|
||||||
it from the queue.</doc>
|
it from the queue.</doc>
|
||||||
|
<doc-deprecated xml:space="preserve">Use #GstVecDeque instead.</doc-deprecated>
|
||||||
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
||||||
<return-value transfer-ownership="none" nullable="1">
|
<return-value transfer-ownership="none" nullable="1">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">The tail of the queue</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">The tail of the queue</doc>
|
||||||
|
@ -13329,7 +13361,7 @@ it from the queue.</doc>
|
||||||
</instance-parameter>
|
</instance-parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="push_sorted" c:identifier="gst_queue_array_push_sorted" version="1.24" introspectable="0">
|
<method name="push_sorted" c:identifier="gst_queue_array_push_sorted" version="1.24" introspectable="0" deprecated="1" deprecated-version="1.26">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Pushes @data to the queue @array, finding the correct position
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Pushes @data to the queue @array, finding the correct position
|
||||||
by comparing @data with each array element using @func.
|
by comparing @data with each array element using @func.
|
||||||
|
|
||||||
|
@ -13338,6 +13370,7 @@ and expected access patterns, a different data structure might be better.
|
||||||
|
|
||||||
Assumes that the array is already sorted. If it is not, make sure
|
Assumes that the array is already sorted. If it is not, make sure
|
||||||
to call gst_queue_array_sort() first.</doc>
|
to call gst_queue_array_sort() first.</doc>
|
||||||
|
<doc-deprecated xml:space="preserve">Use #GstVecDeque instead.</doc-deprecated>
|
||||||
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
<type name="none" c:type="void"/>
|
<type name="none" c:type="void"/>
|
||||||
|
@ -13361,7 +13394,7 @@ to call gst_queue_array_sort() first.</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="push_sorted_struct" c:identifier="gst_queue_array_push_sorted_struct" version="1.24" introspectable="0">
|
<method name="push_sorted_struct" c:identifier="gst_queue_array_push_sorted_struct" version="1.24" introspectable="0" deprecated="1" deprecated-version="1.26">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Pushes the element at address @p_struct into the queue @array
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Pushes the element at address @p_struct into the queue @array
|
||||||
(copying the contents of a structure of the struct_size specified
|
(copying the contents of a structure of the struct_size specified
|
||||||
when creating the queue into the array), finding the correct position
|
when creating the queue into the array), finding the correct position
|
||||||
|
@ -13372,6 +13405,7 @@ and expected access patterns, a different data structure might be better.
|
||||||
|
|
||||||
Assumes that the array is already sorted. If it is not, make sure
|
Assumes that the array is already sorted. If it is not, make sure
|
||||||
to call gst_queue_array_sort() first.</doc>
|
to call gst_queue_array_sort() first.</doc>
|
||||||
|
<doc-deprecated xml:space="preserve">Use #GstVecDeque instead.</doc-deprecated>
|
||||||
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
<type name="none" c:type="void"/>
|
<type name="none" c:type="void"/>
|
||||||
|
@ -13395,8 +13429,9 @@ to call gst_queue_array_sort() first.</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="push_tail" c:identifier="gst_queue_array_push_tail" version="1.2" introspectable="0">
|
<method name="push_tail" c:identifier="gst_queue_array_push_tail" version="1.2" introspectable="0" deprecated="1" deprecated-version="1.26">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Pushes @data to the tail of the queue @array.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Pushes @data to the tail of the queue @array.</doc>
|
||||||
|
<doc-deprecated xml:space="preserve">Use #GstVecDeque instead.</doc-deprecated>
|
||||||
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
<type name="none" c:type="void"/>
|
<type name="none" c:type="void"/>
|
||||||
|
@ -13426,7 +13461,7 @@ to call gst_queue_array_sort() first.</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="set_clear_func" c:identifier="gst_queue_array_set_clear_func" version="1.16" introspectable="0">
|
<method name="set_clear_func" c:identifier="gst_queue_array_set_clear_func" version="1.16" introspectable="0" deprecated="1" deprecated-version="1.26">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Sets a function to clear an element of @array.
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Sets a function to clear an element of @array.
|
||||||
|
|
||||||
The @clear_func will be called when an element in the array
|
The @clear_func will be called when an element in the array
|
||||||
|
@ -13437,6 +13472,7 @@ pointer to the element to clear, rather than the element itself.
|
||||||
Note that in contrast with other uses of #GDestroyNotify
|
Note that in contrast with other uses of #GDestroyNotify
|
||||||
functions, @clear_func is expected to clear the contents of
|
functions, @clear_func is expected to clear the contents of
|
||||||
the array element it is given, but not free the element itself.</doc>
|
the array element it is given, but not free the element itself.</doc>
|
||||||
|
<doc-deprecated xml:space="preserve">Use #GstVecDeque instead.</doc-deprecated>
|
||||||
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
<type name="none" c:type="void"/>
|
<type name="none" c:type="void"/>
|
||||||
|
@ -13452,9 +13488,10 @@ the array element it is given, but not free the element itself.</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="sort" c:identifier="gst_queue_array_sort" version="1.24" introspectable="0">
|
<method name="sort" c:identifier="gst_queue_array_sort" version="1.24" introspectable="0" deprecated="1" deprecated-version="1.26">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Sorts the queue @array by comparing elements against each other using
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Sorts the queue @array by comparing elements against each other using
|
||||||
the provided @compare_func.</doc>
|
the provided @compare_func.</doc>
|
||||||
|
<doc-deprecated xml:space="preserve">Use #GstVecDeque instead.</doc-deprecated>
|
||||||
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
<type name="none" c:type="void"/>
|
<type name="none" c:type="void"/>
|
||||||
|
@ -13489,9 +13526,10 @@ queue size of @initial_size.</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</function>
|
</function>
|
||||||
<function name="new_for_struct" c:identifier="gst_queue_array_new_for_struct" version="1.6" introspectable="0">
|
<function name="new_for_struct" c:identifier="gst_queue_array_new_for_struct" version="1.6" introspectable="0" deprecated="1" deprecated-version="1.26">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Allocates a new #GstQueueArray object for elements (e.g. structures)
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Allocates a new #GstQueueArray object for elements (e.g. structures)
|
||||||
of size @struct_size, with an initial queue size of @initial_size.</doc>
|
of size @struct_size, with an initial queue size of @initial_size.</doc>
|
||||||
|
<doc-deprecated xml:space="preserve">Use #GstVecDeque instead.</doc-deprecated>
|
||||||
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
||||||
<return-value>
|
<return-value>
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">a new #GstQueueArray object</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">a new #GstQueueArray object</doc>
|
||||||
|
@ -13875,9 +13913,10 @@ queue size of @initial_size.</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</function>
|
</function>
|
||||||
<function name="queue_array_new_for_struct" c:identifier="gst_queue_array_new_for_struct" moved-to="QueueArray.new_for_struct" version="1.6" introspectable="0">
|
<function name="queue_array_new_for_struct" c:identifier="gst_queue_array_new_for_struct" moved-to="QueueArray.new_for_struct" version="1.6" introspectable="0" deprecated="1" deprecated-version="1.26">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Allocates a new #GstQueueArray object for elements (e.g. structures)
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">Allocates a new #GstQueueArray object for elements (e.g. structures)
|
||||||
of size @struct_size, with an initial queue size of @initial_size.</doc>
|
of size @struct_size, with an initial queue size of @initial_size.</doc>
|
||||||
|
<doc-deprecated xml:space="preserve">Use #GstVecDeque instead.</doc-deprecated>
|
||||||
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
<source-position filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.h"/>
|
||||||
<return-value>
|
<return-value>
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">a new #GstQueueArray object</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/base/gstqueuearray.c">a new #GstQueueArray object</doc>
|
||||||
|
|
|
@ -9696,7 +9696,7 @@ user-defined purposes.</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.h"/>
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.h"/>
|
||||||
<type name="utf8" c:type="gchar*"/>
|
<type name="utf8" c:type="gchar*"/>
|
||||||
</constant>
|
</constant>
|
||||||
<constant name="GL_COLOR_CONVERT_FORMATS" value="{ RGBA, RGB, RGBx, BGR, BGRx, BGRA, xRGB, xBGR, ARGB, ABGR, GBRA, GBR, RGBP, BGRP, Y444, I420, YV12, Y42B, Y41B, NV12, NV21, NV16, NV61, YUY2, UYVY, Y210, AYUV, VUYA, Y410, A444, A422, GRAY8, GRAY16_LE, GRAY16_BE, RGB16, BGR16, ARGB64, A420, AV12, NV12_16L32S, NV12_4L4, RBGA" c:type="GST_GL_COLOR_CONVERT_FORMATS">
|
<constant name="GL_COLOR_CONVERT_FORMATS" value="{ RGBA, RGB, RGBx, BGR, BGRx, BGRA, xRGB, xBGR, ARGB, ABGR, GBRA, GBR, RGBP, BGRP, Y444, I420, YV12, Y42B, Y41B, NV12, NV21, NV16, NV61, YUY2, UYVY, Y210, AYUV, VUYA, Y410, A444, A422, GRAY8, GRAY16_LE, GRAY16_BE, RGB16, BGR16, ARGB64, A420, AV12, NV12_16L32S, NV12_4L4, RBGA, v210" c:type="GST_GL_COLOR_CONVERT_FORMATS">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.h">The currently supported formats that can be converted</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.h">The currently supported formats that can be converted</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.h"/>
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglcolorconvert.h"/>
|
||||||
<type name="utf8" c:type="gchar*"/>
|
<type name="utf8" c:type="gchar*"/>
|
||||||
|
@ -9943,7 +9943,7 @@ e.g. for `CONFIG_ID`: `GST_GL_CONFIG_ATTRIB_NAME (CONFIG_ID)`</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
|
||||||
<type name="utf8" c:type="gchar*"/>
|
<type name="utf8" c:type="gchar*"/>
|
||||||
</constant>
|
</constant>
|
||||||
<constant name="GL_MEMORY_VIDEO_FORMATS_STR" value="{ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, GBRA, GBR, RGBP, BGRP, RGB, BGR, RGB16, BGR16, AYUV, VUYA, A444, A422, Y410, I420, YV12, NV12, NV21, NV16, NV61, YUY2, UYVY, Y210, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64, A420, AV12, NV12_16L32S, NV12_4L4, RBGA" c:type="GST_GL_MEMORY_VIDEO_FORMATS_STR">
|
<constant name="GL_MEMORY_VIDEO_FORMATS_STR" value="{ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, GBRA, GBR, RGBP, BGRP, RGB, BGR, RGB16, BGR16, AYUV, VUYA, A444, A422, Y410, I420, YV12, NV12, NV21, NV16, NV61, YUY2, UYVY, Y210, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE, ARGB64, A420, AV12, NV12_16L32S, NV12_4L4, RBGA, v210" c:type="GST_GL_MEMORY_VIDEO_FORMATS_STR">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h">List of video formats that are supported by #GstGLMemory</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h">List of video formats that are supported by #GstGLMemory</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/gl/gstglmemory.h"/>
|
||||||
<type name="utf8" c:type="gchar*"/>
|
<type name="utf8" c:type="gchar*"/>
|
||||||
|
|
|
@ -587,12 +587,12 @@ GstPtpClock::internal-clock property will become non-NULL. You can
|
||||||
check this with gst_clock_wait_for_sync(), the GstClock::synced signal and
|
check this with gst_clock_wait_for_sync(), the GstClock::synced signal and
|
||||||
gst_clock_is_synced().</doc>
|
gst_clock_is_synced().</doc>
|
||||||
<source-position filename="../subprojects/gstreamer/libs/gst/net/gstptpclock.h"/>
|
<source-position filename="../subprojects/gstreamer/libs/gst/net/gstptpclock.h"/>
|
||||||
<return-value transfer-ownership="full">
|
<return-value transfer-ownership="full" nullable="1">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/net/gstptpclock.c">A new #GstClock</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/net/gstptpclock.c">A new #GstClock</doc>
|
||||||
<type name="Gst.Clock" c:type="GstClock*"/>
|
<type name="Gst.Clock" c:type="GstClock*"/>
|
||||||
</return-value>
|
</return-value>
|
||||||
<parameters>
|
<parameters>
|
||||||
<parameter name="name" transfer-ownership="none">
|
<parameter name="name" transfer-ownership="none" nullable="1" allow-none="1">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/net/gstptpclock.c">Name of the clock</doc>
|
<doc xml:space="preserve" filename="../subprojects/gstreamer/libs/gst/net/gstptpclock.c">Name of the clock</doc>
|
||||||
<type name="utf8" c:type="const gchar*"/>
|
<type name="utf8" c:type="const gchar*"/>
|
||||||
</parameter>
|
</parameter>
|
||||||
|
|
|
@ -1733,6 +1733,23 @@ subtitles), are currently ignored.</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</function>
|
</function>
|
||||||
|
<function name="from_string" c:identifier="gst_encoding_profile_from_string" version="1.26">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/encoding-profile.c">Converts a string in the "encoding profile serialization format" into a
|
||||||
|
GstEncodingProfile. Refer to the encoding-profile documentation for details
|
||||||
|
on the format.</doc>
|
||||||
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/encoding-profile.h"/>
|
||||||
|
<return-value transfer-ownership="full" nullable="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/encoding-profile.c">A newly created GstEncodingProfile or NULL if the
|
||||||
|
input string is not a valid encoding profile serialization format.</doc>
|
||||||
|
<type name="EncodingProfile" c:type="GstEncodingProfile*"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<parameter name="string" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/encoding-profile.c">The string to convert into a GstEncodingProfile.</doc>
|
||||||
|
<type name="utf8" c:type="const gchar*"/>
|
||||||
|
</parameter>
|
||||||
|
</parameters>
|
||||||
|
</function>
|
||||||
<method name="copy" c:identifier="gst_encoding_profile_copy" version="1.12">
|
<method name="copy" c:identifier="gst_encoding_profile_copy" version="1.12">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/encoding-profile.c">Makes a deep copy of @self</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/encoding-profile.c">Makes a deep copy of @self</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/encoding-profile.h"/>
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/encoding-profile.h"/>
|
||||||
|
@ -2099,9 +2116,26 @@ container profile. If 0, it is not a mandatory stream</doc>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="set_preset" c:identifier="gst_encoding_profile_set_preset">
|
<method name="set_preset" c:identifier="gst_encoding_profile_set_preset">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/encoding-profile.c">Sets the name of the #GstElement that implements the #GstPreset interface
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/encoding-profile.c">Sets the name of the preset to be used in the profile.
|
||||||
to use for the profile.
|
This is the name that has been set when saving the preset.
|
||||||
This is the name that has been set when saving the preset.</doc>
|
You can list the available presets for a specific element factory
|
||||||
|
using `$ gst-inspect-1.0 element-factory-name`, for example for
|
||||||
|
`x264enc`:
|
||||||
|
|
||||||
|
``` bash
|
||||||
|
$ gst-inspect-1.0 x264enc
|
||||||
|
...
|
||||||
|
Presets:
|
||||||
|
"Profile Baseline": Baseline Profile
|
||||||
|
"Profile High": High Profile
|
||||||
|
"Profile Main": Main Profile
|
||||||
|
"Profile YouTube": YouTube recommended settings (https://support.google.com/youtube/answer/1722171)
|
||||||
|
"Quality High": High quality
|
||||||
|
"Quality Low": Low quality
|
||||||
|
"Quality Normal": Normal quality
|
||||||
|
"Zero Latency"
|
||||||
|
```
|
||||||
|
}</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/encoding-profile.h"/>
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/encoding-profile.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
<type name="none" c:type="void"/>
|
<type name="none" c:type="void"/>
|
||||||
|
@ -2118,7 +2152,9 @@ This is the name that has been set when saving the preset.</doc>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="set_preset_name" c:identifier="gst_encoding_profile_set_preset_name">
|
<method name="set_preset_name" c:identifier="gst_encoding_profile_set_preset_name">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/encoding-profile.c">Sets the name of the #GstPreset's factory to be used in the profile.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/encoding-profile.c">Sets the name of the #GstPreset's factory to be used in the profile. This
|
||||||
|
is the name of the **element factory** that implements the #GstPreset interface not
|
||||||
|
the name of the preset itself (see #gst_encoding_profile_set_preset).</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/encoding-profile.h"/>
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/encoding-profile.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
<type name="none" c:type="void"/>
|
<type name="none" c:type="void"/>
|
||||||
|
@ -2129,7 +2165,7 @@ This is the name that has been set when saving the preset.</doc>
|
||||||
<type name="EncodingProfile" c:type="GstEncodingProfile*"/>
|
<type name="EncodingProfile" c:type="GstEncodingProfile*"/>
|
||||||
</instance-parameter>
|
</instance-parameter>
|
||||||
<parameter name="preset_name" transfer-ownership="none" nullable="1" allow-none="1">
|
<parameter name="preset_name" transfer-ownership="none" nullable="1" allow-none="1">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/encoding-profile.c">The name of the preset to use in this @profile.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/encoding-profile.c">The name of the element factory to use in this @profile.</doc>
|
||||||
<type name="utf8" c:type="const gchar*"/>
|
<type name="utf8" c:type="const gchar*"/>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
|
@ -2175,6 +2211,21 @@ single segment before the encoder, #FALSE otherwise.</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
|
<method name="to_string" c:identifier="gst_encoding_profile_to_string" version="1.26">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/encoding-profile.c">Converts a GstEncodingProfile to a string in the "Encoding Profile
|
||||||
|
serialization format".</doc>
|
||||||
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/encoding-profile.h"/>
|
||||||
|
<return-value transfer-ownership="full">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/encoding-profile.c">A string representation of the GstEncodingProfile.</doc>
|
||||||
|
<type name="utf8" c:type="gchar*"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="profile" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/encoding-profile.c">The GstEncodingProfile to convert.</doc>
|
||||||
|
<type name="EncodingProfile" c:type="GstEncodingProfile*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
<property name="element-properties" version="1.20" writable="1" transfer-ownership="none">
|
<property name="element-properties" version="1.20" writable="1" transfer-ownership="none">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/encoding-profile.c">A #GstStructure defining the properties to be set to the element
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/encoding-profile.c">A #GstStructure defining the properties to be set to the element
|
||||||
the profile represents.
|
the profile represents.
|
||||||
|
@ -2899,17 +2950,17 @@ in debugging.</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/gstpluginsbaseversion.h"/>
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/gstpluginsbaseversion.h"/>
|
||||||
<type name="gint" c:type="gint"/>
|
<type name="gint" c:type="gint"/>
|
||||||
</constant>
|
</constant>
|
||||||
<constant name="PLUGINS_BASE_VERSION_MICRO" value="90" c:type="GST_PLUGINS_BASE_VERSION_MICRO">
|
<constant name="PLUGINS_BASE_VERSION_MICRO" value="0" c:type="GST_PLUGINS_BASE_VERSION_MICRO">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/gstpluginsbaseversion.h">The micro version of GStreamer's gst-plugins-base libraries at compile time.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/gstpluginsbaseversion.h">The micro version of GStreamer's gst-plugins-base libraries at compile time.</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/gstpluginsbaseversion.h"/>
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/gstpluginsbaseversion.h"/>
|
||||||
<type name="gint" c:type="gint"/>
|
<type name="gint" c:type="gint"/>
|
||||||
</constant>
|
</constant>
|
||||||
<constant name="PLUGINS_BASE_VERSION_MINOR" value="23" c:type="GST_PLUGINS_BASE_VERSION_MINOR">
|
<constant name="PLUGINS_BASE_VERSION_MINOR" value="25" c:type="GST_PLUGINS_BASE_VERSION_MINOR">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/gstpluginsbaseversion.h">The minor version of GStreamer's gst-plugins-base libraries at compile time.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/gstpluginsbaseversion.h">The minor version of GStreamer's gst-plugins-base libraries at compile time.</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/gstpluginsbaseversion.h"/>
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/gstpluginsbaseversion.h"/>
|
||||||
<type name="gint" c:type="gint"/>
|
<type name="gint" c:type="gint"/>
|
||||||
</constant>
|
</constant>
|
||||||
<constant name="PLUGINS_BASE_VERSION_NANO" value="0" c:type="GST_PLUGINS_BASE_VERSION_NANO">
|
<constant name="PLUGINS_BASE_VERSION_NANO" value="1" c:type="GST_PLUGINS_BASE_VERSION_NANO">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/gstpluginsbaseversion.h">The nano version of GStreamer's gst-plugins-base libraries at compile time.
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/gstpluginsbaseversion.h">The nano version of GStreamer's gst-plugins-base libraries at compile time.
|
||||||
Actual releases have 0, GIT versions have 1, prerelease versions have 2-...</doc>
|
Actual releases have 0, GIT versions have 1, prerelease versions have 2-...</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/gstpluginsbaseversion.h"/>
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/gstpluginsbaseversion.h"/>
|
||||||
|
@ -3115,6 +3166,34 @@ rate.</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</function>
|
</function>
|
||||||
|
<function name="codec_utils_av1_get_level" c:identifier="gst_codec_utils_av1_get_level" version="1.26">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/codec-utils.c">Transform a seq_level_idx into the level string</doc>
|
||||||
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/codec-utils.h"/>
|
||||||
|
<return-value transfer-ownership="none" nullable="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/codec-utils.c">the level string or %NULL if the seq_level_idx is unknown</doc>
|
||||||
|
<type name="utf8" c:type="const gchar*"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<parameter name="seq_level_idx" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/codec-utils.c">A seq_level_idx</doc>
|
||||||
|
<type name="guint8" c:type="guint8"/>
|
||||||
|
</parameter>
|
||||||
|
</parameters>
|
||||||
|
</function>
|
||||||
|
<function name="codec_utils_av1_get_seq_level_idx" c:identifier="gst_codec_utils_av1_get_seq_level_idx" version="1.26">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/codec-utils.c">Transform a level string from the caps into the seq_level_idx</doc>
|
||||||
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/codec-utils.h"/>
|
||||||
|
<return-value transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/codec-utils.c">the seq_level_idx or 31 (max-level) if the level is unknown</doc>
|
||||||
|
<type name="guint8" c:type="guint8"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<parameter name="level" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/codec-utils.c">A level string from caps</doc>
|
||||||
|
<type name="utf8" c:type="const gchar*"/>
|
||||||
|
</parameter>
|
||||||
|
</parameters>
|
||||||
|
</function>
|
||||||
<function name="codec_utils_caps_from_mime_codec" c:identifier="gst_codec_utils_caps_from_mime_codec" version="1.22">
|
<function name="codec_utils_caps_from_mime_codec" c:identifier="gst_codec_utils_caps_from_mime_codec" version="1.22">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/codec-utils.c">Converts a RFC 6381 compatible codec string to #GstCaps. More than one codec
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/codec-utils.c">Converts a RFC 6381 compatible codec string to #GstCaps. More than one codec
|
||||||
string can be present (separated by `,`).
|
string can be present (separated by `,`).
|
||||||
|
@ -3790,6 +3869,7 @@ Moreover, you can set the extra properties:
|
||||||
* `|single-segment=true` (See #gst_encoding_profile_set_single_segment)
|
* `|single-segment=true` (See #gst_encoding_profile_set_single_segment)
|
||||||
* `|single-segment=true` (See
|
* `|single-segment=true` (See
|
||||||
#gst_encoding_video_profile_set_variableframerate)
|
#gst_encoding_video_profile_set_variableframerate)
|
||||||
|
* `|factory-name=element-factory-name` (See #gst_encoding_profile_set_preset_name)
|
||||||
|
|
||||||
for example:
|
for example:
|
||||||
|
|
||||||
|
@ -4683,6 +4763,37 @@ installation mechanisms using one of the two above-mentioned functions.</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</function>
|
</function>
|
||||||
|
<function name="missing_plugin_message_get_stream_id" c:identifier="gst_missing_plugin_message_get_stream_id" version="1.26">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/missing-plugins.c">Get the stream-id of the stream for which an element is missing.</doc>
|
||||||
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/missing-plugins.h"/>
|
||||||
|
<return-value transfer-ownership="none" nullable="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/missing-plugins.c">The stream-id or %NULL if none is specified.</doc>
|
||||||
|
<type name="utf8" c:type="const gchar*"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<parameter name="msg" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/missing-plugins.c">A missing-plugin #GstMessage of type #GST_MESSAGE_ELEMENT</doc>
|
||||||
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
||||||
|
</parameter>
|
||||||
|
</parameters>
|
||||||
|
</function>
|
||||||
|
<function name="missing_plugin_message_set_stream_id" c:identifier="gst_missing_plugin_message_set_stream_id" version="1.26">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/missing-plugins.c">Set the stream-id of the stream for which an element is missing.</doc>
|
||||||
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/missing-plugins.h"/>
|
||||||
|
<return-value transfer-ownership="none">
|
||||||
|
<type name="none" c:type="void"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<parameter name="msg" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/missing-plugins.c">A missing-plugin #GstMessage of type #GST_MESSAGE_ELEMENT</doc>
|
||||||
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="stream_id" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/missing-plugins.c">The stream id for which an element is missing</doc>
|
||||||
|
<type name="utf8" c:type="const gchar*"/>
|
||||||
|
</parameter>
|
||||||
|
</parameters>
|
||||||
|
</function>
|
||||||
<function name="missing_uri_sink_installer_detail_new" c:identifier="gst_missing_uri_sink_installer_detail_new">
|
<function name="missing_uri_sink_installer_detail_new" c:identifier="gst_missing_uri_sink_installer_detail_new">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/missing-plugins.c">Returns an opaque string containing all the details about the missing
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/pbutils/missing-plugins.c">Returns an opaque string containing all the details about the missing
|
||||||
element to be passed to an external installer called via
|
element to be passed to an external installer called via
|
||||||
|
|
|
@ -345,7 +345,10 @@ of its queued messages, thus breaking any possible reference cycle.</doc>
|
||||||
|
|
||||||
Video is going to be rendered by @video_renderer, or if %NULL is provided
|
Video is going to be rendered by @video_renderer, or if %NULL is provided
|
||||||
no special video set up will be done and some default handling will be
|
no special video set up will be done and some default handling will be
|
||||||
performed.</doc>
|
performed.
|
||||||
|
|
||||||
|
This also initializes GStreamer via `gst_init()` on the first call if this
|
||||||
|
didn't happen before.</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/play/gstplay.h"/>
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/play/gstplay.h"/>
|
||||||
<return-value transfer-ownership="full">
|
<return-value transfer-ownership="full">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/play/gstplay.c">a new #GstPlay instance</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/play/gstplay.c">a new #GstPlay instance</doc>
|
||||||
|
|
|
@ -337,7 +337,10 @@ passed. See gst_player_g_main_context_signal_dispatcher_new().
|
||||||
|
|
||||||
Video is going to be rendered by @video_renderer, or if %NULL is provided
|
Video is going to be rendered by @video_renderer, or if %NULL is provided
|
||||||
no special video set up will be done and some default handling will be
|
no special video set up will be done and some default handling will be
|
||||||
performed.</doc>
|
performed.
|
||||||
|
|
||||||
|
This also initializes GStreamer via `gst_init()` on the first call if this
|
||||||
|
didn't happen before.</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/player/gstplayer.h"/>
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/player/gstplayer.h"/>
|
||||||
<return-value transfer-ownership="full">
|
<return-value transfer-ownership="full">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/player/gstplayer.c">a new #GstPlayer instance</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/player/gstplayer.c">a new #GstPlayer instance</doc>
|
||||||
|
|
|
@ -2100,7 +2100,7 @@ packets, basically it accepts other types than RR and SR</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
|
||||||
<type name="gint" c:type="gint"/>
|
<type name="gint" c:type="gint"/>
|
||||||
</constant>
|
</constant>
|
||||||
<constant name="RTCP_VALID_VALUE" value="200" c:type="GST_RTCP_VALID_VALUE">
|
<constant name="RTCP_VALID_VALUE" value="32968" c:type="GST_RTCP_VALID_VALUE">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Valid value for the first two bytes of an RTCP packet after applying
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h">Valid value for the first two bytes of an RTCP packet after applying
|
||||||
#GST_RTCP_VALID_MASK to them.</doc>
|
#GST_RTCP_VALID_MASK to them.</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/rtp/gstrtcpbuffer.h"/>
|
||||||
|
|
|
@ -991,6 +991,33 @@ Shift and Alt).</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
<parameter name="state" transfer-ownership="none">
|
<parameter name="state" transfer-ownership="none">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.c">a bit-mask representing the state of the modifier keys (e.g. Control,
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.c">a bit-mask representing the state of the modifier keys (e.g. Control,
|
||||||
|
Shift and Alt).</doc>
|
||||||
|
<type name="NavigationModifierType" c:type="GstNavigationModifierType"/>
|
||||||
|
</parameter>
|
||||||
|
</parameters>
|
||||||
|
</function>
|
||||||
|
<function name="event_new_mouse_double_click" c:identifier="gst_navigation_event_new_mouse_double_click" version="1.26">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.c">Create a new navigation event for the given key mouse double click.</doc>
|
||||||
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.h"/>
|
||||||
|
<return-value transfer-ownership="full">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.c">a new #GstEvent</doc>
|
||||||
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<parameter name="button" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.c">The number of the pressed mouse button.</doc>
|
||||||
|
<type name="gint" c:type="gint"/>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="x" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.c">The x coordinate of the mouse cursor.</doc>
|
||||||
|
<type name="gdouble" c:type="gdouble"/>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="y" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.c">The y coordinate of the mouse cursor.</doc>
|
||||||
|
<type name="gdouble" c:type="gdouble"/>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="state" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.c">a bit-mask representing the state of the modifier keys (e.g. Control,
|
||||||
Shift and Alt).</doc>
|
Shift and Alt).</doc>
|
||||||
<type name="NavigationModifierType" c:type="GstNavigationModifierType"/>
|
<type name="NavigationModifierType" c:type="GstNavigationModifierType"/>
|
||||||
</parameter>
|
</parameter>
|
||||||
|
@ -1876,7 +1903,7 @@ implementing the #GstNavigation interface.</doc>
|
||||||
</instance-parameter>
|
</instance-parameter>
|
||||||
<parameter name="event" transfer-ownership="none">
|
<parameter name="event" transfer-ownership="none">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.c">The type of mouse event, as a text string. Recognised values are
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.c">The type of mouse event, as a text string. Recognised values are
|
||||||
"mouse-button-press", "mouse-button-release" and "mouse-move".</doc>
|
"mouse-button-press", "mouse-button-release", "mouse-move" and "mouse-double-click".</doc>
|
||||||
<type name="utf8" c:type="const char*"/>
|
<type name="utf8" c:type="const char*"/>
|
||||||
</parameter>
|
</parameter>
|
||||||
<parameter name="button" transfer-ownership="none">
|
<parameter name="button" transfer-ownership="none">
|
||||||
|
@ -2062,6 +2089,11 @@ from the event.</doc>
|
||||||
<member name="touch_cancel" value="12" c:identifier="GST_NAVIGATION_EVENT_TOUCH_CANCEL" version="1.22" glib:nick="touch-cancel">
|
<member name="touch_cancel" value="12" c:identifier="GST_NAVIGATION_EVENT_TOUCH_CANCEL" version="1.22" glib:nick="touch-cancel">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.h">An event cancelling all currently active touch points.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.h">An event cancelling all currently active touch points.</doc>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="mouse_double_click" value="13" c:identifier="GST_NAVIGATION_EVENT_MOUSE_DOUBLE_CLICK" version="1.26" glib:nick="mouse-double-click">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.h">A mouse button double click event.
|
||||||
|
Use gst_navigation_event_parse_mouse_button_event() to extract the details
|
||||||
|
from the event.</doc>
|
||||||
|
</member>
|
||||||
</enumeration>
|
</enumeration>
|
||||||
<record name="NavigationInterface" c:type="GstNavigationInterface" glib:is-gtype-struct-for="Navigation">
|
<record name="NavigationInterface" c:type="GstNavigationInterface" glib:is-gtype-struct-for="Navigation">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.h">Navigation interface.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.h">Navigation interface.</doc>
|
||||||
|
@ -3027,7 +3059,7 @@ Formats are sorted by decreasing "quality", using these criteria by priority:
|
||||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h"/>
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h"/>
|
||||||
<type name="utf8" c:type="gchar*"/>
|
<type name="utf8" c:type="gchar*"/>
|
||||||
</constant>
|
</constant>
|
||||||
<constant name="VIDEO_FORMATS_ALL_STR" value="A444_16BE, A444_16LE, AYUV64, ARGB64, RGBA64_BE, ARGB64_BE, BGRA64_BE, ABGR64_BE, RGBA64_LE, ARGB64_LE, BGRA64_LE, ABGR64_LE, A422_16BE, A422_16LE, A420_16BE, A420_16LE, A444_12BE, GBRA_12BE, A444_12LE, GBRA_12LE, Y412_BE, Y412_LE, A422_12BE, A422_12LE, A420_12BE, A420_12LE, A444_10BE, GBRA_10BE, A444_10LE, GBRA_10LE, A422_10BE, A422_10LE, A420_10BE, A420_10LE, Y410, BGR10A2_LE, RGB10A2_LE, A444, GBRA, AYUV, VUYA, RGBA, RBGA, ARGB, BGRA, ABGR, A422, A420, AV12, Y444_16BE, GBR_16BE, Y444_16LE, GBR_16LE, v216, P016_BE, P016_LE, Y444_12BE, GBR_12BE, Y444_12LE, GBR_12LE, I422_12BE, I422_12LE, Y212_BE, Y212_LE, I420_12BE, I420_12LE, P012_BE, P012_LE, Y444_10BE, GBR_10BE, Y444_10LE, GBR_10LE, r210, I422_10BE, I422_10LE, NV16_10LE32, Y210, UYVP, v210, I420_10BE, I420_10LE, P010_10BE, MT2110R, MT2110T, NV12_10BE_8L128, NV12_10LE40_4L4, P010_10LE, NV12_10LE40, NV12_10LE32, Y444, BGRP, GBR, RGBP, NV24, v308, IYU2, RGBx, xRGB, BGRx, xBGR, RGB, BGR, Y42B, NV16, NV61, YUY2, YVYU, UYVY, VYUY, I420, YV12, NV12, NV21, NV12_16L32S, NV12_32L32, NV12_4L4, NV12_64Z32, NV12_8L128, Y41B, IYU1, YUV9, YVU9, BGR16, RGB16, BGR15, RGB15, RGB8P, GRAY16_BE, GRAY16_LE, GRAY10_LE32, GRAY8" c:type="GST_VIDEO_FORMATS_ALL_STR" version="1.24">
|
<constant name="VIDEO_FORMATS_ALL_STR" value="A444_16BE, A444_16LE, AYUV64, ARGB64, Y416_BE, RGBA64_BE, ARGB64_BE, BGRA64_BE, ABGR64_BE, Y416_LE, RGBA64_LE, ARGB64_LE, BGRA64_LE, ABGR64_LE, A422_16BE, A422_16LE, A420_16BE, A420_16LE, A444_12BE, GBRA_12BE, A444_12LE, GBRA_12LE, Y412_BE, Y412_LE, A422_12BE, A422_12LE, A420_12BE, A420_12LE, A444_10BE, GBRA_10BE, A444_10LE, GBRA_10LE, A422_10BE, A422_10LE, A420_10BE, A420_10LE, Y410, BGR10A2_LE, RGB10A2_LE, A444, GBRA, AYUV, VUYA, RGBA, RBGA, ARGB, BGRA, ABGR, A422, A420, AV12, Y444_16BE, GBR_16BE, Y444_16LE, GBR_16LE, Y216_BE, v216, Y216_LE, P016_BE, P016_LE, Y444_12BE, GBR_12BE, Y444_12LE, GBR_12LE, I422_12BE, I422_12LE, Y212_BE, Y212_LE, I420_12BE, I420_12LE, P012_BE, P012_LE, Y444_10BE, GBR_10BE, Y444_10LE, GBR_10LE, r210, I422_10BE, I422_10LE, NV16_10LE32, Y210, UYVP, v210, I420_10BE, I420_10LE, P010_10BE, MT2110R, MT2110T, NV12_10BE_8L128, NV12_10LE40_4L4, P010_10LE, NV12_10LE40, NV12_10LE32, Y444, BGRP, GBR, RGBP, NV24, v308, IYU2, RGBx, xRGB, BGRx, xBGR, RGB, BGR, Y42B, NV16, NV61, YUY2, YVYU, UYVY, VYUY, I420, YV12, NV12, NV21, NV12_16L32S, NV12_32L32, NV12_4L4, NV12_64Z32, NV12_8L128, Y41B, IYU1, YUV9, YVU9, BGR16, RGB16, BGR15, RGB15, RGB8P, GRAY16_BE, GRAY16_LE, GRAY10_LE32, GRAY8" c:type="GST_VIDEO_FORMATS_ALL_STR" version="1.24">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">Declare all video formats as a string.
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">Declare all video formats as a string.
|
||||||
|
|
||||||
Formats are sorted by decreasing "quality", using these criteria by priority:
|
Formats are sorted by decreasing "quality", using these criteria by priority:
|
||||||
|
@ -3403,6 +3435,11 @@ Return the width of one tile in pixels, zero if its not an integer.</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</function-macro>
|
</function-macro>
|
||||||
|
<constant name="VIDEO_FORMAT_LAST" value="138" c:type="GST_VIDEO_FORMAT_LAST" version="1.26">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">Number of video formats in #GstVideoFormat.</doc>
|
||||||
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h"/>
|
||||||
|
<type name="gint" c:type="gint"/>
|
||||||
|
</constant>
|
||||||
<constant name="VIDEO_FPS_RANGE" value="(fraction) [ 0, max ]" c:type="GST_VIDEO_FPS_RANGE">
|
<constant name="VIDEO_FPS_RANGE" value="(fraction) [ 0, max ]" c:type="GST_VIDEO_FPS_RANGE">
|
||||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h"/>
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h"/>
|
||||||
<type name="utf8" c:type="gchar*"/>
|
<type name="utf8" c:type="gchar*"/>
|
||||||
|
@ -10292,6 +10329,18 @@ bits.</doc>
|
||||||
<member name="rbga" value="133" c:identifier="GST_VIDEO_FORMAT_RBGA" version="1.24" glib:nick="rbga">
|
<member name="rbga" value="133" c:identifier="GST_VIDEO_FORMAT_RBGA" version="1.24" glib:nick="rbga">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">packed RGB with alpha, 8 bits per channel</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">packed RGB with alpha, 8 bits per channel</doc>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="y216_le" value="134" c:identifier="GST_VIDEO_FORMAT_Y216_LE" version="1.26" glib:nick="y216-le">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">packed 4:2:2 YUV, 16 bits per channel (Y-U-Y-V)</doc>
|
||||||
|
</member>
|
||||||
|
<member name="y216_be" value="135" c:identifier="GST_VIDEO_FORMAT_Y216_BE" version="1.26" glib:nick="y216-be">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">packed 4:2:2 YUV, 16 bits per channel (Y-U-Y-V)</doc>
|
||||||
|
</member>
|
||||||
|
<member name="y416_le" value="136" c:identifier="GST_VIDEO_FORMAT_Y416_LE" version="1.26" glib:nick="y416-le">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">packed 4:4:4:4 YUV, 16 bits per channel(U-Y-V-A)</doc>
|
||||||
|
</member>
|
||||||
|
<member name="y416_be" value="137" c:identifier="GST_VIDEO_FORMAT_Y416_BE" version="1.26" glib:nick="y416-be">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h">packed 4:4:4:4 YUV, 16 bits per channel(U-Y-V-A)</doc>
|
||||||
|
</member>
|
||||||
<function name="from_fourcc" c:identifier="gst_video_format_from_fourcc">
|
<function name="from_fourcc" c:identifier="gst_video_format_from_fourcc">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.c">Converts a FOURCC value into the corresponding #GstVideoFormat.
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.c">Converts a FOURCC value into the corresponding #GstVideoFormat.
|
||||||
If the FOURCC cannot be represented by #GstVideoFormat,
|
If the FOURCC cannot be represented by #GstVideoFormat,
|
||||||
|
@ -10414,8 +10463,10 @@ no corresponding FOURCC value, 0 is returned.</doc>
|
||||||
</parameters>
|
</parameters>
|
||||||
</function>
|
</function>
|
||||||
<function name="to_string" c:identifier="gst_video_format_to_string">
|
<function name="to_string" c:identifier="gst_video_format_to_string">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.c">Returns a string containing a descriptive name for
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.c">Returns a string containing a descriptive name for the #GstVideoFormat.
|
||||||
the #GstVideoFormat if there is one, or NULL otherwise.</doc>
|
|
||||||
|
Since 1.26 this can also be used with %GST_VIDEO_FORMAT_UNKNOWN, previous
|
||||||
|
versions were printing a critical warning and returned %NULL.</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h"/>
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.c">the name corresponding to @format</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.c">the name corresponding to @format</doc>
|
||||||
|
@ -12838,10 +12889,10 @@ operation of video-sources or operators.</doc>
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video.h">Flip vertically</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video.h">Flip vertically</doc>
|
||||||
</member>
|
</member>
|
||||||
<member name="ul_lr" value="6" c:identifier="GST_VIDEO_ORIENTATION_UL_LR" glib:nick="ul-lr">
|
<member name="ul_lr" value="6" c:identifier="GST_VIDEO_ORIENTATION_UL_LR" glib:nick="ul-lr">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video.h">Flip across upper left/lower right diagonal</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video.h">Rotate counter-clockwise 90 degrees and flip vertically</doc>
|
||||||
</member>
|
</member>
|
||||||
<member name="ur_ll" value="7" c:identifier="GST_VIDEO_ORIENTATION_UR_LL" glib:nick="ur-ll">
|
<member name="ur_ll" value="7" c:identifier="GST_VIDEO_ORIENTATION_UR_LL" glib:nick="ur-ll">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video.h">Flip across upper right/lower left diagonal</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video.h">Rotate clockwise 90 degrees and flip vertically</doc>
|
||||||
</member>
|
</member>
|
||||||
<member name="auto" value="8" c:identifier="GST_VIDEO_ORIENTATION_AUTO" glib:nick="auto">
|
<member name="auto" value="8" c:identifier="GST_VIDEO_ORIENTATION_AUTO" glib:nick="auto">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video.h">Select flip method based on image-orientation tag</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video.h">Select flip method based on image-orientation tag</doc>
|
||||||
|
@ -16761,6 +16812,33 @@ Shift and Alt).</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
<parameter name="state" transfer-ownership="none">
|
<parameter name="state" transfer-ownership="none">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.c">a bit-mask representing the state of the modifier keys (e.g. Control,
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.c">a bit-mask representing the state of the modifier keys (e.g. Control,
|
||||||
|
Shift and Alt).</doc>
|
||||||
|
<type name="NavigationModifierType" c:type="GstNavigationModifierType"/>
|
||||||
|
</parameter>
|
||||||
|
</parameters>
|
||||||
|
</function>
|
||||||
|
<function name="navigation_event_new_mouse_double_click" c:identifier="gst_navigation_event_new_mouse_double_click" moved-to="Navigation.event_new_mouse_double_click" version="1.26">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.c">Create a new navigation event for the given key mouse double click.</doc>
|
||||||
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.h"/>
|
||||||
|
<return-value transfer-ownership="full">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.c">a new #GstEvent</doc>
|
||||||
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<parameter name="button" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.c">The number of the pressed mouse button.</doc>
|
||||||
|
<type name="gint" c:type="gint"/>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="x" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.c">The x coordinate of the mouse cursor.</doc>
|
||||||
|
<type name="gdouble" c:type="gdouble"/>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="y" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.c">The y coordinate of the mouse cursor.</doc>
|
||||||
|
<type name="gdouble" c:type="gdouble"/>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="state" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/navigation.c">a bit-mask representing the state of the modifier keys (e.g. Control,
|
||||||
Shift and Alt).</doc>
|
Shift and Alt).</doc>
|
||||||
<type name="NavigationModifierType" c:type="GstNavigationModifierType"/>
|
<type name="NavigationModifierType" c:type="GstNavigationModifierType"/>
|
||||||
</parameter>
|
</parameter>
|
||||||
|
@ -18669,8 +18747,10 @@ no corresponding FOURCC value, 0 is returned.</doc>
|
||||||
</parameters>
|
</parameters>
|
||||||
</function>
|
</function>
|
||||||
<function name="video_format_to_string" c:identifier="gst_video_format_to_string" moved-to="VideoFormat.to_string">
|
<function name="video_format_to_string" c:identifier="gst_video_format_to_string" moved-to="VideoFormat.to_string">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.c">Returns a string containing a descriptive name for
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.c">Returns a string containing a descriptive name for the #GstVideoFormat.
|
||||||
the #GstVideoFormat if there is one, or NULL otherwise.</doc>
|
|
||||||
|
Since 1.26 this can also be used with %GST_VIDEO_FORMAT_UNKNOWN, previous
|
||||||
|
versions were printing a critical warning and returned %NULL.</doc>
|
||||||
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h"/>
|
<source-position filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.c">the name corresponding to @format</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.c">the name corresponding to @format</doc>
|
||||||
|
|
|
@ -1115,7 +1115,7 @@ multiple times. This must be called before any other #GstVulkanBufferMemory ope
|
||||||
</parameter>
|
</parameter>
|
||||||
<parameter name="usage" transfer-ownership="none">
|
<parameter name="usage" transfer-ownership="none">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkbufferpool.c">The Vulkan buffer usage flags.</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkbufferpool.c">The Vulkan buffer usage flags.</doc>
|
||||||
<type name="Vulkan.ImageUsageFlags" c:type="VkImageUsageFlags"/>
|
<type name="Vulkan.BufferUsageFlags" c:type="VkBufferUsageFlags"/>
|
||||||
</parameter>
|
</parameter>
|
||||||
<parameter name="mem_properties" transfer-ownership="none">
|
<parameter name="mem_properties" transfer-ownership="none">
|
||||||
<type name="Vulkan.MemoryPropertyFlags" c:type="VkMemoryPropertyFlags"/>
|
<type name="Vulkan.MemoryPropertyFlags" c:type="VkMemoryPropertyFlags"/>
|
||||||
|
@ -1314,21 +1314,6 @@ need to use this function.</doc>
|
||||||
<record name="VulkanCommandPoolPrivate" c:type="GstVulkanCommandPoolPrivate" disguised="1">
|
<record name="VulkanCommandPoolPrivate" c:type="GstVulkanCommandPoolPrivate" disguised="1">
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/vulkan_fwd.h"/>
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/vulkan_fwd.h"/>
|
||||||
</record>
|
</record>
|
||||||
<record name="VulkanDecoder" c:type="GstVulkanDecoder" disguised="1">
|
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/vulkan_fwd.h"/>
|
|
||||||
</record>
|
|
||||||
<record name="VulkanDecoderClass" c:type="GstVulkanDecoderClass" disguised="1">
|
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/vulkan_fwd.h"/>
|
|
||||||
</record>
|
|
||||||
<union name="VulkanDecoderParameters" c:type="GstVulkanDecoderParameters">
|
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/vulkan_fwd.h"/>
|
|
||||||
</union>
|
|
||||||
<record name="VulkanDecoderPicture" c:type="GstVulkanDecoderPicture" disguised="1">
|
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/vulkan_fwd.h"/>
|
|
||||||
</record>
|
|
||||||
<record name="VulkanDecoderPrivate" c:type="GstVulkanDecoderPrivate" disguised="1">
|
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/vulkan_fwd.h"/>
|
|
||||||
</record>
|
|
||||||
<class name="VulkanDescriptorCache" c:symbol-prefix="vulkan_descriptor_cache" c:type="GstVulkanDescriptorCache" version="1.18" parent="VulkanHandlePool" glib:type-name="GstVulkanDescriptorCache" glib:get-type="gst_vulkan_descriptor_cache_get_type" glib:type-struct="VulkanDescriptorCacheClass">
|
<class name="VulkanDescriptorCache" c:symbol-prefix="vulkan_descriptor_cache" c:type="GstVulkanDescriptorCache" version="1.18" parent="VulkanHandlePool" glib:type-name="GstVulkanDescriptorCache" glib:get-type="gst_vulkan_descriptor_cache_get_type" glib:type-struct="VulkanDescriptorCacheClass">
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkdescriptorcache.h"/>
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkdescriptorcache.h"/>
|
||||||
<constructor name="new" c:identifier="gst_vulkan_descriptor_cache_new" version="1.18">
|
<constructor name="new" c:identifier="gst_vulkan_descriptor_cache_new" version="1.18">
|
||||||
|
@ -2284,6 +2269,22 @@ second argument is @data.</doc>
|
||||||
</parameters>
|
</parameters>
|
||||||
</function>
|
</function>
|
||||||
</bitfield>
|
</bitfield>
|
||||||
|
<record name="VulkanEncodeQueryResult" c:type="GstVulkanEncodeQueryResult" version="1.26">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkoperation.h">Encoder query result. Expected to be used in gst_vulkan_operation_get_query()</doc>
|
||||||
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkoperation.h"/>
|
||||||
|
<field name="offset" writable="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkoperation.h">buffer offset</doc>
|
||||||
|
<type name="guint32" c:type="guint32"/>
|
||||||
|
</field>
|
||||||
|
<field name="data_size" writable="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkoperation.h">data size</doc>
|
||||||
|
<type name="guint32" c:type="guint32"/>
|
||||||
|
</field>
|
||||||
|
<field name="status" writable="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkoperation.h">status</doc>
|
||||||
|
<type name="guint32" c:type="guint32"/>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
<enumeration name="VulkanError" version="1.18" glib:type-name="GstVulkanError" glib:get-type="gst_vulkan_error_get_type" c:type="GstVulkanError" glib:error-domain="gst-vulkan-error">
|
<enumeration name="VulkanError" version="1.18" glib:type-name="GstVulkanError" glib:get-type="gst_vulkan_error_get_type" c:type="GstVulkanError" glib:error-domain="gst-vulkan-error">
|
||||||
<member name="failed" value="0" c:identifier="GST_VULKAN_FAILED" glib:nick="failed">
|
<member name="failed" value="0" c:identifier="GST_VULKAN_FAILED" glib:nick="failed">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkerror.h">undetermined error</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkerror.h">undetermined error</doc>
|
||||||
|
@ -2654,6 +2655,19 @@ gst_vulkan_full_screen_quad_set_blend_factors().</doc>
|
||||||
</instance-parameter>
|
</instance-parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
|
<method name="get_queue" c:identifier="gst_vulkan_full_screen_quad_get_queue" version="1.26">
|
||||||
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkfullscreenquad.h"/>
|
||||||
|
<return-value transfer-ownership="full" nullable="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkfullscreenquad.c">The currently configured
|
||||||
|
#GstVulkanQueue</doc>
|
||||||
|
<type name="VulkanQueue" c:type="GstVulkanQueue*"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="self" transfer-ownership="none">
|
||||||
|
<type name="VulkanFullScreenQuad" c:type="GstVulkanFullScreenQuad*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
<method name="prepare_draw" c:identifier="gst_vulkan_full_screen_quad_prepare_draw" version="1.18" throws="1">
|
<method name="prepare_draw" c:identifier="gst_vulkan_full_screen_quad_prepare_draw" version="1.18" throws="1">
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkfullscreenquad.h"/>
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkfullscreenquad.h"/>
|
||||||
<return-value transfer-ownership="none">
|
<return-value transfer-ownership="none">
|
||||||
|
@ -2765,11 +2779,11 @@ See also: gst_vulkan_full_screen_quad_set_blend_factors().</doc>
|
||||||
</instance-parameter>
|
</instance-parameter>
|
||||||
<parameter name="in_info" transfer-ownership="none">
|
<parameter name="in_info" transfer-ownership="none">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkfullscreenquad.c">the input #GstVideoInfo to set</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkfullscreenquad.c">the input #GstVideoInfo to set</doc>
|
||||||
<type name="GstVideo.VideoInfo" c:type="GstVideoInfo*"/>
|
<type name="GstVideo.VideoInfo" c:type="const GstVideoInfo*"/>
|
||||||
</parameter>
|
</parameter>
|
||||||
<parameter name="out_info" transfer-ownership="none">
|
<parameter name="out_info" transfer-ownership="none">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkfullscreenquad.c">the output #GstVideoInfo to set</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkfullscreenquad.c">the output #GstVideoInfo to set</doc>
|
||||||
<type name="GstVideo.VideoInfo" c:type="GstVideoInfo*"/>
|
<type name="GstVideo.VideoInfo" c:type="const GstVideoInfo*"/>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
|
@ -2784,7 +2798,7 @@ See also: gst_vulkan_full_screen_quad_set_blend_factors().</doc>
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkfullscreenquad.c">the #GstVulkanFullScreenQuad</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkfullscreenquad.c">the #GstVulkanFullScreenQuad</doc>
|
||||||
<type name="VulkanFullScreenQuad" c:type="GstVulkanFullScreenQuad*"/>
|
<type name="VulkanFullScreenQuad" c:type="GstVulkanFullScreenQuad*"/>
|
||||||
</instance-parameter>
|
</instance-parameter>
|
||||||
<parameter name="buffer" transfer-ownership="none">
|
<parameter name="buffer" transfer-ownership="none" nullable="1" allow-none="1">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkfullscreenquad.c">the input #GstBuffer to set</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkfullscreenquad.c">the input #GstBuffer to set</doc>
|
||||||
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
||||||
</parameter>
|
</parameter>
|
||||||
|
@ -2801,7 +2815,7 @@ See also: gst_vulkan_full_screen_quad_set_blend_factors().</doc>
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkfullscreenquad.c">the #GstVulkanFullScreenQuad</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkfullscreenquad.c">the #GstVulkanFullScreenQuad</doc>
|
||||||
<type name="VulkanFullScreenQuad" c:type="GstVulkanFullScreenQuad*"/>
|
<type name="VulkanFullScreenQuad" c:type="GstVulkanFullScreenQuad*"/>
|
||||||
</instance-parameter>
|
</instance-parameter>
|
||||||
<parameter name="buffer" transfer-ownership="none">
|
<parameter name="buffer" transfer-ownership="none" nullable="1" allow-none="1">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkfullscreenquad.c">the output #GstBuffer to set</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkfullscreenquad.c">the output #GstBuffer to set</doc>
|
||||||
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
||||||
</parameter>
|
</parameter>
|
||||||
|
@ -3530,6 +3544,24 @@ dest or DPB images.</doc>
|
||||||
</parameter>
|
</parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</function>
|
</function>
|
||||||
|
<function name="config_set_encode_caps" c:identifier="gst_vulkan_image_buffer_pool_config_set_encode_caps" version="1.26">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkimagebufferpool.c">Encode @caps are used when the buffers are going to be used either as encoded
|
||||||
|
src or DPB images.</doc>
|
||||||
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkimagebufferpool.h"/>
|
||||||
|
<return-value transfer-ownership="none">
|
||||||
|
<type name="none" c:type="void"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<parameter name="config" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkimagebufferpool.c">the #GstStructure with the pool's configuration.</doc>
|
||||||
|
<type name="Gst.Structure" c:type="GstStructure*"/>
|
||||||
|
</parameter>
|
||||||
|
<parameter name="caps" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkimagebufferpool.c">Upstream encode caps.</doc>
|
||||||
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
||||||
|
</parameter>
|
||||||
|
</parameters>
|
||||||
|
</function>
|
||||||
<field name="bufferpool">
|
<field name="bufferpool">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkimagebufferpool.h">parent #GstBufferPool</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkimagebufferpool.h">parent #GstBufferPool</doc>
|
||||||
<type name="Gst.BufferPool" c:type="GstBufferPool"/>
|
<type name="Gst.BufferPool" c:type="GstBufferPool"/>
|
||||||
|
@ -5178,24 +5210,6 @@ surrounding elements of @element.</doc>
|
||||||
</instance-parameter>
|
</instance-parameter>
|
||||||
</parameters>
|
</parameters>
|
||||||
</method>
|
</method>
|
||||||
<method name="create_decoder" c:identifier="gst_vulkan_queue_create_decoder" version="1.24" introspectable="0">
|
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkqueue.c">Creates a #GstVulkanDecoder object if @codec decoding is supported by @queue</doc>
|
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkqueue.h"/>
|
|
||||||
<return-value transfer-ownership="full" nullable="1">
|
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkqueue.c">the #GstVulkanDecoder object</doc>
|
|
||||||
<type name="VulkanDecoder" c:type="GstVulkanDecoder*"/>
|
|
||||||
</return-value>
|
|
||||||
<parameters>
|
|
||||||
<instance-parameter name="queue" transfer-ownership="none">
|
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkqueue.c">a #GstVulkanQueue</doc>
|
|
||||||
<type name="VulkanQueue" c:type="GstVulkanQueue*"/>
|
|
||||||
</instance-parameter>
|
|
||||||
<parameter name="codec" transfer-ownership="none">
|
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkqueue.c">the VkVideoCodecOperationFlagBitsKHR to decode</doc>
|
|
||||||
<type name="guint" c:type="guint"/>
|
|
||||||
</parameter>
|
|
||||||
</parameters>
|
|
||||||
</method>
|
|
||||||
<method name="get_device" c:identifier="gst_vulkan_queue_get_device" version="1.18">
|
<method name="get_device" c:identifier="gst_vulkan_queue_get_device" version="1.18">
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkqueue.h"/>
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkqueue.h"/>
|
||||||
<return-value transfer-ownership="full" nullable="1">
|
<return-value transfer-ownership="full" nullable="1">
|
||||||
|
@ -5810,6 +5824,48 @@ signalled and freed.</doc>
|
||||||
</record>
|
</record>
|
||||||
<class name="VulkanVideoFilter" c:symbol-prefix="vulkan_video_filter" c:type="GstVulkanVideoFilter" version="1.18" parent="GstBase.BaseTransform" glib:type-name="GstVulkanVideoFilter" glib:get-type="gst_vulkan_video_filter_get_type" glib:type-struct="VulkanVideoFilterClass">
|
<class name="VulkanVideoFilter" c:symbol-prefix="vulkan_video_filter" c:type="GstVulkanVideoFilter" version="1.18" parent="GstBase.BaseTransform" glib:type-name="GstVulkanVideoFilter" glib:get-type="gst_vulkan_video_filter_get_type" glib:type-struct="VulkanVideoFilterClass">
|
||||||
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkvideofilter.h"/>
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkvideofilter.h"/>
|
||||||
|
<method name="get_device" c:identifier="gst_vulkan_video_filter_get_device" version="1.26">
|
||||||
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkvideofilter.h"/>
|
||||||
|
<return-value transfer-ownership="full" nullable="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkvideofilter.c">The currently configured
|
||||||
|
#GstVulkanDevice</doc>
|
||||||
|
<type name="VulkanDevice" c:type="GstVulkanDevice*"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="filter" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkvideofilter.c">a #GstVulkanVideoFilter</doc>
|
||||||
|
<type name="VulkanVideoFilter" c:type="GstVulkanVideoFilter*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
|
<method name="get_instance" c:identifier="gst_vulkan_video_filter_get_instance" version="1.26">
|
||||||
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkvideofilter.h"/>
|
||||||
|
<return-value transfer-ownership="full" nullable="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkvideofilter.c">The currently configured
|
||||||
|
#GstVulkanInstance</doc>
|
||||||
|
<type name="VulkanInstance" c:type="GstVulkanInstance*"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="filter" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkvideofilter.c">a #GstVulkanVideoFilter</doc>
|
||||||
|
<type name="VulkanVideoFilter" c:type="GstVulkanVideoFilter*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
|
<method name="get_queue" c:identifier="gst_vulkan_video_filter_get_queue" version="1.26">
|
||||||
|
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkvideofilter.h"/>
|
||||||
|
<return-value transfer-ownership="full" nullable="1">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkvideofilter.c">The currently configured
|
||||||
|
#GstVulkanQueue</doc>
|
||||||
|
<type name="VulkanQueue" c:type="GstVulkanQueue*"/>
|
||||||
|
</return-value>
|
||||||
|
<parameters>
|
||||||
|
<instance-parameter name="filter" transfer-ownership="none">
|
||||||
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkvideofilter.c">a #GstVulkanVideoFilter</doc>
|
||||||
|
<type name="VulkanVideoFilter" c:type="GstVulkanVideoFilter*"/>
|
||||||
|
</instance-parameter>
|
||||||
|
</parameters>
|
||||||
|
</method>
|
||||||
<field name="parent">
|
<field name="parent">
|
||||||
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkvideofilter.h">the parent #GstBaseTransform</doc>
|
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkvideofilter.h">the parent #GstBaseTransform</doc>
|
||||||
<type name="GstBase.BaseTransform" c:type="GstBaseTransform"/>
|
<type name="GstBase.BaseTransform" c:type="GstBaseTransform"/>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
project('gstreamer-full', 'c',
|
project('gstreamer-full', 'c',
|
||||||
version : '1.23.90',
|
version : '1.25.0.1',
|
||||||
meson_version : '>= 1.1',
|
meson_version : '>= 1.1',
|
||||||
default_options : ['buildtype=debugoptimized',
|
default_options : ['buildtype=debugoptimized',
|
||||||
# Needed due to https://github.com/mesonbuild/meson/issues/1889,
|
# Needed due to https://github.com/mesonbuild/meson/issues/1889,
|
||||||
|
|
|
@ -11,12 +11,12 @@ NOT_PYCODESTYLE_COMPLIANT_MESSAGE_PRE = \
|
||||||
NOT_PYCODESTYLE_COMPLIANT_MESSAGE_POST = \
|
NOT_PYCODESTYLE_COMPLIANT_MESSAGE_POST = \
|
||||||
"Please fix these errors and commit again, you can do so "\
|
"Please fix these errors and commit again, you can do so "\
|
||||||
"from the root directory automatically like this, assuming the whole "\
|
"from the root directory automatically like this, assuming the whole "\
|
||||||
"file is to be commited:"
|
"file is to be committed:"
|
||||||
|
|
||||||
NO_PYCODESTYLE_MESSAGE = \
|
NO_PYCODESTYLE_MESSAGE = \
|
||||||
"You should install the pycodestyle style checker to be able"\
|
"You should install the pycodestyle style checker to be able"\
|
||||||
" to commit in this repo.\nIt allows us to garantee that "\
|
" to commit in this repo.\nIt allows us to guarantee that "\
|
||||||
"anything that is commited respects the pycodestyle coding style "\
|
"anything that is committed respects the pycodestyle coding style "\
|
||||||
"standard.\nYou can install it:\n"\
|
"standard.\nYou can install it:\n"\
|
||||||
" * on ubuntu, debian: $sudo apt-get install pycodestyle \n"\
|
" * on ubuntu, debian: $sudo apt-get install pycodestyle \n"\
|
||||||
" * on fedora: #yum install python3-pycodestyle \n"\
|
" * on fedora: #yum install python3-pycodestyle \n"\
|
||||||
|
@ -40,7 +40,7 @@ def copy_files_to_tmp_dir(files):
|
||||||
filepath = os.path.dirname(filename)
|
filepath = os.path.dirname(filename)
|
||||||
if not os.path.exists(filepath):
|
if not os.path.exists(filepath):
|
||||||
os.makedirs(filepath)
|
os.makedirs(filepath)
|
||||||
with open(filename, 'w') as f:
|
with open(filename, 'w', encoding="utf-8") as f:
|
||||||
system('git', 'show', ':' + name, stdout=f)
|
system('git', 'show', ':' + name, stdout=f)
|
||||||
|
|
||||||
return tempdir
|
return tempdir
|
||||||
|
|
|
@ -7,26 +7,32 @@
|
||||||
# On some *bsd systems the binary seems to be called gnunindent,
|
# On some *bsd systems the binary seems to be called gnunindent,
|
||||||
# so check for that first.
|
# so check for that first.
|
||||||
|
|
||||||
version=`gnuindent --version 2>/dev/null`
|
|
||||||
if test "x$version" = "x"; then
|
version=$(gst-indent-1.0 --version 2>/dev/null)
|
||||||
version=`gindent --version 2>/dev/null`
|
if test -z "$version"; then
|
||||||
if test "x$version" = "x"; then
|
version=$(gnuindent --version 2>/dev/null)
|
||||||
version=`indent --version 2>/dev/null`
|
if test -z "$version"; then
|
||||||
if test "x$version" = "x"; then
|
version=$(gindent --version 2>/dev/null)
|
||||||
echo "GStreamer git pre-commit hook:"
|
if test -z "$version"; then
|
||||||
echo "Did not find GNU indent, please install it before continuing."
|
version=$(indent --version 2>/dev/null)
|
||||||
exit 1
|
if test -z "$version"; then
|
||||||
|
echo "GStreamer git pre-commit hook:"
|
||||||
|
echo "Did not find GNU indent, please install it before continuing."
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
INDENT=indent
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
INDENT=indent
|
INDENT=gindent
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
INDENT=gindent
|
INDENT=gnuindent
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
INDENT=gnuindent
|
INDENT=gst-indent-1.0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
case `$INDENT --version` in
|
case $($INDENT --version) in
|
||||||
GNU*)
|
GNU*)
|
||||||
;;
|
;;
|
||||||
default)
|
default)
|
||||||
|
@ -52,11 +58,11 @@ INDENT_PARAMETERS="--braces-on-if-line \
|
||||||
--leave-preprocessor-space"
|
--leave-preprocessor-space"
|
||||||
|
|
||||||
echo "--Checking style--"
|
echo "--Checking style--"
|
||||||
for file in `git diff-index --cached --name-only HEAD --diff-filter=ACMR| grep "\.c$"` ; do
|
for file in $(git diff-index --cached --name-only HEAD --diff-filter=ACMR| grep "\.c$") ; do
|
||||||
# nf is the temporary checkout. This makes sure we check against the
|
# nf is the temporary checkout. This makes sure we check against the
|
||||||
# revision in the index (and not the checked out version).
|
# revision in the index (and not the checked out version).
|
||||||
nf=`git checkout-index --temp ${file} | cut -f 1`
|
nf=$(git checkout-index --temp ${file} | cut -f 1)
|
||||||
newfile=`mktemp /tmp/${nf}.XXXXXX` || exit 1
|
newfile=$(mktemp /tmp/${nf}.XXXXXX) || exit 1
|
||||||
$INDENT ${INDENT_PARAMETERS} \
|
$INDENT ${INDENT_PARAMETERS} \
|
||||||
$nf -o $newfile 2>> /dev/null
|
$nf -o $newfile 2>> /dev/null
|
||||||
# FIXME: Call indent twice as it tends to do line-breaks
|
# FIXME: Call indent twice as it tends to do line-breaks
|
||||||
|
@ -91,10 +97,10 @@ echo "==========================================================================
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
csharp_files=` git diff-index --cached --name-only HEAD --diff-filter=ACMR| grep "^subprojects/gstreamer-sharp/.*cs$" `
|
csharp_files=$( git diff-index --cached --name-only HEAD --diff-filter=ACMR| grep "^subprojects/gstreamer-sharp/.*cs$" )
|
||||||
if test "x$csharp_files" != "x"; then
|
if test -n "$csharp_files"; then
|
||||||
version=`dotnet-format --version 2>/dev/null`
|
version=$(dotnet-format --version 2>/dev/null)
|
||||||
if test "x$version" = "x"; then
|
if test -z "$version"; then
|
||||||
echo "GStreamer git pre-commit hook:"
|
echo "GStreamer git pre-commit hook:"
|
||||||
echo "Did not find dotnet-format required to format C# files, please install it before continuing."
|
echo "Did not find dotnet-format required to format C# files, please install it before continuing."
|
||||||
exit 1
|
exit 1
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
for execname in gnuindent gindent indent; do
|
for execname in gst-indent-1.0 gnuindent gindent indent; do
|
||||||
version=`$execname --version 2>/dev/null`
|
version=`$execname --version 2>/dev/null`
|
||||||
if test "x$version" != "x"; then
|
if test "x$version" != "x"; then
|
||||||
INDENT=$execname
|
INDENT=$execname
|
||||||
|
|
|
@ -3,3 +3,4 @@ directory=FFmpeg
|
||||||
url=https://gitlab.freedesktop.org/gstreamer/meson-ports/ffmpeg.git
|
url=https://gitlab.freedesktop.org/gstreamer/meson-ports/ffmpeg.git
|
||||||
push-url=git@gitlab.freedesktop.org:gstreamer/meson-ports/ffmpeg.git
|
push-url=git@gitlab.freedesktop.org:gstreamer/meson-ports/ffmpeg.git
|
||||||
revision=meson-6.1
|
revision=meson-6.1
|
||||||
|
depth=1
|
||||||
|
|
|
@ -1,6 +1,9 @@
|
||||||
[wrap-file]
|
[wrap-file]
|
||||||
directory=dav1d-1.1.0
|
directory=dav1d-1.4.1
|
||||||
source_url = https://download.videolan.org/pub/videolan/dav1d/1.1.0/dav1d-1.1.0.tar.xz
|
source_url = https://download.videolan.org/pub/videolan/dav1d/1.4.1/dav1d-1.4.1.tar.xz
|
||||||
source_filename = dav1d-1.1.0.tar.xz
|
source_filename = dav1d-1.4.1.tar.xz
|
||||||
source_fallback_url = https://gstreamer.freedesktop.org/src/mirror/dav1d-1.1.0.tar.xz
|
source_fallback_url = https://gstreamer.freedesktop.org/src/mirror/dav1d-1.4.1.tar.xz
|
||||||
source_hash = fb57aae7875f28c30fb3dbae4a3683d27e2f91dde09ce5c60c22cef9bc58dfd1
|
source_hash = 8d407dd5fe7986413c937b14e67f36aebd06e1fa5cfec679d10e548476f2d5f8
|
||||||
|
|
||||||
|
[provide]
|
||||||
|
dav1d = dav1d_dep
|
||||||
|
|
|
@ -1,14 +1,13 @@
|
||||||
[wrap-file]
|
[wrap-file]
|
||||||
directory = DirectXMath-dec2022
|
directory = DirectXMath-feb2024
|
||||||
source_url = https://github.com/microsoft/DirectXMath/archive/refs/tags/dec2022.tar.gz
|
source_url = https://github.com/microsoft/DirectXMath/archive/refs/tags/feb2024.tar.gz
|
||||||
source_filename = dec2022.tar.gz
|
source_filename = feb2024.tar.gz
|
||||||
source_hash = 70a18f35343ff07084d31afa7a7978b3b59160f0533424365451c72475ff480f
|
source_hash = f78bb400dcbedd987f2876b2fb6fe12199d795cd6a912f965ef3a2141c78303d
|
||||||
patch_filename = directxmath_3.1.8-1_patch.zip
|
patch_filename = directxmath_3.1.9-1_patch.zip
|
||||||
patch_url = https://wrapdb.mesonbuild.com/v2/directxmath_3.1.8-1/get_patch
|
patch_url = https://wrapdb.mesonbuild.com/v2/directxmath_3.1.9-1/get_patch
|
||||||
patch_hash = 854f9c065319885f3de5b381cc77454913377a84c8ae6756795fe3eaa99b81f7
|
patch_hash = d2475b7de8deb6c801139b96ad91904b9062c9ea6432d62c1cb490a3d449ad12
|
||||||
source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/directxmath_3.1.8-1/dec2022.tar.gz
|
source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/directxmath_3.1.9-1/feb2024.tar.gz
|
||||||
wrapdb_version = 3.1.8-1
|
wrapdb_version = 3.1.9-1
|
||||||
diff_files = DirectXMath-dec2022/0001-Inc-Use-two-argument-cpuid-when-using-recent-MinGW.patch
|
|
||||||
|
|
||||||
[provide]
|
[provide]
|
||||||
directxmath = directxmath_dep
|
directxmath = directxmath_dep
|
||||||
|
|
13
subprojects/flac.wrap
Normal file
13
subprojects/flac.wrap
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
[wrap-file]
|
||||||
|
directory = flac-1.4.3
|
||||||
|
source_url = https://github.com/xiph/flac/releases/download/1.4.3/flac-1.4.3.tar.xz
|
||||||
|
source_filename = flac-1.4.3.tar.xz
|
||||||
|
source_hash = 6c58e69cd22348f441b861092b825e591d0b822e106de6eb0ee4d05d27205b70
|
||||||
|
patch_filename = flac_1.4.3-2_patch.zip
|
||||||
|
patch_url = https://wrapdb.mesonbuild.com/v2/flac_1.4.3-2/get_patch
|
||||||
|
patch_hash = 3eace1bd0769d3e0d4ff099960160766a5185d391c8f583293b087a1f96c2a9c
|
||||||
|
source_fallback_url = https://github.com/mesonbuild/wrapdb/releases/download/flac_1.4.3-2/flac-1.4.3.tar.xz
|
||||||
|
wrapdb_version = 1.4.3-2
|
||||||
|
|
||||||
|
[provide]
|
||||||
|
flac = flac_dep
|
|
@ -1,6 +1,6 @@
|
||||||
[wrap-file]
|
[wrap-file]
|
||||||
directory = glib-networking-2.74.0
|
directory = glib-networking-2.78.1
|
||||||
source_url = https://download.gnome.org/sources/glib-networking/2.74/glib-networking-2.74.0.tar.xz
|
source_url = https://download.gnome.org/sources/glib-networking/2.78/glib-networking-2.78.1.tar.xz
|
||||||
source_fallback_url = https://ftp.acc.umu.se/pub/gnome/sources/glib-networking/2.74/glib-networking-2.74.0.tar.xz
|
source_fallback_url = https://ftp.acc.umu.se/pub/gnome/sources/glib-networking/2.78/glib-networking-2.78.1.tar.xz
|
||||||
source_filename = glib-networking-2.74.0.tar.xz
|
source_filename = glib-networking-2.78.1.tar.xz
|
||||||
source_hash = 1f185aaef094123f8e25d8fa55661b3fd71020163a0174adb35a37685cda613b
|
source_hash = e48f2ddbb049832cbb09230529c5e45daca9f0df0eda325f832f7379859bf09f
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,15 +1,15 @@
|
||||||
This is GStreamer gst-devtools 1.23.90.
|
This is GStreamer gst-devtools 1.25.0.1.
|
||||||
|
|
||||||
GStreamer 1.23 is the unstable development branch leading up to the next major
|
GStreamer 1.25 is the unstable development branch leading up to the next major
|
||||||
stable version which will be 1.24.
|
stable version which will be 1.26.
|
||||||
|
|
||||||
The 1.23 development series adds new features on top of the 1.22 series and is
|
The 1.25 development series adds new features on top of the 1.24 series and is
|
||||||
part of the API and ABI-stable 1.x release series of the GStreamer multimedia
|
part of the API and ABI-stable 1.x release series of the GStreamer multimedia
|
||||||
framework.
|
framework.
|
||||||
|
|
||||||
Full release notes will one day be found at:
|
Full release notes will one day be found at:
|
||||||
|
|
||||||
https://gstreamer.freedesktop.org/releases/1.24/
|
https://gstreamer.freedesktop.org/releases/1.26/
|
||||||
|
|
||||||
Binaries for Android, iOS, Mac OS X and Windows will usually be provided
|
Binaries for Android, iOS, Mac OS X and Windows will usually be provided
|
||||||
shortly after the release.
|
shortly after the release.
|
||||||
|
@ -79,15 +79,12 @@ For help and support, please head over to our Discourse forum at
|
||||||
|
|
||||||
https://discourse.gstreamer.org/
|
https://discourse.gstreamer.org/
|
||||||
|
|
||||||
or pop into one of our Matrix chat channels, see
|
or pop into one of our Matrix chat rooms, see
|
||||||
|
|
||||||
https://discourse.gstreamer.org/t/new-gstreamer-matrix-chat-space/675
|
https://discourse.gstreamer.org/t/new-gstreamer-matrix-chat-space/675
|
||||||
|
|
||||||
for more details.
|
for more details.
|
||||||
|
|
||||||
There is also a legacy IRC channel, #gstreamer on the OFTC IRC network,
|
|
||||||
which is also bridged into the Matrix network.
|
|
||||||
|
|
||||||
Please do not submit support requests in GitLab, we only use it for
|
Please do not submit support requests in GitLab, we only use it for
|
||||||
bug tracking and merge requests review. Use the Discourse forum instead.
|
bug tracking and merge requests review. Use the Discourse forum instead.
|
||||||
|
|
||||||
|
|
|
@ -41,22 +41,18 @@ def _load_plugins(path):
|
||||||
import glob
|
import glob
|
||||||
|
|
||||||
files = glob.glob(os.path.join(path, "*.py"))
|
files = glob.glob(os.path.join(path, "*.py"))
|
||||||
|
|
||||||
for filename in files:
|
for filename in files:
|
||||||
|
|
||||||
name = os.path.basename(os.path.splitext(filename)[0])
|
name = os.path.basename(os.path.splitext(filename)[0])
|
||||||
if name == "__init__":
|
if name == "__init__":
|
||||||
continue
|
continue
|
||||||
|
|
||||||
finder = importlib.machinery.PathFinder()
|
loader = importlib.machinery.SourceFileLoader(name, filename)
|
||||||
spec = finder.find_spec(
|
spec = importlib.util.spec_from_file_location(name, filename, loader=loader)
|
||||||
name,
|
|
||||||
os.environ.get('_GI_OVERRIDES_PATH', '').split(os.pathsep)
|
|
||||||
)
|
|
||||||
if spec is None:
|
if spec is None:
|
||||||
raise ModuleNotFoundError(name)
|
raise ModuleNotFoundError(name)
|
||||||
module = importlib.util.module_from_spec(spec)
|
module = importlib.util.module_from_spec(spec)
|
||||||
|
loader.exec_module(module)
|
||||||
yield module
|
yield module
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -53,6 +53,16 @@
|
||||||
</GitRepository>
|
</GitRepository>
|
||||||
</repository>
|
</repository>
|
||||||
|
|
||||||
|
<release>
|
||||||
|
<Version>
|
||||||
|
<revision>1.24.0</revision>
|
||||||
|
<branch>main</branch>
|
||||||
|
<name></name>
|
||||||
|
<created>2024-03-04</created>
|
||||||
|
<file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-1.24.0.tar.xz" />
|
||||||
|
</Version>
|
||||||
|
</release>
|
||||||
|
|
||||||
<release>
|
<release>
|
||||||
<Version>
|
<Version>
|
||||||
<revision>1.23.90</revision>
|
<revision>1.23.90</revision>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
project('gst-devtools', 'c',
|
project('gst-devtools', 'c',
|
||||||
version : '1.23.90',
|
version : '1.25.0.1',
|
||||||
meson_version : '>= 1.1',
|
meson_version : '>= 1.1',
|
||||||
default_options : [ 'warning_level=1',
|
default_options : [ 'warning_level=1',
|
||||||
'c_std=gnu99',
|
'c_std=gnu99',
|
||||||
|
|
|
@ -31,6 +31,7 @@
|
||||||
|
|
||||||
#include <gst/gst.h>
|
#include <gst/gst.h>
|
||||||
#include <gst/video/video.h>
|
#include <gst/video/video.h>
|
||||||
|
#include <gst/audio/gstaudiometa.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <glib/gprintf.h>
|
#include <glib/gprintf.h>
|
||||||
|
@ -216,30 +217,55 @@ validate_flow_format_caps (const GstCaps * caps, gchar ** wanted_fields,
|
||||||
return caps_str;
|
return caps_str;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Returns a newly-allocated string for the provided enum nickname, or NULL */
|
||||||
static gchar *
|
static gchar *
|
||||||
buffer_get_flags_string (GstBuffer * buffer)
|
validate_flow_get_enum_nickname (GType enum_type, gint enum_value)
|
||||||
{
|
{
|
||||||
GFlagsClass *flags_class =
|
gchar *nickname = NULL;
|
||||||
G_FLAGS_CLASS (g_type_class_ref (gst_buffer_flags_get_type ()));
|
|
||||||
GstBufferFlags flags = GST_BUFFER_FLAGS (buffer);
|
|
||||||
GString *string = NULL;
|
|
||||||
|
|
||||||
while (1) {
|
GEnumClass *enum_class = G_ENUM_CLASS (g_type_class_ref (enum_type));
|
||||||
GFlagsValue *value = g_flags_get_first_value (flags_class, flags);
|
if (enum_class) {
|
||||||
if (!value)
|
GEnumValue *value = g_enum_get_value (enum_class, enum_value);
|
||||||
break;
|
if (value)
|
||||||
|
nickname = g_strdup (value->value_nick);
|
||||||
|
|
||||||
if (string == NULL)
|
g_type_class_unref (enum_class);
|
||||||
string = g_string_new (NULL);
|
|
||||||
else
|
|
||||||
g_string_append (string, " ");
|
|
||||||
|
|
||||||
g_string_append (string, value->value_nick);
|
|
||||||
flags &= ~value->value;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return (string != NULL) ? g_string_free (string, FALSE) : NULL;
|
return nickname;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Returns a newly-allocated string with the space-separated list of nicknames of the provided flags, or NULL */
|
||||||
|
static gchar *
|
||||||
|
validate_flow_get_flags_nicknames (GType flags_type, guint flags_value)
|
||||||
|
{
|
||||||
|
GString *nicknames = NULL;
|
||||||
|
|
||||||
|
GFlagsClass *flags_class = G_FLAGS_CLASS (g_type_class_ref (flags_type));
|
||||||
|
if (flags_class) {
|
||||||
|
guint flags = flags_value;
|
||||||
|
|
||||||
|
for (;;) {
|
||||||
|
GFlagsValue *value = g_flags_get_first_value (flags_class, flags);
|
||||||
|
if (!value)
|
||||||
|
break;
|
||||||
|
|
||||||
|
if (nicknames)
|
||||||
|
g_string_append (nicknames, " ");
|
||||||
|
else
|
||||||
|
nicknames = g_string_new (NULL);
|
||||||
|
|
||||||
|
g_string_append (nicknames, value->value_nick);
|
||||||
|
flags &= ~value->value;
|
||||||
|
|
||||||
|
if (flags == 0)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
g_type_class_unref (flags_class);
|
||||||
|
}
|
||||||
|
|
||||||
|
return nicknames ? g_string_free (nicknames, FALSE) : NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Returns a newly-allocated string describing the metas on this buffer, or NULL */
|
/* Returns a newly-allocated string describing the metas on this buffer, or NULL */
|
||||||
|
@ -270,6 +296,40 @@ buffer_get_meta_string (GstBuffer * buffer)
|
||||||
"GstVideoRegionOfInterestMeta[x=%" G_GUINT32_FORMAT ", y=%"
|
"GstVideoRegionOfInterestMeta[x=%" G_GUINT32_FORMAT ", y=%"
|
||||||
G_GUINT32_FORMAT ", width=%" G_GUINT32_FORMAT ", height=%"
|
G_GUINT32_FORMAT ", width=%" G_GUINT32_FORMAT ", height=%"
|
||||||
G_GUINT32_FORMAT "]", roi->x, roi->y, roi->w, roi->h);
|
G_GUINT32_FORMAT "]", roi->x, roi->y, roi->w, roi->h);
|
||||||
|
|
||||||
|
} else if (meta->info->api == GST_AUDIO_META_API_TYPE) {
|
||||||
|
GstAudioMeta *audio_meta = (GstAudioMeta *) meta;
|
||||||
|
|
||||||
|
gint channels = GST_AUDIO_INFO_CHANNELS (&audio_meta->info);
|
||||||
|
gchar *layout = validate_flow_get_enum_nickname (GST_TYPE_AUDIO_LAYOUT,
|
||||||
|
GST_AUDIO_INFO_LAYOUT (&audio_meta->info));
|
||||||
|
gchar *flags = validate_flow_get_flags_nicknames (GST_TYPE_AUDIO_FLAGS,
|
||||||
|
GST_AUDIO_INFO_FLAGS (&audio_meta->info));
|
||||||
|
|
||||||
|
g_string_append_printf (s,
|
||||||
|
"GstAudioMeta[format=%s, layout=%s, rate=%d, bpf=%d, flags=%s, channels=%d, position=[",
|
||||||
|
GST_AUDIO_INFO_NAME (&audio_meta->info), layout,
|
||||||
|
GST_AUDIO_INFO_RATE (&audio_meta->info),
|
||||||
|
GST_AUDIO_INFO_BPF (&audio_meta->info), flags, channels);
|
||||||
|
|
||||||
|
if (!GST_AUDIO_INFO_IS_UNPOSITIONED (&audio_meta->info)) {
|
||||||
|
for (gint i = 0; i < channels; ++i) {
|
||||||
|
if (i > 0)
|
||||||
|
g_string_append (s, ", ");
|
||||||
|
|
||||||
|
gchar *position =
|
||||||
|
validate_flow_get_enum_nickname (GST_TYPE_AUDIO_CHANNEL_POSITION,
|
||||||
|
GST_AUDIO_INFO_POSITION (&audio_meta->info, i));
|
||||||
|
g_string_append (s, position);
|
||||||
|
g_free (position);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
g_string_append (s, "]]");
|
||||||
|
|
||||||
|
g_free (layout);
|
||||||
|
g_free (flags);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
g_string_append (s, desc);
|
g_string_append (s, desc);
|
||||||
}
|
}
|
||||||
|
@ -358,7 +418,9 @@ validate_flow_format_buffer (GstBuffer * buffer, gint checksum_type,
|
||||||
buffer_parts[buffer_parts_index++] = g_strdup_printf ("dur=%s", time_str);
|
buffer_parts[buffer_parts_index++] = g_strdup_printf ("dur=%s", time_str);
|
||||||
}
|
}
|
||||||
|
|
||||||
flags_str = buffer_get_flags_string (buffer);
|
flags_str =
|
||||||
|
validate_flow_get_flags_nicknames (GST_TYPE_BUFFER_FLAGS,
|
||||||
|
GST_BUFFER_FLAGS (buffer));
|
||||||
if (flags_str && use_field ("flags", logged_fields, ignored_fields)) {
|
if (flags_str && use_field ("flags", logged_fields, ignored_fields)) {
|
||||||
buffer_parts[buffer_parts_index++] =
|
buffer_parts[buffer_parts_index++] =
|
||||||
g_strdup_printf ("flags=%s", flags_str);
|
g_strdup_printf ("flags=%s", flags_str);
|
||||||
|
|
|
@ -48,6 +48,7 @@ typedef struct _GstValidateReporterPrivate
|
||||||
} GstValidateReporterPrivate;
|
} GstValidateReporterPrivate;
|
||||||
|
|
||||||
static GstValidateReporterPrivate *g_log_handler = NULL;
|
static GstValidateReporterPrivate *g_log_handler = NULL;
|
||||||
|
static GWeakRef log_reporter;
|
||||||
|
|
||||||
G_DEFINE_INTERFACE (GstValidateReporter, gst_validate_reporter, G_TYPE_OBJECT);
|
G_DEFINE_INTERFACE (GstValidateReporter, gst_validate_reporter, G_TYPE_OBJECT);
|
||||||
|
|
||||||
|
@ -284,28 +285,25 @@ gst_validate_default_log_hanlder (const gchar * log_domain,
|
||||||
g_log_default_handler (log_domain, log_level, message, user_data);
|
g_log_default_handler (log_domain, log_level, message, user_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
gst_validate_reporter_destroyed (gpointer udata, GObject * freed_reporter)
|
|
||||||
{
|
|
||||||
g_log_set_handler ("GStreamer",
|
|
||||||
G_LOG_LEVEL_MASK, (GLogFunc) gst_validate_default_log_hanlder, NULL);
|
|
||||||
g_log_set_handler ("GLib",
|
|
||||||
G_LOG_LEVEL_MASK, (GLogFunc) gst_validate_default_log_hanlder, NULL);
|
|
||||||
g_log_set_handler ("GLib-GObject",
|
|
||||||
G_LOG_LEVEL_MASK, (GLogFunc) gst_validate_default_log_hanlder, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gst_validate_reporter_g_log_func (const gchar * log_domain,
|
gst_validate_reporter_g_log_func (const gchar * log_domain,
|
||||||
GLogLevelFlags log_level, const gchar * message,
|
GLogLevelFlags log_level, const gchar * message, gpointer udata)
|
||||||
GstValidateReporter * reporter)
|
|
||||||
{
|
{
|
||||||
|
GstValidateReporter *reporter = g_weak_ref_get (&log_reporter);
|
||||||
|
|
||||||
|
g_printerr ("G_LOG: %s\n", message);
|
||||||
|
if (!reporter) {
|
||||||
|
gst_validate_default_log_hanlder (log_domain, log_level, message, NULL);
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (log_level & G_LOG_LEVEL_ERROR)
|
if (log_level & G_LOG_LEVEL_ERROR)
|
||||||
gst_validate_default_log_hanlder (log_domain, log_level, message, reporter);
|
gst_validate_default_log_hanlder (log_domain, log_level, message, reporter);
|
||||||
else if (log_level & G_LOG_LEVEL_CRITICAL)
|
else if (log_level & G_LOG_LEVEL_CRITICAL)
|
||||||
GST_VALIDATE_REPORT (reporter, G_LOG_CRITICAL, "%s", message);
|
GST_VALIDATE_REPORT (reporter, G_LOG_CRITICAL, "%s", message);
|
||||||
else if (log_level & G_LOG_LEVEL_WARNING)
|
else if (log_level & G_LOG_LEVEL_WARNING)
|
||||||
GST_VALIDATE_REPORT (reporter, G_LOG_WARNING, "%s", message);
|
GST_VALIDATE_REPORT (reporter, G_LOG_WARNING, "%s", message);
|
||||||
|
|
||||||
|
gst_object_unref (reporter);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -487,23 +485,21 @@ gst_validate_reporter_set_runner (GstValidateReporter * reporter,
|
||||||
void
|
void
|
||||||
gst_validate_reporter_set_handle_g_logs (GstValidateReporter * reporter)
|
gst_validate_reporter_set_handle_g_logs (GstValidateReporter * reporter)
|
||||||
{
|
{
|
||||||
g_log_set_default_handler ((GLogFunc) gst_validate_reporter_g_log_func,
|
g_weak_ref_set (&log_reporter, reporter);
|
||||||
reporter);
|
|
||||||
|
g_log_set_default_handler ((GLogFunc) gst_validate_reporter_g_log_func, NULL);
|
||||||
|
|
||||||
g_log_set_handler ("GStreamer",
|
g_log_set_handler ("GStreamer",
|
||||||
G_LOG_LEVEL_MASK, (GLogFunc) gst_validate_reporter_g_log_func, reporter);
|
G_LOG_LEVEL_MASK, (GLogFunc) gst_validate_reporter_g_log_func, NULL);
|
||||||
|
|
||||||
g_log_set_handler ("GLib",
|
g_log_set_handler ("GLib",
|
||||||
G_LOG_LEVEL_MASK, (GLogFunc) gst_validate_reporter_g_log_func, reporter);
|
G_LOG_LEVEL_MASK, (GLogFunc) gst_validate_reporter_g_log_func, NULL);
|
||||||
|
|
||||||
|
|
||||||
g_log_set_handler ("GLib-GObject",
|
g_log_set_handler ("GLib-GObject",
|
||||||
G_LOG_LEVEL_MASK, (GLogFunc) gst_validate_reporter_g_log_func, reporter);
|
G_LOG_LEVEL_MASK, (GLogFunc) gst_validate_reporter_g_log_func, NULL);
|
||||||
|
|
||||||
g_log_handler = gst_validate_reporter_get_priv (reporter);
|
g_log_handler = gst_validate_reporter_get_priv (reporter);
|
||||||
g_object_weak_ref (G_OBJECT (reporter), gst_validate_reporter_destroyed,
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
.externalNativeBuild/
|
.externalNativeBuild/
|
||||||
assets/
|
assets/
|
||||||
gst-build-*/
|
gst-android-build/
|
||||||
src/org/freedesktop/gstreamer/GStreamer.java
|
src/org/freedesktop/gstreamer/GStreamer.java
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
.externalNativeBuild/
|
.externalNativeBuild/
|
||||||
assets/
|
assets/
|
||||||
gst-build-*/
|
gst-android-build/
|
||||||
src/org/freedesktop/gstreamer/GStreamer.java
|
src/org/freedesktop/gstreamer/GStreamer.java
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
.externalNativeBuild/
|
.externalNativeBuild/
|
||||||
assets/
|
assets/
|
||||||
gst-build-*/
|
gst-android-build/
|
||||||
src/org/freedesktop/gstreamer/GStreamer.java
|
src/org/freedesktop/gstreamer/GStreamer.java
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
.externalNativeBuild/
|
.externalNativeBuild/
|
||||||
assets/
|
assets/
|
||||||
gst-build-*/
|
gst-android-build/
|
||||||
src/org/
|
src/org/
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
.externalNativeBuild/
|
.externalNativeBuild/
|
||||||
assets/
|
assets/
|
||||||
gst-build-*/
|
gst-android-build/
|
||||||
src/org/
|
src/org/
|
||||||
|
|
|
@ -31,8 +31,8 @@ tutorial_main (int argc, char *argv[])
|
||||||
|
|
||||||
/* See next tutorial for proper error message handling/parsing */
|
/* See next tutorial for proper error message handling/parsing */
|
||||||
if (GST_MESSAGE_TYPE (msg) == GST_MESSAGE_ERROR) {
|
if (GST_MESSAGE_TYPE (msg) == GST_MESSAGE_ERROR) {
|
||||||
g_error ("An error occurred! Re-run with the GST_DEBUG=*:WARN environment "
|
g_printerr ("An error occurred! Re-run with the GST_DEBUG=*:WARN "
|
||||||
"variable set for more details.");
|
"environment variable set for more details.\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Free resources */
|
/* Free resources */
|
||||||
|
|
|
@ -341,7 +341,7 @@ tutorial_main (int argc, char *argv[])
|
||||||
* GStreamer will render the video at and we can add to our UI.
|
* GStreamer will render the video at and we can add to our UI.
|
||||||
* Try to create the OpenGL version of the video sink, and fallback if that fails */
|
* Try to create the OpenGL version of the video sink, and fallback if that fails */
|
||||||
if (gtkglsink != NULL && videosink != NULL) {
|
if (gtkglsink != NULL && videosink != NULL) {
|
||||||
g_print ("Successfully created GTK GL Sink");
|
g_print ("Successfully created GTK GL Sink\n");
|
||||||
|
|
||||||
g_object_set (videosink, "sink", gtkglsink, NULL);
|
g_object_set (videosink, "sink", gtkglsink, NULL);
|
||||||
|
|
||||||
|
@ -349,6 +349,11 @@ tutorial_main (int argc, char *argv[])
|
||||||
* So we get it and use it later to add it to our gui. */
|
* So we get it and use it later to add it to our gui. */
|
||||||
g_object_get (gtkglsink, "widget", &data.sink_widget, NULL);
|
g_object_get (gtkglsink, "widget", &data.sink_widget, NULL);
|
||||||
} else {
|
} else {
|
||||||
|
if (gtkglsink != NULL)
|
||||||
|
gst_object_unref (gtkglsink);
|
||||||
|
if (videosink != NULL)
|
||||||
|
gst_object_unref (videosink);
|
||||||
|
|
||||||
g_printerr ("Could not create gtkglsink, falling back to gtksink.\n");
|
g_printerr ("Could not create gtkglsink, falling back to gtksink.\n");
|
||||||
|
|
||||||
videosink = gst_element_factory_make ("gtksink", "gtksink");
|
videosink = gst_element_factory_make ("gtksink", "gtksink");
|
||||||
|
@ -365,7 +370,8 @@ tutorial_main (int argc, char *argv[])
|
||||||
"https://gstreamer.freedesktop.org/data/media/sintel_trailer-480p.webm",
|
"https://gstreamer.freedesktop.org/data/media/sintel_trailer-480p.webm",
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
/* Set the video-sink */
|
/* Set the video-sink. The playbin assumes ownership of videosink, because
|
||||||
|
* that's still a floating reference. */
|
||||||
g_object_set (data.playbin, "video-sink", videosink, NULL);
|
g_object_set (data.playbin, "video-sink", videosink, NULL);
|
||||||
|
|
||||||
/* Connect to interesting signals in playbin */
|
/* Connect to interesting signals in playbin */
|
||||||
|
@ -396,7 +402,6 @@ tutorial_main (int argc, char *argv[])
|
||||||
if (ret == GST_STATE_CHANGE_FAILURE) {
|
if (ret == GST_STATE_CHANGE_FAILURE) {
|
||||||
g_printerr ("Unable to set the pipeline to the playing state.\n");
|
g_printerr ("Unable to set the pipeline to the playing state.\n");
|
||||||
gst_object_unref (data.playbin);
|
gst_object_unref (data.playbin);
|
||||||
gst_object_unref (videosink);
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -409,7 +414,6 @@ tutorial_main (int argc, char *argv[])
|
||||||
/* Free resources */
|
/* Free resources */
|
||||||
gst_element_set_state (data.playbin, GST_STATE_NULL);
|
gst_element_set_state (data.playbin, GST_STATE_NULL);
|
||||||
gst_object_unref (data.playbin);
|
gst_object_unref (data.playbin);
|
||||||
gst_object_unref (videosink);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,11 +63,9 @@ these operations:
|
||||||
|
|
||||||
- If you don't know which component to file the issue against, just pick the one
|
- If you don't know which component to file the issue against, just pick the one
|
||||||
that seems the most likely to you, or file it against the gstreamer-project
|
that seems the most likely to you, or file it against the gstreamer-project
|
||||||
component. If in doubt just pop into our IRC channel `#gstreamer` on the
|
component. If in doubt just pop into our [Matrix Discussion channel][matrix].
|
||||||
[OFTC IRC network](https://www.oftc.net/), which you can connect to using
|
In any case, if it's not the right component someone will move the issue once
|
||||||
any IRC client application or the [OFTC IRC webchat](https://webchat.oftc.net/?channels=%23gstreamer).
|
they have a better idea what the problem is and where it belongs.
|
||||||
In any case, if it's not the right component someone will move the issue
|
|
||||||
once they have a better idea what the problem is and where it belongs.
|
|
||||||
|
|
||||||
- Please mention:
|
- Please mention:
|
||||||
|
|
||||||
|
@ -424,6 +422,7 @@ In the simplest case, you might be able to get away with just doing a `git pull
|
||||||
[special-md-references]: https://docs.gitlab.com/ee/user/markdown.html#special-gitlab-references
|
[special-md-references]: https://docs.gitlab.com/ee/user/markdown.html#special-gitlab-references
|
||||||
[bugs]: https://gstreamer.freedesktop.org/bugs/
|
[bugs]: https://gstreamer.freedesktop.org/bugs/
|
||||||
[gitlab]: https://gitlab.freedesktop.org/gstreamer
|
[gitlab]: https://gitlab.freedesktop.org/gstreamer
|
||||||
|
[matrix]: https://matrix.to/#/#gstreamer:gstreamer.org
|
||||||
|
|
||||||
#### Coding Style
|
#### Coding Style
|
||||||
|
|
||||||
|
@ -530,7 +529,7 @@ code repositories in commit messages.
|
||||||
Whenever you submit a new Merge Request, add a comment to an existing issue or
|
Whenever you submit a new Merge Request, add a comment to an existing issue or
|
||||||
Merge Request, GitLab will send a notification e-mail to GStreamer
|
Merge Request, GitLab will send a notification e-mail to GStreamer
|
||||||
developers. This means that there is usually no need to advertise the fact that
|
developers. This means that there is usually no need to advertise the fact that
|
||||||
you have done so in other forums such as on IRC or on the mailing list, unless
|
you have done so in other forums such as on Matrix or Discourse, unless
|
||||||
you have been asked to file an issue there, in which case it's nice to follow up
|
you have been asked to file an issue there, in which case it's nice to follow up
|
||||||
with the link to the issue.
|
with the link to the issue.
|
||||||
|
|
||||||
|
|
|
@ -72,14 +72,14 @@ directory.
|
||||||
|
|
||||||
## Why is mail traffic so low on gstreamer-devel?
|
## Why is mail traffic so low on gstreamer-devel?
|
||||||
|
|
||||||
Our main arenas for coordination and discussion are IRC and Gitlab, not
|
Our main arenas for coordination and discussion are [Matrix][matrix] and
|
||||||
the mailing lists. Join us in [`#gstreamer`][irc-gstreamer] on irc.oftc.net.
|
[Gitlab][gitlab], not the mailing lists which are being phased out. For larger
|
||||||
There is also a [webchat interface][webchat-gstreamer]. For larger picture
|
picture questions or getting more input from more people, starting a discussion
|
||||||
questions or getting more input from more people, a mail to the gstreamer-devel
|
on [Discourse][discourse] is the best place.
|
||||||
mailing list is never a bad idea, however.
|
|
||||||
|
|
||||||
[irc-gstreamer]: irc://irc.oftc.net/#gstreamer
|
[matrix]: https://matrix.to/#/#gstreamer:gstreamer.org
|
||||||
[webchat-gstreamer]: https://webchat.oftc.net/?channels=%23gstreamer
|
[gitlab]: https://gitlab.freedesktop.org/gstreamer
|
||||||
|
[discourse]: https://discourse.gstreamer.org/
|
||||||
|
|
||||||
## What kind of versioning scheme does GStreamer use?
|
## What kind of versioning scheme does GStreamer use?
|
||||||
|
|
||||||
|
|
|
@ -95,7 +95,7 @@ distributions we support with binaries are the distributions that we
|
||||||
have people who have volunteered to make binaries for. If you are
|
have people who have volunteered to make binaries for. If you are
|
||||||
interested in maintaining GStreamer binaries for other distributions or
|
interested in maintaining GStreamer binaries for other distributions or
|
||||||
Unices we would be happy to hear from you. Contact us through the
|
Unices we would be happy to hear from you. Contact us through the
|
||||||
GStreamer-devel mailing list.
|
GStreamer [Discourse][discourse] or [Matrix][matrix].
|
||||||
|
|
||||||
## I am having trouble compiling GStreamer on my LFS installation, why?
|
## I am having trouble compiling GStreamer on my LFS installation, why?
|
||||||
|
|
||||||
|
@ -104,11 +104,13 @@ knowledgeable enough to solve any build issues you get on your own.
|
||||||
Being volunteered based we can't promise support to anyone of course,
|
Being volunteered based we can't promise support to anyone of course,
|
||||||
but are you using LFS consider yourself extra unsupported. We neither
|
but are you using LFS consider yourself extra unsupported. We neither
|
||||||
can or want to know enough, about how your unique system is configured,
|
can or want to know enough, about how your unique system is configured,
|
||||||
to be able to help you. That said, if you come to the \#gstreamer
|
to be able to help you. That said, if you come to the [Matrix rooms][matrix]
|
||||||
channel on irc.openprojects.net we might of course be able to give you
|
we might of course be able to give you some general hints and pointers.
|
||||||
some general hints and pointers.
|
|
||||||
|
|
||||||
## How do I get GStreamer through git?
|
## How do I get GStreamer through git?
|
||||||
|
|
||||||
See this page : <http://gstreamer.freedesktop.org/dev/> for git
|
See this page : <http://gstreamer.freedesktop.org/dev/> for git
|
||||||
access (anonymous and developer).
|
access (anonymous and developer).
|
||||||
|
|
||||||
|
[matrix]: https://matrix.to/#/#gstreamer:gstreamer.org
|
||||||
|
[discourse]: https://discourse.gstreamer.org/
|
||||||
|
|
|
@ -200,10 +200,13 @@ $ git cherry-pick <commit> ... --strategy=subtree
|
||||||
|
|
||||||
## I have another question related to the mono repository - where is the best place to ask or get help?
|
## I have another question related to the mono repository - where is the best place to ask or get help?
|
||||||
|
|
||||||
Best to just pop into our IRC channel `#gstreamer` on the OFTC network (also accessible via Matrix) or send a mail to the gstreamer-devel mailing list.
|
Best to just pop into our [Matrix room][matrix] or start a discussion on [Discourse][discourse].
|
||||||
|
|
||||||
You can also file an issue in GitLab if you have a question that you think might be worth adding to this FAQ.
|
You can also file an issue in GitLab if you have a question that you think might be worth adding to this FAQ.
|
||||||
|
|
||||||
|
[matrix]: https://matrix.to/#/#gstreamer:gstreamer.org
|
||||||
|
[discourse]: https://discourse.gstreamer.org/
|
||||||
|
|
||||||
- - -
|
- - -
|
||||||
|
|
||||||
*This FAQ has been prepared by Thibault Saunier and Tim-Philipp Müller with contributions from Mathieu Duponchelle.*
|
*This FAQ has been prepared by Thibault Saunier and Tim-Philipp Müller with contributions from Mathieu Duponchelle.*
|
||||||
|
|
|
@ -22,7 +22,9 @@ dnf install gstreamer1-devel gstreamer1-plugins-base-tools gstreamer1-doc gstrea
|
||||||
|
|
||||||
Run the following command:
|
Run the following command:
|
||||||
|
|
||||||
`apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio`
|
```
|
||||||
|
apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio
|
||||||
|
```
|
||||||
|
|
||||||
## Building applications using GStreamer
|
## Building applications using GStreamer
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
project('GStreamer manuals and tutorials', 'c',
|
project('GStreamer manuals and tutorials', 'c',
|
||||||
version: '1.23.90',
|
version: '1.25.0.1',
|
||||||
meson_version : '>= 1.1')
|
meson_version : '>= 1.1')
|
||||||
|
|
||||||
hotdoc_p = find_program('hotdoc')
|
hotdoc_p = find_program('hotdoc')
|
||||||
|
@ -101,7 +101,7 @@ sitemap = configure_file(command: [sitemap_gen, '@INPUT@', '@OUTPUT@',
|
||||||
input: 'sitemap.txt',
|
input: 'sitemap.txt',
|
||||||
output: 'sitemap.txt')
|
output: 'sitemap.txt')
|
||||||
|
|
||||||
html_theme = 'https://github.com/hotdoc/hotdoc_lumen_theme/releases/download/0.15/hotdoc_lumen_theme-0.15.tar.xz?sha256=1ea7fd00d8dfd607d175c59e2d89918a55114c867f697a94c703f314b0d9b4b6'
|
html_theme = 'https://github.com/hotdoc/hotdoc_lumen_theme/releases/download/0.16/hotdoc_lumen_theme-0.16.tar.xz?sha256=b7d7dde51285d1c90836c44ae298754e4cfa957e9a6d14ee5844b8a2cac04b5a'
|
||||||
|
|
||||||
gstreamer_doc = hotdoc.generate_doc('GStreamer',
|
gstreamer_doc = hotdoc.generate_doc('GStreamer',
|
||||||
project_version: apiversion,
|
project_version: apiversion,
|
||||||
|
|
|
@ -871,6 +871,21 @@
|
||||||
"GST_ALLOCATOR_SHM",
|
"GST_ALLOCATOR_SHM",
|
||||||
"GST_ALLOCATOR_SYSMEM",
|
"GST_ALLOCATOR_SYSMEM",
|
||||||
"GST_ALLOCATOR_VASURFACE",
|
"GST_ALLOCATOR_VASURFACE",
|
||||||
|
"GST_ANALYTICS_MTD_CAST",
|
||||||
|
"GST_ANALYTICS_MTD_TYPE_ANY",
|
||||||
|
"GST_ANALYTICS_RELATION_META_API_TYPE",
|
||||||
|
"GST_ANALYTICS_RELATION_META_INFO",
|
||||||
|
"GST_ANALYTICS_REL_TYPE_ANY",
|
||||||
|
"GST_ANALYTICS_REL_TYPE_CONTAIN",
|
||||||
|
"GST_ANALYTICS_REL_TYPE_IS_PART_OF",
|
||||||
|
"GST_ANALYTICS_REL_TYPE_LAST",
|
||||||
|
"GST_ANALYTICS_REL_TYPE_NONE",
|
||||||
|
"GST_ANALYTICS_REL_TYPE_RELATE_TO",
|
||||||
|
"GST_ANCILLARY_META_API_TYPE",
|
||||||
|
"GST_ANCILLARY_META_FIELD_INTERLACED_FIRST",
|
||||||
|
"GST_ANCILLARY_META_FIELD_INTERLACED_SECOND",
|
||||||
|
"GST_ANCILLARY_META_FIELD_PROGRESSIVE",
|
||||||
|
"GST_ANCILLARY_META_INFO",
|
||||||
"GST_APP_LEAKY_TYPE_DOWNSTREAM",
|
"GST_APP_LEAKY_TYPE_DOWNSTREAM",
|
||||||
"GST_APP_LEAKY_TYPE_NONE",
|
"GST_APP_LEAKY_TYPE_NONE",
|
||||||
"GST_APP_LEAKY_TYPE_UPSTREAM",
|
"GST_APP_LEAKY_TYPE_UPSTREAM",
|
||||||
|
@ -1336,6 +1351,10 @@
|
||||||
"GST_AV1_WARP_MODEL_ROTZOOM",
|
"GST_AV1_WARP_MODEL_ROTZOOM",
|
||||||
"GST_AV1_WARP_MODEL_TRANSLATION",
|
"GST_AV1_WARP_MODEL_TRANSLATION",
|
||||||
"GST_BASE_API",
|
"GST_BASE_API",
|
||||||
|
"GST_BASE_DEPRECATED",
|
||||||
|
"GST_BASE_DEPRECATED_FOR",
|
||||||
|
"GST_BASE_DEPRECATED_TYPE",
|
||||||
|
"GST_BASE_DEPRECATED_TYPE_FOR",
|
||||||
"GST_BASE_CAMERA_SRC_CAST",
|
"GST_BASE_CAMERA_SRC_CAST",
|
||||||
"GST_BASE_CAMERA_SRC_IMAGE_PAD_NAME",
|
"GST_BASE_CAMERA_SRC_IMAGE_PAD_NAME",
|
||||||
"GST_BASE_CAMERA_SRC_PREVIEW_MESSAGE_NAME",
|
"GST_BASE_CAMERA_SRC_PREVIEW_MESSAGE_NAME",
|
||||||
|
@ -2397,6 +2416,7 @@
|
||||||
"GST_INFO",
|
"GST_INFO",
|
||||||
"GST_INFO_ID",
|
"GST_INFO_ID",
|
||||||
"GST_INFO_OBJECT",
|
"GST_INFO_OBJECT",
|
||||||
|
"GST_INF_RELATION_SPAN",
|
||||||
"GST_INSERT_BIN_API",
|
"GST_INSERT_BIN_API",
|
||||||
"GST_INSTALL_PLUGINS_CRASHED",
|
"GST_INSTALL_PLUGINS_CRASHED",
|
||||||
"GST_INSTALL_PLUGINS_ERROR",
|
"GST_INSTALL_PLUGINS_ERROR",
|
||||||
|
@ -3530,6 +3550,7 @@
|
||||||
"GST_OBJECT_CAST",
|
"GST_OBJECT_CAST",
|
||||||
"GST_OBJECT_CLASS_CAST",
|
"GST_OBJECT_CLASS_CAST",
|
||||||
"GST_OBJECT_FLAGS",
|
"GST_OBJECT_FLAGS",
|
||||||
|
"GST_OBJECT_FLAG_CONSTRUCTED",
|
||||||
"GST_OBJECT_FLAG_IS_SET",
|
"GST_OBJECT_FLAG_IS_SET",
|
||||||
"GST_OBJECT_FLAG_LAST",
|
"GST_OBJECT_FLAG_LAST",
|
||||||
"GST_OBJECT_FLAG_MAY_BE_LEAKED",
|
"GST_OBJECT_FLAG_MAY_BE_LEAKED",
|
||||||
|
@ -4572,6 +4593,7 @@
|
||||||
"GST_TAG_CONDUCTOR",
|
"GST_TAG_CONDUCTOR",
|
||||||
"GST_TAG_CONTACT",
|
"GST_TAG_CONTACT",
|
||||||
"GST_TAG_CONTAINER_FORMAT",
|
"GST_TAG_CONTAINER_FORMAT",
|
||||||
|
"GST_TAG_CONTAINER_SPECIFIC_TRACK_ID",
|
||||||
"GST_TAG_COPYRIGHT",
|
"GST_TAG_COPYRIGHT",
|
||||||
"GST_TAG_COPYRIGHT_URI",
|
"GST_TAG_COPYRIGHT_URI",
|
||||||
"GST_TAG_DATE",
|
"GST_TAG_DATE",
|
||||||
|
@ -6785,6 +6807,48 @@
|
||||||
"GstAlsaSrc:device",
|
"GstAlsaSrc:device",
|
||||||
"GstAlsaSrc:device-name",
|
"GstAlsaSrc:device-name",
|
||||||
"GstAlsaSrc:use-driver-timestamps",
|
"GstAlsaSrc:use-driver-timestamps",
|
||||||
|
"GstAmfAv1Enc!sink",
|
||||||
|
"GstAmfAv1Enc!src",
|
||||||
|
"GstAmfAv1EncPreset",
|
||||||
|
"GstAmfAv1EncPreset::balanced",
|
||||||
|
"GstAmfAv1EncPreset::default",
|
||||||
|
"GstAmfAv1EncPreset::high-quality",
|
||||||
|
"GstAmfAv1EncPreset::quality",
|
||||||
|
"GstAmfAv1EncPreset::speed",
|
||||||
|
"GstAmfAv1EncRateControl",
|
||||||
|
"GstAmfAv1EncRateControl::cbr",
|
||||||
|
"GstAmfAv1EncRateControl::cqp",
|
||||||
|
"GstAmfAv1EncRateControl::default",
|
||||||
|
"GstAmfAv1EncRateControl::lcvbr",
|
||||||
|
"GstAmfAv1EncRateControl::vbr",
|
||||||
|
"GstAmfAv1EncUsage",
|
||||||
|
"GstAmfAv1EncUsage::low-latency",
|
||||||
|
"GstAmfAv1EncUsage::transcoding",
|
||||||
|
"GstAmfEncPAActivityType",
|
||||||
|
"GstAmfEncPAActivityType::y",
|
||||||
|
"GstAmfEncPAActivityType::yuv",
|
||||||
|
"GstAmfEncPACAQStrength",
|
||||||
|
"GstAmfEncPACAQStrength::high",
|
||||||
|
"GstAmfEncPACAQStrength::low",
|
||||||
|
"GstAmfEncPACAQStrength::medium",
|
||||||
|
"GstAmfEncPAHQMBMode",
|
||||||
|
"GstAmfEncPAHQMBMode::auto",
|
||||||
|
"GstAmfEncPAHQMBMode::none",
|
||||||
|
"GstAmfEncPAPAQMode",
|
||||||
|
"GstAmfEncPAPAQMode::caq",
|
||||||
|
"GstAmfEncPAPAQMode::none",
|
||||||
|
"GstAmfEncPASceneChangeDetectionSensitivity",
|
||||||
|
"GstAmfEncPASceneChangeDetectionSensitivity::high",
|
||||||
|
"GstAmfEncPASceneChangeDetectionSensitivity::low",
|
||||||
|
"GstAmfEncPASceneChangeDetectionSensitivity::medium",
|
||||||
|
"GstAmfEncPAStaticSceneDetectionSensitivity",
|
||||||
|
"GstAmfEncPAStaticSceneDetectionSensitivity::high",
|
||||||
|
"GstAmfEncPAStaticSceneDetectionSensitivity::low",
|
||||||
|
"GstAmfEncPAStaticSceneDetectionSensitivity::medium",
|
||||||
|
"GstAmfEncPATAQMode",
|
||||||
|
"GstAmfEncPATAQMode::mode1",
|
||||||
|
"GstAmfEncPATAQMode::mode2",
|
||||||
|
"GstAmfEncPATAQMode::none",
|
||||||
"GstAmfEncoder",
|
"GstAmfEncoder",
|
||||||
"GstAmfH264Enc!sink",
|
"GstAmfH264Enc!sink",
|
||||||
"GstAmfH264Enc!src",
|
"GstAmfH264Enc!src",
|
||||||
|
@ -6849,6 +6913,38 @@
|
||||||
"GstAmrwbDec",
|
"GstAmrwbDec",
|
||||||
"GstAmrwbDec!sink",
|
"GstAmrwbDec!sink",
|
||||||
"GstAmrwbDec!src",
|
"GstAmrwbDec!src",
|
||||||
|
"GstAnalyticsClsMtd",
|
||||||
|
"GstAnalyticsClsMtd.id",
|
||||||
|
"GstAnalyticsClsMtd.meta",
|
||||||
|
"GstAnalyticsMtd",
|
||||||
|
"GstAnalyticsMtd.id",
|
||||||
|
"GstAnalyticsMtd.meta",
|
||||||
|
"GstAnalyticsMtdImpl",
|
||||||
|
"GstAnalyticsMtdImpl.name",
|
||||||
|
"GstAnalyticsMtdType",
|
||||||
|
"GstAnalyticsODMtd",
|
||||||
|
"GstAnalyticsODMtd.id",
|
||||||
|
"GstAnalyticsODMtd.meta",
|
||||||
|
"GstAnalyticsRelTypes",
|
||||||
|
"GstAnalyticsRelationMeta",
|
||||||
|
"GstAnalyticsRelationMetaInitParams",
|
||||||
|
"GstAnalyticsRelationMetaInitParams.initial_buf_size",
|
||||||
|
"GstAnalyticsRelationMetaInitParams.initial_relation_order",
|
||||||
|
"GstAnalyticsTrackingMtd",
|
||||||
|
"GstAnalyticsTrackingMtd.id",
|
||||||
|
"GstAnalyticsTrackingMtd.meta",
|
||||||
|
"GstAncillaryMeta",
|
||||||
|
"GstAncillaryMeta.DID",
|
||||||
|
"GstAncillaryMeta.SDID_block_number",
|
||||||
|
"GstAncillaryMeta.c_not_y_channel",
|
||||||
|
"GstAncillaryMeta.checksum",
|
||||||
|
"GstAncillaryMeta.data",
|
||||||
|
"GstAncillaryMeta.data_count",
|
||||||
|
"GstAncillaryMeta.field",
|
||||||
|
"GstAncillaryMeta.line",
|
||||||
|
"GstAncillaryMeta.meta",
|
||||||
|
"GstAncillaryMeta.offset",
|
||||||
|
"GstAncillaryMetaField",
|
||||||
"GstApeDemux",
|
"GstApeDemux",
|
||||||
"GstApeDemux!sink",
|
"GstApeDemux!sink",
|
||||||
"GstApeDemux!src",
|
"GstApeDemux!src",
|
||||||
|
@ -8257,6 +8353,7 @@
|
||||||
"GstCACASinkDithering::8x8",
|
"GstCACASinkDithering::8x8",
|
||||||
"GstCACASinkDithering::none",
|
"GstCACASinkDithering::none",
|
||||||
"GstCACASinkDithering::random",
|
"GstCACASinkDithering::random",
|
||||||
|
"GstCACASinkDriver",
|
||||||
"GstCACATv",
|
"GstCACATv",
|
||||||
"GstCACATv!sink",
|
"GstCACATv!sink",
|
||||||
"GstCACATv!src",
|
"GstCACATv!src",
|
||||||
|
@ -8719,6 +8816,14 @@
|
||||||
"GstCudaGraphicsResource.resource",
|
"GstCudaGraphicsResource.resource",
|
||||||
"GstCudaGraphicsResource.type",
|
"GstCudaGraphicsResource.type",
|
||||||
"GstCudaGraphicsResourceType",
|
"GstCudaGraphicsResourceType",
|
||||||
|
"GstCudaIpcIOMode",
|
||||||
|
"GstCudaIpcIOMode::copy",
|
||||||
|
"GstCudaIpcIOMode::import",
|
||||||
|
"GstCudaIpcMode",
|
||||||
|
"GstCudaIpcMode::legacy",
|
||||||
|
"GstCudaIpcMode::mmap",
|
||||||
|
"GstCudaIpcSink!sink",
|
||||||
|
"GstCudaIpcSrc!src",
|
||||||
"GstCudaMemory",
|
"GstCudaMemory",
|
||||||
"GstCudaMemory.context",
|
"GstCudaMemory.context",
|
||||||
"GstCudaMemory.info",
|
"GstCudaMemory.info",
|
||||||
|
@ -9156,6 +9261,8 @@
|
||||||
"GstD3D12Upload!sink",
|
"GstD3D12Upload!sink",
|
||||||
"GstD3D12Upload!src",
|
"GstD3D12Upload!src",
|
||||||
"GstD3D12VideoSink!sink",
|
"GstD3D12VideoSink!sink",
|
||||||
|
"GstD3D12Vp8Dec!sink",
|
||||||
|
"GstD3D12Vp8Dec!src",
|
||||||
"GstD3D12Vp9Dec!sink",
|
"GstD3D12Vp9Dec!sink",
|
||||||
"GstD3D12Vp9Dec!src",
|
"GstD3D12Vp9Dec!src",
|
||||||
"GstD3DVideoSink",
|
"GstD3DVideoSink",
|
||||||
|
@ -13569,6 +13676,12 @@
|
||||||
"GstNvDevice0H264Enc",
|
"GstNvDevice0H264Enc",
|
||||||
"GstNvDevice0H265Enc",
|
"GstNvDevice0H265Enc",
|
||||||
"GstNvEncoder",
|
"GstNvEncoder",
|
||||||
|
"GstNvEncoder:cc-insert",
|
||||||
|
"GstNvEncoderMultiPass",
|
||||||
|
"GstNvEncoderMultiPass::default",
|
||||||
|
"GstNvEncoderMultiPass::disabled",
|
||||||
|
"GstNvEncoderMultiPass::two-pass",
|
||||||
|
"GstNvEncoderMultiPass::two-pass-quarter",
|
||||||
"GstNvEncoderPreset",
|
"GstNvEncoderPreset",
|
||||||
"GstNvEncoderPreset::default",
|
"GstNvEncoderPreset::default",
|
||||||
"GstNvEncoderPreset::hp",
|
"GstNvEncoderPreset::hp",
|
||||||
|
@ -13578,6 +13691,13 @@
|
||||||
"GstNvEncoderPreset::low-latency",
|
"GstNvEncoderPreset::low-latency",
|
||||||
"GstNvEncoderPreset::low-latency-hp",
|
"GstNvEncoderPreset::low-latency-hp",
|
||||||
"GstNvEncoderPreset::low-latency-hq",
|
"GstNvEncoderPreset::low-latency-hq",
|
||||||
|
"GstNvEncoderPreset::p1",
|
||||||
|
"GstNvEncoderPreset::p2",
|
||||||
|
"GstNvEncoderPreset::p3",
|
||||||
|
"GstNvEncoderPreset::p4",
|
||||||
|
"GstNvEncoderPreset::p5",
|
||||||
|
"GstNvEncoderPreset::p6",
|
||||||
|
"GstNvEncoderPreset::p7",
|
||||||
"GstNvEncoderRCMode",
|
"GstNvEncoderRCMode",
|
||||||
"GstNvEncoderRCMode::cbr",
|
"GstNvEncoderRCMode::cbr",
|
||||||
"GstNvEncoderRCMode::cbr-hq",
|
"GstNvEncoderRCMode::cbr-hq",
|
||||||
|
@ -13585,6 +13705,16 @@
|
||||||
"GstNvEncoderRCMode::cqp",
|
"GstNvEncoderRCMode::cqp",
|
||||||
"GstNvEncoderRCMode::vbr",
|
"GstNvEncoderRCMode::vbr",
|
||||||
"GstNvEncoderRCMode::vbr-hq",
|
"GstNvEncoderRCMode::vbr-hq",
|
||||||
|
"GstNvEncoderSeiInsertMode",
|
||||||
|
"GstNvEncoderSeiInsertMode::disabled",
|
||||||
|
"GstNvEncoderSeiInsertMode::insert",
|
||||||
|
"GstNvEncoderSeiInsertMode::insert-and-drop",
|
||||||
|
"GstNvEncoderTune",
|
||||||
|
"GstNvEncoderTune::default",
|
||||||
|
"GstNvEncoderTune::high-quality",
|
||||||
|
"GstNvEncoderTune::lossless",
|
||||||
|
"GstNvEncoderTune::low-latency",
|
||||||
|
"GstNvEncoderTune::ultra-low-latency",
|
||||||
"GstNvH264Dec!sink",
|
"GstNvH264Dec!sink",
|
||||||
"GstNvH264Dec!src",
|
"GstNvH264Dec!src",
|
||||||
"GstNvH264Enc",
|
"GstNvH264Enc",
|
||||||
|
@ -13609,6 +13739,8 @@
|
||||||
"GstNvH265Enc:temporal-aq",
|
"GstNvH265Enc:temporal-aq",
|
||||||
"GstNvH265Enc:vbv-buffer-size",
|
"GstNvH265Enc:vbv-buffer-size",
|
||||||
"GstNvH265Enc:weighted-pred",
|
"GstNvH265Enc:weighted-pred",
|
||||||
|
"GstNvJpegEnc!sink",
|
||||||
|
"GstNvJpegEnc!src",
|
||||||
"GstNvPreset",
|
"GstNvPreset",
|
||||||
"GstNvPreset::default",
|
"GstNvPreset::default",
|
||||||
"GstNvPreset::hp",
|
"GstNvPreset::hp",
|
||||||
|
@ -14663,6 +14795,7 @@
|
||||||
"GstRTPBaseDepayload::clear-extensions",
|
"GstRTPBaseDepayload::clear-extensions",
|
||||||
"GstRTPBaseDepayload::request-extension",
|
"GstRTPBaseDepayload::request-extension",
|
||||||
"GstRTPBaseDepayload:auto-header-extension",
|
"GstRTPBaseDepayload:auto-header-extension",
|
||||||
|
"GstRTPBaseDepayload:extensions",
|
||||||
"GstRTPBaseDepayload:max-reorder",
|
"GstRTPBaseDepayload:max-reorder",
|
||||||
"GstRTPBaseDepayload:source-info",
|
"GstRTPBaseDepayload:source-info",
|
||||||
"GstRTPBaseDepayload:stats",
|
"GstRTPBaseDepayload:stats",
|
||||||
|
@ -19320,23 +19453,6 @@
|
||||||
"GstVulkanCommandPool.pool",
|
"GstVulkanCommandPool.pool",
|
||||||
"GstVulkanCommandPool.queue",
|
"GstVulkanCommandPool.queue",
|
||||||
"GstVulkanCommandPoolClass.parent_class",
|
"GstVulkanCommandPoolClass.parent_class",
|
||||||
"GstVulkanDecoder",
|
|
||||||
"GstVulkanDecoder.codec",
|
|
||||||
"GstVulkanDecoder.dedicated_dpb",
|
|
||||||
"GstVulkanDecoder.input_buffer",
|
|
||||||
"GstVulkanDecoder.layered_buffer",
|
|
||||||
"GstVulkanDecoder.layered_dpb",
|
|
||||||
"GstVulkanDecoder.parent",
|
|
||||||
"GstVulkanDecoder.profile",
|
|
||||||
"GstVulkanDecoder.queue",
|
|
||||||
"GstVulkanDecoderClass.parent",
|
|
||||||
"GstVulkanDecoderPicture",
|
|
||||||
"GstVulkanDecoderPicture.dpb",
|
|
||||||
"GstVulkanDecoderPicture.img_view_out",
|
|
||||||
"GstVulkanDecoderPicture.img_view_ref",
|
|
||||||
"GstVulkanDecoderPicture.out",
|
|
||||||
"GstVulkanDecoderPicture.refs",
|
|
||||||
"GstVulkanDecoderPicture.slice_offs",
|
|
||||||
"GstVulkanDescriptorCache",
|
"GstVulkanDescriptorCache",
|
||||||
"GstVulkanDescriptorCache.parent",
|
"GstVulkanDescriptorCache.parent",
|
||||||
"GstVulkanDescriptorCache.pool",
|
"GstVulkanDescriptorCache.pool",
|
||||||
|
@ -22474,6 +22590,7 @@
|
||||||
"ajasink:channel",
|
"ajasink:channel",
|
||||||
"ajasink:device-identifier",
|
"ajasink:device-identifier",
|
||||||
"ajasink:end-frame",
|
"ajasink:end-frame",
|
||||||
|
"ajasink:handle-ancillary-meta",
|
||||||
"ajasink:output-cpu-core",
|
"ajasink:output-cpu-core",
|
||||||
"ajasink:output-destination",
|
"ajasink:output-destination",
|
||||||
"ajasink:queue-size",
|
"ajasink:queue-size",
|
||||||
|
@ -22484,6 +22601,7 @@
|
||||||
"ajasink:timecode-index",
|
"ajasink:timecode-index",
|
||||||
"ajasinkcombiner",
|
"ajasinkcombiner",
|
||||||
"ajasrc",
|
"ajasrc",
|
||||||
|
"ajasrc:attach-ancillary-meta",
|
||||||
"ajasrc:audio-source",
|
"ajasrc:audio-source",
|
||||||
"ajasrc:audio-system",
|
"ajasrc:audio-system",
|
||||||
"ajasrc:capture-cpu-core",
|
"ajasrc:capture-cpu-core",
|
||||||
|
@ -22528,20 +22646,73 @@
|
||||||
"alsasrc:device",
|
"alsasrc:device",
|
||||||
"alsasrc:device-name",
|
"alsasrc:device-name",
|
||||||
"alsasrc:use-driver-timestamps",
|
"alsasrc:use-driver-timestamps",
|
||||||
|
"amfav1enc",
|
||||||
|
"amfav1enc:adapter-luid",
|
||||||
|
"amfav1enc:bitrate",
|
||||||
|
"amfav1enc:gop-size",
|
||||||
|
"amfav1enc:max-bitrate",
|
||||||
|
"amfav1enc:max-qp-i",
|
||||||
|
"amfav1enc:max-qp-p",
|
||||||
|
"amfav1enc:min-qp-i",
|
||||||
|
"amfav1enc:min-qp-p",
|
||||||
|
"amfav1enc:pa-activity-type",
|
||||||
|
"amfav1enc:pa-caq-strength",
|
||||||
|
"amfav1enc:pa-frame-sad",
|
||||||
|
"amfav1enc:pa-hqmb-mode",
|
||||||
|
"amfav1enc:pa-initial-qp",
|
||||||
|
"amfav1enc:pa-lookahead-buffer-depth",
|
||||||
|
"amfav1enc:pa-ltr",
|
||||||
|
"amfav1enc:pa-max-qp",
|
||||||
|
"amfav1enc:pa-paq-mode",
|
||||||
|
"amfav1enc:pa-scene-change-detection",
|
||||||
|
"amfav1enc:pa-scene-change-detection-sensitivity",
|
||||||
|
"amfav1enc:pa-static-scene-detection",
|
||||||
|
"amfav1enc:pa-static-scene-detection-sensitivity",
|
||||||
|
"amfav1enc:pa-taq-mode",
|
||||||
|
"amfav1enc:pre-analysis",
|
||||||
|
"amfav1enc:pre-encode",
|
||||||
|
"amfav1enc:preset",
|
||||||
|
"amfav1enc:qp-i",
|
||||||
|
"amfav1enc:qp-p",
|
||||||
|
"amfav1enc:rate-control",
|
||||||
|
"amfav1enc:ref-frames",
|
||||||
|
"amfav1enc:smart-access-video",
|
||||||
|
"amfav1enc:usage",
|
||||||
"amfh264enc",
|
"amfh264enc",
|
||||||
"amfh264enc:adapter-luid",
|
"amfh264enc:adapter-luid",
|
||||||
|
"amfh264enc:adaptive-mini-gop",
|
||||||
"amfh264enc:aud",
|
"amfh264enc:aud",
|
||||||
|
"amfh264enc:b-frames",
|
||||||
|
"amfh264enc:b-reference",
|
||||||
"amfh264enc:bitrate",
|
"amfh264enc:bitrate",
|
||||||
"amfh264enc:cabac",
|
"amfh264enc:cabac",
|
||||||
"amfh264enc:gop-size",
|
"amfh264enc:gop-size",
|
||||||
|
"amfh264enc:max-b-frames",
|
||||||
"amfh264enc:max-bitrate",
|
"amfh264enc:max-bitrate",
|
||||||
"amfh264enc:max-qp",
|
"amfh264enc:max-qp",
|
||||||
"amfh264enc:min-qp",
|
"amfh264enc:min-qp",
|
||||||
|
"amfh264enc:pa-activity-type",
|
||||||
|
"amfh264enc:pa-caq-strength",
|
||||||
|
"amfh264enc:pa-frame-sad",
|
||||||
|
"amfh264enc:pa-hqmb-mode",
|
||||||
|
"amfh264enc:pa-initial-qp",
|
||||||
|
"amfh264enc:pa-lookahead-buffer-depth",
|
||||||
|
"amfh264enc:pa-ltr",
|
||||||
|
"amfh264enc:pa-max-qp",
|
||||||
|
"amfh264enc:pa-paq-mode",
|
||||||
|
"amfh264enc:pa-scene-change-detection",
|
||||||
|
"amfh264enc:pa-scene-change-detection-sensitivity",
|
||||||
|
"amfh264enc:pa-static-scene-detection",
|
||||||
|
"amfh264enc:pa-static-scene-detection-sensitivity",
|
||||||
|
"amfh264enc:pa-taq-mode",
|
||||||
|
"amfh264enc:pre-analysis",
|
||||||
|
"amfh264enc:pre-encode",
|
||||||
"amfh264enc:preset",
|
"amfh264enc:preset",
|
||||||
"amfh264enc:qp-i",
|
"amfh264enc:qp-i",
|
||||||
"amfh264enc:qp-p",
|
"amfh264enc:qp-p",
|
||||||
"amfh264enc:rate-control",
|
"amfh264enc:rate-control",
|
||||||
"amfh264enc:ref-frames",
|
"amfh264enc:ref-frames",
|
||||||
|
"amfh264enc:smart-access-video",
|
||||||
"amfh264enc:usage",
|
"amfh264enc:usage",
|
||||||
"amfh265enc",
|
"amfh265enc",
|
||||||
"amfh265enc:adapter-luid",
|
"amfh265enc:adapter-luid",
|
||||||
|
@ -22553,11 +22724,28 @@
|
||||||
"amfh265enc:max-qp-p",
|
"amfh265enc:max-qp-p",
|
||||||
"amfh265enc:min-qp-i",
|
"amfh265enc:min-qp-i",
|
||||||
"amfh265enc:min-qp-p",
|
"amfh265enc:min-qp-p",
|
||||||
|
"amfh265enc:pa-activity-type",
|
||||||
|
"amfh265enc:pa-caq-strength",
|
||||||
|
"amfh265enc:pa-frame-sad",
|
||||||
|
"amfh265enc:pa-hqmb-mode",
|
||||||
|
"amfh265enc:pa-initial-qp",
|
||||||
|
"amfh265enc:pa-lookahead-buffer-depth",
|
||||||
|
"amfh265enc:pa-ltr",
|
||||||
|
"amfh265enc:pa-max-qp",
|
||||||
|
"amfh265enc:pa-paq-mode",
|
||||||
|
"amfh265enc:pa-scene-change-detection",
|
||||||
|
"amfh265enc:pa-scene-change-detection-sensitivity",
|
||||||
|
"amfh265enc:pa-static-scene-detection",
|
||||||
|
"amfh265enc:pa-static-scene-detection-sensitivity",
|
||||||
|
"amfh265enc:pa-taq-mode",
|
||||||
|
"amfh265enc:pre-analysis",
|
||||||
|
"amfh265enc:pre-encode",
|
||||||
"amfh265enc:preset",
|
"amfh265enc:preset",
|
||||||
"amfh265enc:qp-i",
|
"amfh265enc:qp-i",
|
||||||
"amfh265enc:qp-p",
|
"amfh265enc:qp-p",
|
||||||
"amfh265enc:rate-control",
|
"amfh265enc:rate-control",
|
||||||
"amfh265enc:ref-frames",
|
"amfh265enc:ref-frames",
|
||||||
|
"amfh265enc:smart-access-video",
|
||||||
"amfh265enc:usage",
|
"amfh265enc:usage",
|
||||||
"amrnbdec",
|
"amrnbdec",
|
||||||
"amrnbdec:variant",
|
"amrnbdec:variant",
|
||||||
|
@ -34353,6 +34541,7 @@
|
||||||
"cacasink",
|
"cacasink",
|
||||||
"cacasink:anti-aliasing",
|
"cacasink:anti-aliasing",
|
||||||
"cacasink:dither",
|
"cacasink:dither",
|
||||||
|
"cacasink:driver",
|
||||||
"cacasink:screen-height",
|
"cacasink:screen-height",
|
||||||
"cacasink:screen-width",
|
"cacasink:screen-width",
|
||||||
"cacatv",
|
"cacatv",
|
||||||
|
@ -34513,6 +34702,17 @@
|
||||||
"cudaconvertscale",
|
"cudaconvertscale",
|
||||||
"cudaconvertscale:add-borders",
|
"cudaconvertscale:add-borders",
|
||||||
"cudadownload",
|
"cudadownload",
|
||||||
|
"cudaipcsink",
|
||||||
|
"cudaipcsink:address",
|
||||||
|
"cudaipcsink:cuda-device-id",
|
||||||
|
"cudaipcsink:ipc-mode",
|
||||||
|
"cudaipcsrc",
|
||||||
|
"cudaipcsrc:address",
|
||||||
|
"cudaipcsrc:buffer-size",
|
||||||
|
"cudaipcsrc:connection-timeout",
|
||||||
|
"cudaipcsrc:cuda-device-id",
|
||||||
|
"cudaipcsrc:io-mode",
|
||||||
|
"cudaipcsrc:processing-deadline",
|
||||||
"cudascale",
|
"cudascale",
|
||||||
"cudascale:add-borders",
|
"cudascale:add-borders",
|
||||||
"cudaupload",
|
"cudaupload",
|
||||||
|
@ -34594,6 +34794,7 @@
|
||||||
"curlsmtpsink:subject",
|
"curlsmtpsink:subject",
|
||||||
"curlsmtpsink:use-ssl",
|
"curlsmtpsink:use-ssl",
|
||||||
"cutter",
|
"cutter",
|
||||||
|
"cutter:audio-level-meta",
|
||||||
"cutter:leaky",
|
"cutter:leaky",
|
||||||
"cutter:pre-length",
|
"cutter:pre-length",
|
||||||
"cutter:run-length",
|
"cutter:run-length",
|
||||||
|
@ -34864,6 +35065,10 @@
|
||||||
"d3d12videosink:sampling-method",
|
"d3d12videosink:sampling-method",
|
||||||
"d3d12videosink:scale-x",
|
"d3d12videosink:scale-x",
|
||||||
"d3d12videosink:scale-y",
|
"d3d12videosink:scale-y",
|
||||||
|
"d3d12vp8dec",
|
||||||
|
"d3d12vp8dec:adapter-luid",
|
||||||
|
"d3d12vp8dec:device-id",
|
||||||
|
"d3d12vp8dec:vendor-id",
|
||||||
"d3d12vp9dec",
|
"d3d12vp9dec",
|
||||||
"d3d12vp9dec:adapter-luid",
|
"d3d12vp9dec:adapter-luid",
|
||||||
"d3d12vp9dec:device-id",
|
"d3d12vp9dec:device-id",
|
||||||
|
@ -39035,6 +39240,43 @@
|
||||||
"gst_allocator_free",
|
"gst_allocator_free",
|
||||||
"gst_allocator_register",
|
"gst_allocator_register",
|
||||||
"gst_allocator_set_default",
|
"gst_allocator_set_default",
|
||||||
|
"gst_analytics_cls_mtd_get_index_by_quark",
|
||||||
|
"gst_analytics_cls_mtd_get_length",
|
||||||
|
"gst_analytics_cls_mtd_get_level",
|
||||||
|
"gst_analytics_cls_mtd_get_mtd_type",
|
||||||
|
"gst_analytics_cls_mtd_get_quark",
|
||||||
|
"gst_analytics_mtd_get_id",
|
||||||
|
"gst_analytics_mtd_get_mtd_type",
|
||||||
|
"gst_analytics_mtd_get_size",
|
||||||
|
"gst_analytics_mtd_type_get_name",
|
||||||
|
"gst_analytics_od_mtd_get_confidence_lvl",
|
||||||
|
"gst_analytics_od_mtd_get_location",
|
||||||
|
"gst_analytics_od_mtd_get_mtd_type",
|
||||||
|
"gst_analytics_od_mtd_get_obj_type",
|
||||||
|
"gst_analytics_relation_get_length",
|
||||||
|
"gst_analytics_relation_meta_add_cls_mtd",
|
||||||
|
"gst_analytics_relation_meta_add_mtd",
|
||||||
|
"gst_analytics_relation_meta_add_od_mtd",
|
||||||
|
"gst_analytics_relation_meta_add_one_cls_mtd",
|
||||||
|
"gst_analytics_relation_meta_add_tracking_mtd",
|
||||||
|
"gst_analytics_relation_meta_api_get_type",
|
||||||
|
"gst_analytics_relation_meta_exist",
|
||||||
|
"gst_analytics_relation_meta_get_cls_mtd",
|
||||||
|
"gst_analytics_relation_meta_get_direct_related",
|
||||||
|
"gst_analytics_relation_meta_get_info",
|
||||||
|
"gst_analytics_relation_meta_get_mtd",
|
||||||
|
"gst_analytics_relation_meta_get_mtd_data",
|
||||||
|
"gst_analytics_relation_meta_get_od_mtd",
|
||||||
|
"gst_analytics_relation_meta_get_relation",
|
||||||
|
"gst_analytics_relation_meta_get_tracking_mtd",
|
||||||
|
"gst_analytics_relation_meta_iterate",
|
||||||
|
"gst_analytics_relation_meta_set_relation",
|
||||||
|
"gst_analytics_tracking_mtd_get_info",
|
||||||
|
"gst_analytics_tracking_mtd_get_mtd_type",
|
||||||
|
"gst_analytics_tracking_mtd_set_lost",
|
||||||
|
"gst_analytics_tracking_mtd_update_last_seen",
|
||||||
|
"gst_ancillary_meta_api_get_type",
|
||||||
|
"gst_ancillary_meta_get_info",
|
||||||
"gst_app_sink_get_buffer_list_support",
|
"gst_app_sink_get_buffer_list_support",
|
||||||
"gst_app_sink_get_caps",
|
"gst_app_sink_get_caps",
|
||||||
"gst_app_sink_get_drop",
|
"gst_app_sink_get_drop",
|
||||||
|
@ -39483,6 +39725,9 @@
|
||||||
"gst_bit_writer_reset_and_get_buffer",
|
"gst_bit_writer_reset_and_get_buffer",
|
||||||
"gst_bit_writer_reset_and_get_data",
|
"gst_bit_writer_reset_and_get_data",
|
||||||
"gst_bit_writer_set_pos",
|
"gst_bit_writer_set_pos",
|
||||||
|
"gst_buffer_add_analytics_relation_meta",
|
||||||
|
"gst_buffer_add_analytics_relation_meta_full",
|
||||||
|
"gst_buffer_add_ancillary_meta",
|
||||||
"gst_buffer_add_audio_clipping_meta",
|
"gst_buffer_add_audio_clipping_meta",
|
||||||
"gst_buffer_add_audio_downmix_meta",
|
"gst_buffer_add_audio_downmix_meta",
|
||||||
"gst_buffer_add_audio_level_meta",
|
"gst_buffer_add_audio_level_meta",
|
||||||
|
@ -39528,6 +39773,8 @@
|
||||||
"gst_buffer_find_memory",
|
"gst_buffer_find_memory",
|
||||||
"gst_buffer_foreach_meta",
|
"gst_buffer_foreach_meta",
|
||||||
"gst_buffer_get_all_memory",
|
"gst_buffer_get_all_memory",
|
||||||
|
"gst_buffer_get_analytics_relation_meta",
|
||||||
|
"gst_buffer_get_ancillary_meta",
|
||||||
"gst_buffer_get_audio_clipping_meta",
|
"gst_buffer_get_audio_clipping_meta",
|
||||||
"gst_buffer_get_audio_downmix_meta",
|
"gst_buffer_get_audio_downmix_meta",
|
||||||
"gst_buffer_get_audio_downmix_meta_for_channels",
|
"gst_buffer_get_audio_downmix_meta_for_channels",
|
||||||
|
@ -39571,6 +39818,7 @@
|
||||||
"gst_buffer_is_all_memory_writable",
|
"gst_buffer_is_all_memory_writable",
|
||||||
"gst_buffer_is_memory_range_writable",
|
"gst_buffer_is_memory_range_writable",
|
||||||
"gst_buffer_is_writable",
|
"gst_buffer_is_writable",
|
||||||
|
"gst_buffer_iterate_ancillary_meta",
|
||||||
"gst_buffer_iterate_meta",
|
"gst_buffer_iterate_meta",
|
||||||
"gst_buffer_iterate_meta_filtered",
|
"gst_buffer_iterate_meta_filtered",
|
||||||
"gst_buffer_list_add",
|
"gst_buffer_list_add",
|
||||||
|
@ -42167,6 +42415,9 @@
|
||||||
"gst_player_visualizations_get",
|
"gst_player_visualizations_get",
|
||||||
"gst_plugin_add_dependency",
|
"gst_plugin_add_dependency",
|
||||||
"gst_plugin_add_dependency_simple",
|
"gst_plugin_add_dependency_simple",
|
||||||
|
"gst_plugin_add_status_error",
|
||||||
|
"gst_plugin_add_status_info",
|
||||||
|
"gst_plugin_add_status_warning",
|
||||||
"gst_plugin_error_quark",
|
"gst_plugin_error_quark",
|
||||||
"gst_plugin_feature_check_version",
|
"gst_plugin_feature_check_version",
|
||||||
"gst_plugin_feature_get_name",
|
"gst_plugin_feature_get_name",
|
||||||
|
@ -42189,6 +42440,9 @@
|
||||||
"gst_plugin_get_package",
|
"gst_plugin_get_package",
|
||||||
"gst_plugin_get_release_date_string",
|
"gst_plugin_get_release_date_string",
|
||||||
"gst_plugin_get_source",
|
"gst_plugin_get_source",
|
||||||
|
"gst_plugin_get_status_errors",
|
||||||
|
"gst_plugin_get_status_infos",
|
||||||
|
"gst_plugin_get_status_warnings",
|
||||||
"gst_plugin_get_version",
|
"gst_plugin_get_version",
|
||||||
"gst_plugin_is_loaded",
|
"gst_plugin_is_loaded",
|
||||||
"gst_plugin_list_free",
|
"gst_plugin_list_free",
|
||||||
|
@ -43465,6 +43719,7 @@
|
||||||
"gst_structure_remove_fields",
|
"gst_structure_remove_fields",
|
||||||
"gst_structure_remove_fields_valist",
|
"gst_structure_remove_fields_valist",
|
||||||
"gst_structure_serialize",
|
"gst_structure_serialize",
|
||||||
|
"gst_structure_serialize_full",
|
||||||
"gst_structure_set",
|
"gst_structure_set",
|
||||||
"gst_structure_set_array",
|
"gst_structure_set_array",
|
||||||
"gst_structure_set_list",
|
"gst_structure_set_list",
|
||||||
|
@ -44527,22 +44782,6 @@
|
||||||
"gst_vulkan_command_pool_lock",
|
"gst_vulkan_command_pool_lock",
|
||||||
"gst_vulkan_command_pool_unlock",
|
"gst_vulkan_command_pool_unlock",
|
||||||
"gst_vulkan_create_shader",
|
"gst_vulkan_create_shader",
|
||||||
"gst_vulkan_decoder_append_slice",
|
|
||||||
"gst_vulkan_decoder_caps",
|
|
||||||
"gst_vulkan_decoder_create_dpb_pool",
|
|
||||||
"gst_vulkan_decoder_decode",
|
|
||||||
"gst_vulkan_decoder_flush",
|
|
||||||
"gst_vulkan_decoder_is_started",
|
|
||||||
"gst_vulkan_decoder_out_format",
|
|
||||||
"gst_vulkan_decoder_picture_create_view",
|
|
||||||
"gst_vulkan_decoder_picture_init",
|
|
||||||
"gst_vulkan_decoder_picture_release",
|
|
||||||
"gst_vulkan_decoder_profile_caps",
|
|
||||||
"gst_vulkan_decoder_start",
|
|
||||||
"gst_vulkan_decoder_stop",
|
|
||||||
"gst_vulkan_decoder_update_video_session_parameters",
|
|
||||||
"gst_vulkan_decoder_update_ycbcr_sampler",
|
|
||||||
"gst_vulkan_decoder_wait",
|
|
||||||
"gst_vulkan_descriptor_cache_acquire",
|
"gst_vulkan_descriptor_cache_acquire",
|
||||||
"gst_vulkan_descriptor_cache_new",
|
"gst_vulkan_descriptor_cache_new",
|
||||||
"gst_vulkan_descriptor_pool_create",
|
"gst_vulkan_descriptor_pool_create",
|
||||||
|
@ -44697,7 +44936,6 @@
|
||||||
"gst_vulkan_physical_device_type_to_string",
|
"gst_vulkan_physical_device_type_to_string",
|
||||||
"gst_vulkan_present_mode_to_string",
|
"gst_vulkan_present_mode_to_string",
|
||||||
"gst_vulkan_queue_create_command_pool",
|
"gst_vulkan_queue_create_command_pool",
|
||||||
"gst_vulkan_queue_create_decoder",
|
|
||||||
"gst_vulkan_queue_flags_to_string",
|
"gst_vulkan_queue_flags_to_string",
|
||||||
"gst_vulkan_queue_get_device",
|
"gst_vulkan_queue_get_device",
|
||||||
"gst_vulkan_queue_handle_context_query",
|
"gst_vulkan_queue_handle_context_query",
|
||||||
|
@ -65737,6 +65975,7 @@
|
||||||
"nvautogpuh264enc:min-qp-b",
|
"nvautogpuh264enc:min-qp-b",
|
||||||
"nvautogpuh264enc:min-qp-i",
|
"nvautogpuh264enc:min-qp-i",
|
||||||
"nvautogpuh264enc:min-qp-p",
|
"nvautogpuh264enc:min-qp-p",
|
||||||
|
"nvautogpuh264enc:multi-pass",
|
||||||
"nvautogpuh264enc:nonref-p",
|
"nvautogpuh264enc:nonref-p",
|
||||||
"nvautogpuh264enc:preset",
|
"nvautogpuh264enc:preset",
|
||||||
"nvautogpuh264enc:qp-b",
|
"nvautogpuh264enc:qp-b",
|
||||||
|
@ -65748,6 +65987,7 @@
|
||||||
"nvautogpuh264enc:spatial-aq",
|
"nvautogpuh264enc:spatial-aq",
|
||||||
"nvautogpuh264enc:strict-gop",
|
"nvautogpuh264enc:strict-gop",
|
||||||
"nvautogpuh264enc:temporal-aq",
|
"nvautogpuh264enc:temporal-aq",
|
||||||
|
"nvautogpuh264enc:tune",
|
||||||
"nvautogpuh264enc:vbv-buffer-size",
|
"nvautogpuh264enc:vbv-buffer-size",
|
||||||
"nvautogpuh264enc:weighted-pred",
|
"nvautogpuh264enc:weighted-pred",
|
||||||
"nvautogpuh264enc:zero-reorder-delay",
|
"nvautogpuh264enc:zero-reorder-delay",
|
||||||
|
@ -65769,6 +66009,7 @@
|
||||||
"nvautogpuh265enc:min-qp-b",
|
"nvautogpuh265enc:min-qp-b",
|
||||||
"nvautogpuh265enc:min-qp-i",
|
"nvautogpuh265enc:min-qp-i",
|
||||||
"nvautogpuh265enc:min-qp-p",
|
"nvautogpuh265enc:min-qp-p",
|
||||||
|
"nvautogpuh265enc:multi-pass",
|
||||||
"nvautogpuh265enc:nonref-p",
|
"nvautogpuh265enc:nonref-p",
|
||||||
"nvautogpuh265enc:preset",
|
"nvautogpuh265enc:preset",
|
||||||
"nvautogpuh265enc:qp-b",
|
"nvautogpuh265enc:qp-b",
|
||||||
|
@ -65780,11 +66021,16 @@
|
||||||
"nvautogpuh265enc:spatial-aq",
|
"nvautogpuh265enc:spatial-aq",
|
||||||
"nvautogpuh265enc:strict-gop",
|
"nvautogpuh265enc:strict-gop",
|
||||||
"nvautogpuh265enc:temporal-aq",
|
"nvautogpuh265enc:temporal-aq",
|
||||||
|
"nvautogpuh265enc:tune",
|
||||||
"nvautogpuh265enc:vbv-buffer-size",
|
"nvautogpuh265enc:vbv-buffer-size",
|
||||||
"nvautogpuh265enc:weighted-pred",
|
"nvautogpuh265enc:weighted-pred",
|
||||||
"nvautogpuh265enc:zero-reorder-delay",
|
"nvautogpuh265enc:zero-reorder-delay",
|
||||||
"nvav1dec",
|
"nvav1dec",
|
||||||
"nvav1dec:cuda-device-id",
|
"nvav1dec:cuda-device-id",
|
||||||
|
"nvav1dec:init-max-height",
|
||||||
|
"nvav1dec:init-max-width",
|
||||||
|
"nvav1dec:max-display-delay",
|
||||||
|
"nvav1dec:num-output-surfaces",
|
||||||
"nvcudah264enc",
|
"nvcudah264enc",
|
||||||
"nvcudah264enc:aq-strength",
|
"nvcudah264enc:aq-strength",
|
||||||
"nvcudah264enc:aud",
|
"nvcudah264enc:aud",
|
||||||
|
@ -65803,6 +66049,7 @@
|
||||||
"nvcudah264enc:min-qp-b",
|
"nvcudah264enc:min-qp-b",
|
||||||
"nvcudah264enc:min-qp-i",
|
"nvcudah264enc:min-qp-i",
|
||||||
"nvcudah264enc:min-qp-p",
|
"nvcudah264enc:min-qp-p",
|
||||||
|
"nvcudah264enc:multi-pass",
|
||||||
"nvcudah264enc:nonref-p",
|
"nvcudah264enc:nonref-p",
|
||||||
"nvcudah264enc:preset",
|
"nvcudah264enc:preset",
|
||||||
"nvcudah264enc:qp-b",
|
"nvcudah264enc:qp-b",
|
||||||
|
@ -65814,6 +66061,7 @@
|
||||||
"nvcudah264enc:spatial-aq",
|
"nvcudah264enc:spatial-aq",
|
||||||
"nvcudah264enc:strict-gop",
|
"nvcudah264enc:strict-gop",
|
||||||
"nvcudah264enc:temporal-aq",
|
"nvcudah264enc:temporal-aq",
|
||||||
|
"nvcudah264enc:tune",
|
||||||
"nvcudah264enc:vbv-buffer-size",
|
"nvcudah264enc:vbv-buffer-size",
|
||||||
"nvcudah264enc:weighted-pred",
|
"nvcudah264enc:weighted-pred",
|
||||||
"nvcudah264enc:zero-reorder-delay",
|
"nvcudah264enc:zero-reorder-delay",
|
||||||
|
@ -65834,6 +66082,7 @@
|
||||||
"nvcudah265enc:min-qp-b",
|
"nvcudah265enc:min-qp-b",
|
||||||
"nvcudah265enc:min-qp-i",
|
"nvcudah265enc:min-qp-i",
|
||||||
"nvcudah265enc:min-qp-p",
|
"nvcudah265enc:min-qp-p",
|
||||||
|
"nvcudah265enc:multi-pass",
|
||||||
"nvcudah265enc:nonref-p",
|
"nvcudah265enc:nonref-p",
|
||||||
"nvcudah265enc:preset",
|
"nvcudah265enc:preset",
|
||||||
"nvcudah265enc:qp-b",
|
"nvcudah265enc:qp-b",
|
||||||
|
@ -65845,6 +66094,7 @@
|
||||||
"nvcudah265enc:spatial-aq",
|
"nvcudah265enc:spatial-aq",
|
||||||
"nvcudah265enc:strict-gop",
|
"nvcudah265enc:strict-gop",
|
||||||
"nvcudah265enc:temporal-aq",
|
"nvcudah265enc:temporal-aq",
|
||||||
|
"nvcudah265enc:tune",
|
||||||
"nvcudah265enc:vbv-buffer-size",
|
"nvcudah265enc:vbv-buffer-size",
|
||||||
"nvcudah265enc:weighted-pred",
|
"nvcudah265enc:weighted-pred",
|
||||||
"nvcudah265enc:zero-reorder-delay",
|
"nvcudah265enc:zero-reorder-delay",
|
||||||
|
@ -65866,6 +66116,7 @@
|
||||||
"nvd3d11h264enc:min-qp-b",
|
"nvd3d11h264enc:min-qp-b",
|
||||||
"nvd3d11h264enc:min-qp-i",
|
"nvd3d11h264enc:min-qp-i",
|
||||||
"nvd3d11h264enc:min-qp-p",
|
"nvd3d11h264enc:min-qp-p",
|
||||||
|
"nvd3d11h264enc:multi-pass",
|
||||||
"nvd3d11h264enc:nonref-p",
|
"nvd3d11h264enc:nonref-p",
|
||||||
"nvd3d11h264enc:preset",
|
"nvd3d11h264enc:preset",
|
||||||
"nvd3d11h264enc:qp-b",
|
"nvd3d11h264enc:qp-b",
|
||||||
|
@ -65877,6 +66128,7 @@
|
||||||
"nvd3d11h264enc:spatial-aq",
|
"nvd3d11h264enc:spatial-aq",
|
||||||
"nvd3d11h264enc:strict-gop",
|
"nvd3d11h264enc:strict-gop",
|
||||||
"nvd3d11h264enc:temporal-aq",
|
"nvd3d11h264enc:temporal-aq",
|
||||||
|
"nvd3d11h264enc:tune",
|
||||||
"nvd3d11h264enc:vbv-buffer-size",
|
"nvd3d11h264enc:vbv-buffer-size",
|
||||||
"nvd3d11h264enc:weighted-pred",
|
"nvd3d11h264enc:weighted-pred",
|
||||||
"nvd3d11h264enc:zero-reorder-delay",
|
"nvd3d11h264enc:zero-reorder-delay",
|
||||||
|
@ -65897,6 +66149,7 @@
|
||||||
"nvd3d11h265enc:min-qp-b",
|
"nvd3d11h265enc:min-qp-b",
|
||||||
"nvd3d11h265enc:min-qp-i",
|
"nvd3d11h265enc:min-qp-i",
|
||||||
"nvd3d11h265enc:min-qp-p",
|
"nvd3d11h265enc:min-qp-p",
|
||||||
|
"nvd3d11h265enc:multi-pass",
|
||||||
"nvd3d11h265enc:nonref-p",
|
"nvd3d11h265enc:nonref-p",
|
||||||
"nvd3d11h265enc:preset",
|
"nvd3d11h265enc:preset",
|
||||||
"nvd3d11h265enc:qp-b",
|
"nvd3d11h265enc:qp-b",
|
||||||
|
@ -65908,12 +66161,18 @@
|
||||||
"nvd3d11h265enc:spatial-aq",
|
"nvd3d11h265enc:spatial-aq",
|
||||||
"nvd3d11h265enc:strict-gop",
|
"nvd3d11h265enc:strict-gop",
|
||||||
"nvd3d11h265enc:temporal-aq",
|
"nvd3d11h265enc:temporal-aq",
|
||||||
|
"nvd3d11h265enc:tune",
|
||||||
"nvd3d11h265enc:vbv-buffer-size",
|
"nvd3d11h265enc:vbv-buffer-size",
|
||||||
"nvd3d11h265enc:weighted-pred",
|
"nvd3d11h265enc:weighted-pred",
|
||||||
"nvd3d11h265enc:zero-reorder-delay",
|
"nvd3d11h265enc:zero-reorder-delay",
|
||||||
"nvh264dec",
|
"nvh264dec",
|
||||||
"nvh264dec!sink",
|
"nvh264dec!sink",
|
||||||
"nvh264dec!src",
|
"nvh264dec!src",
|
||||||
|
"nvh264dec:cuda-device-id",
|
||||||
|
"nvh264dec:init-max-height",
|
||||||
|
"nvh264dec:init-max-width",
|
||||||
|
"nvh264dec:max-display-delay",
|
||||||
|
"nvh264dec:num-output-surfaces",
|
||||||
"nvh264enc",
|
"nvh264enc",
|
||||||
"nvh264enc:aud",
|
"nvh264enc:aud",
|
||||||
"nvh264enc:b-adapt",
|
"nvh264enc:b-adapt",
|
||||||
|
@ -65927,6 +66186,11 @@
|
||||||
"nvh265dec",
|
"nvh265dec",
|
||||||
"nvh265dec!sink",
|
"nvh265dec!sink",
|
||||||
"nvh265dec!src",
|
"nvh265dec!src",
|
||||||
|
"nvh265dec:cuda-device-id",
|
||||||
|
"nvh265dec:init-max-height",
|
||||||
|
"nvh265dec:init-max-width",
|
||||||
|
"nvh265dec:max-display-delay",
|
||||||
|
"nvh265dec:num-output-surfaces",
|
||||||
"nvh265enc",
|
"nvh265enc",
|
||||||
"nvh265enc:aud",
|
"nvh265enc:aud",
|
||||||
"nvh265enc:b-adapt",
|
"nvh265enc:b-adapt",
|
||||||
|
@ -65940,6 +66204,9 @@
|
||||||
"nvjpegdec",
|
"nvjpegdec",
|
||||||
"nvjpegdec!sink",
|
"nvjpegdec!sink",
|
||||||
"nvjpegdec!src",
|
"nvjpegdec!src",
|
||||||
|
"nvjpegenc",
|
||||||
|
"nvjpegenc:cuda-device-id",
|
||||||
|
"nvjpegenc:quality",
|
||||||
"nvmpeg2videodec",
|
"nvmpeg2videodec",
|
||||||
"nvmpeg2videodec!sink",
|
"nvmpeg2videodec!sink",
|
||||||
"nvmpeg2videodec!src",
|
"nvmpeg2videodec!src",
|
||||||
|
@ -65952,11 +66219,21 @@
|
||||||
"nvvp8dec",
|
"nvvp8dec",
|
||||||
"nvvp8dec!sink",
|
"nvvp8dec!sink",
|
||||||
"nvvp8dec!src",
|
"nvvp8dec!src",
|
||||||
|
"nvvp8dec:cuda-device-id",
|
||||||
|
"nvvp8dec:init-max-height",
|
||||||
|
"nvvp8dec:init-max-width",
|
||||||
|
"nvvp8dec:max-display-delay",
|
||||||
|
"nvvp8dec:num-output-surfaces",
|
||||||
"nvvp8sldec",
|
"nvvp8sldec",
|
||||||
"nvvp8sldec:cuda-device-id",
|
"nvvp8sldec:cuda-device-id",
|
||||||
"nvvp9dec",
|
"nvvp9dec",
|
||||||
"nvvp9dec!sink",
|
"nvvp9dec!sink",
|
||||||
"nvvp9dec!src",
|
"nvvp9dec!src",
|
||||||
|
"nvvp9dec:cuda-device-id",
|
||||||
|
"nvvp9dec:init-max-height",
|
||||||
|
"nvvp9dec:init-max-width",
|
||||||
|
"nvvp9dec:max-display-delay",
|
||||||
|
"nvvp9dec:num-output-surfaces",
|
||||||
"nvvp9sldec",
|
"nvvp9sldec",
|
||||||
"nvvp9sldec:cuda-device-id",
|
"nvvp9sldec:cuda-device-id",
|
||||||
"objectdetectionoverlay",
|
"objectdetectionoverlay",
|
||||||
|
@ -67967,6 +68244,64 @@
|
||||||
"struct (unnamed at /tmp/release-1.23.1/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1754:3).tile_rows_log2",
|
"struct (unnamed at /tmp/release-1.23.1/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1754:3).tile_rows_log2",
|
||||||
"struct (unnamed at /tmp/release-1.23.1/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1754:3).tile_size_bytes",
|
"struct (unnamed at /tmp/release-1.23.1/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1754:3).tile_size_bytes",
|
||||||
"struct (unnamed at /tmp/release-1.23.1/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1754:3).upscaled_width",
|
"struct (unnamed at /tmp/release-1.23.1/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1754:3).upscaled_width",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1635:3)",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1635:3).ref_bit_depth",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1635:3).ref_film_grain_params",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1635:3).ref_frame_height",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1635:3).ref_frame_id",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1635:3).ref_frame_type",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1635:3).ref_frame_width",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1635:3).ref_global_motion_params",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1635:3).ref_lf_params",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1635:3).ref_mi_cols",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1635:3).ref_mi_rows",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1635:3).ref_order_hint",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1635:3).ref_render_height",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1635:3).ref_render_width",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1635:3).ref_segmentation_params",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1635:3).ref_subsampling_x",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1635:3).ref_subsampling_y",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1635:3).ref_tile_info",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1635:3).ref_upscaled_width",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1635:3).ref_valid",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1680:3)",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1680:3).anchor_frame_idx",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1680:3).anchor_tile_col",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1680:3).anchor_tile_row",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1680:3).coded_tile_data",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1680:3).tile_data_size_minus_1",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1718:3)",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1718:3).mi_col_end",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1718:3).mi_col_start",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1718:3).mi_row_end",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1718:3).mi_row_start",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1718:3).tile_col",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1718:3).tile_offset",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1718:3).tile_row",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1718:3).tile_size",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1754:3)",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1754:3).begin_first_frame",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1754:3).current_frame_id",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1754:3).frame_height",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1754:3).frame_width",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1754:3).mi_col_starts",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1754:3).mi_cols",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1754:3).mi_row_starts",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1754:3).mi_rows",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1754:3).operating_point",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1754:3).operating_point_idc",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1754:3).prev_frame_id",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1754:3).ref_info",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1754:3).render_height",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1754:3).render_width",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1754:3).seen_frame_header",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1754:3).sequence_changed",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1754:3).tile_cols",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1754:3).tile_cols_log2",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1754:3).tile_rows",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1754:3).tile_rows_log2",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1754:3).tile_size_bytes",
|
||||||
|
"struct (unnamed at /tmp/release-1.24.0/gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h:1754:3).upscaled_width",
|
||||||
"subparse",
|
"subparse",
|
||||||
"subparse:subtitle-encoding",
|
"subparse:subtitle-encoding",
|
||||||
"subparse:video-fps",
|
"subparse:video-fps",
|
||||||
|
@ -68655,6 +68990,7 @@
|
||||||
"volume",
|
"volume",
|
||||||
"volume:mute",
|
"volume:mute",
|
||||||
"volume:volume",
|
"volume:volume",
|
||||||
|
"volume:volume-full-range",
|
||||||
"vorbisdec",
|
"vorbisdec",
|
||||||
"vorbisenc",
|
"vorbisenc",
|
||||||
"vorbisenc:bitrate",
|
"vorbisenc:bitrate",
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
1.23
|
1.24
|
File diff suppressed because it is too large
Load diff
|
@ -1,15 +1,15 @@
|
||||||
This is GStreamer gst-editing-services 1.23.90.
|
This is GStreamer gst-editing-services 1.25.0.1.
|
||||||
|
|
||||||
GStreamer 1.23 is the unstable development branch leading up to the next major
|
GStreamer 1.25 is the unstable development branch leading up to the next major
|
||||||
stable version which will be 1.24.
|
stable version which will be 1.26.
|
||||||
|
|
||||||
The 1.23 development series adds new features on top of the 1.22 series and is
|
The 1.25 development series adds new features on top of the 1.24 series and is
|
||||||
part of the API and ABI-stable 1.x release series of the GStreamer multimedia
|
part of the API and ABI-stable 1.x release series of the GStreamer multimedia
|
||||||
framework.
|
framework.
|
||||||
|
|
||||||
Full release notes will one day be found at:
|
Full release notes will one day be found at:
|
||||||
|
|
||||||
https://gstreamer.freedesktop.org/releases/1.24/
|
https://gstreamer.freedesktop.org/releases/1.26/
|
||||||
|
|
||||||
Binaries for Android, iOS, Mac OS X and Windows will usually be provided
|
Binaries for Android, iOS, Mac OS X and Windows will usually be provided
|
||||||
shortly after the release.
|
shortly after the release.
|
||||||
|
@ -79,15 +79,12 @@ For help and support, please head over to our Discourse forum at
|
||||||
|
|
||||||
https://discourse.gstreamer.org/
|
https://discourse.gstreamer.org/
|
||||||
|
|
||||||
or pop into one of our Matrix chat channels, see
|
or pop into one of our Matrix chat rooms, see
|
||||||
|
|
||||||
https://discourse.gstreamer.org/t/new-gstreamer-matrix-chat-space/675
|
https://discourse.gstreamer.org/t/new-gstreamer-matrix-chat-space/675
|
||||||
|
|
||||||
for more details.
|
for more details.
|
||||||
|
|
||||||
There is also a legacy IRC channel, #gstreamer on the OFTC IRC network,
|
|
||||||
which is also bridged into the Matrix network.
|
|
||||||
|
|
||||||
Please do not submit support requests in GitLab, we only use it for
|
Please do not submit support requests in GitLab, we only use it for
|
||||||
bug tracking and merge requests review. Use the Discourse forum instead.
|
bug tracking and merge requests review. Use the Discourse forum instead.
|
||||||
|
|
||||||
|
|
|
@ -265,7 +265,20 @@
|
||||||
"presence": "always"
|
"presence": "always"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"properties": {},
|
"properties": {
|
||||||
|
"reverse": {
|
||||||
|
"blurb": "Whether to playback the source reverse or not",
|
||||||
|
"conditionally-available": false,
|
||||||
|
"construct": false,
|
||||||
|
"construct-only": false,
|
||||||
|
"controllable": false,
|
||||||
|
"default": "false",
|
||||||
|
"mutable": "null",
|
||||||
|
"readable": true,
|
||||||
|
"type": "gboolean",
|
||||||
|
"writable": true
|
||||||
|
}
|
||||||
|
},
|
||||||
"rank": "none",
|
"rank": "none",
|
||||||
"signals": {}
|
"signals": {}
|
||||||
},
|
},
|
||||||
|
|
|
@ -129,9 +129,24 @@
|
||||||
|
|
||||||
#include <gst/gst.h>
|
#include <gst/gst.h>
|
||||||
|
|
||||||
GST_DEBUG_CATEGORY_STATIC (ges_asset_debug);
|
|
||||||
#undef GST_CAT_DEFAULT
|
#undef GST_CAT_DEFAULT
|
||||||
#define GST_CAT_DEFAULT ges_asset_debug
|
|
||||||
|
#ifndef GST_DISABLE_GST_DEBUG
|
||||||
|
#define GST_CAT_DEFAULT ensure_debug_category()
|
||||||
|
static GstDebugCategory *
|
||||||
|
ensure_debug_category (void)
|
||||||
|
{
|
||||||
|
static gsize cat_gonce = 0;
|
||||||
|
|
||||||
|
if (g_once_init_enter (&cat_gonce)) {
|
||||||
|
gsize cat_done = (gsize) _gst_debug_category_new ("ges-asset",
|
||||||
|
GST_DEBUG_FG_BLUE | GST_DEBUG_BOLD, "GES Asset");
|
||||||
|
g_once_init_leave (&cat_gonce, cat_done);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (GstDebugCategory *) cat_gonce;
|
||||||
|
}
|
||||||
|
#endif /* GST_DISABLE_GST_DEBUG */
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
|
@ -538,9 +553,6 @@ ges_asset_class_init (GESAssetClass * klass)
|
||||||
klass->extract = ges_asset_extract_default;
|
klass->extract = ges_asset_extract_default;
|
||||||
klass->request_id_update = ges_asset_request_id_update_default;
|
klass->request_id_update = ges_asset_request_id_update_default;
|
||||||
klass->inform_proxy = NULL;
|
klass->inform_proxy = NULL;
|
||||||
|
|
||||||
GST_DEBUG_CATEGORY_INIT (ges_asset_debug, "ges-asset",
|
|
||||||
GST_DEBUG_FG_BLUE | GST_DEBUG_BOLD, "GES Asset");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
@ -128,7 +128,10 @@ ges_audio_source_create_element (GESTrackElement * trksrc)
|
||||||
GPtrArray *elements;
|
GPtrArray *elements;
|
||||||
GESSourceClass *source_class = GES_SOURCE_GET_CLASS (trksrc);
|
GESSourceClass *source_class = GES_SOURCE_GET_CLASS (trksrc);
|
||||||
const gchar *volume_props[] = { "volume", "mute", NULL };
|
const gchar *volume_props[] = { "volume", "mute", NULL };
|
||||||
const gchar *audioconvert_props[] = { "mix-matrix", NULL };
|
const gchar *audioconvert_props[] = {
|
||||||
|
"mix-matrix", "input-channels-reorder",
|
||||||
|
"input-channels-reorder-mode", NULL
|
||||||
|
};
|
||||||
GESAudioSource *self = GES_AUDIO_SOURCE (trksrc);
|
GESAudioSource *self = GES_AUDIO_SOURCE (trksrc);
|
||||||
|
|
||||||
g_assert (source_class->create_source);
|
g_assert (source_class->create_source);
|
||||||
|
|
|
@ -1135,6 +1135,9 @@ ges_command_line_formatter_get_timeline_uri (GESTimeline * timeline)
|
||||||
|
|
||||||
_sanitize_argument (ges_uri_clip_get_uri (GES_URI_CLIP (clip)), res);
|
_sanitize_argument (ges_uri_clip_get_uri (GES_URI_CLIP (clip)), res);
|
||||||
option = &options[CLIP];
|
option = &options[CLIP];
|
||||||
|
} else if (GES_IS_TRANSITION_CLIP (clip)) {
|
||||||
|
g_string_append (res, " +transition");
|
||||||
|
option = &options[CLIP];
|
||||||
} else {
|
} else {
|
||||||
g_warning ("Unhandled clip type: %s", G_OBJECT_TYPE_NAME (clip));
|
g_warning ("Unhandled clip type: %s", G_OBJECT_TYPE_NAME (clip));
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -211,7 +211,8 @@ _add_childs_child_property (GESTimelineElement * container_child,
|
||||||
* instance who the property comes from */
|
* instance who the property comes from */
|
||||||
gboolean res =
|
gboolean res =
|
||||||
ges_timeline_element_add_child_property_full (GES_TIMELINE_ELEMENT
|
ges_timeline_element_add_child_property_full (GES_TIMELINE_ELEMENT
|
||||||
(container), container_child, property, prop_child);
|
(container), container_child, property, prop_child,
|
||||||
|
GES_TIMELINE_ELEMENT_CHILD_PROP_FLAG_INHERIT);
|
||||||
if (!res)
|
if (!res)
|
||||||
GST_INFO_OBJECT (container, "Could not register the child property '%s' "
|
GST_INFO_OBJECT (container, "Could not register the child property '%s' "
|
||||||
"of our child %" GES_FORMAT " for the object %" GST_PTR_FORMAT,
|
"of our child %" GES_FORMAT " for the object %" GST_PTR_FORMAT,
|
||||||
|
@ -233,10 +234,14 @@ _ges_container_add_child_properties (GESContainer * container,
|
||||||
|
|
||||||
for (i = 0; i < n_props; i++) {
|
for (i = 0; i < n_props; i++) {
|
||||||
GParamSpec *property = child_props[i];
|
GParamSpec *property = child_props[i];
|
||||||
GObject *prop_child =
|
GList *tmp, *children =
|
||||||
ges_timeline_element_get_child_from_child_property (child, property);
|
ges_timeline_element_get_children_from_child_property (child, property);
|
||||||
if (prop_child)
|
|
||||||
_add_childs_child_property (child, prop_child, property, container);
|
for (tmp = children; tmp; tmp = tmp->next)
|
||||||
|
ges_timeline_element_add_child_property_full (GES_TIMELINE_ELEMENT
|
||||||
|
(container), child, property, tmp->data,
|
||||||
|
GES_TIMELINE_ELEMENT_CHILD_PROP_FLAG_INHERIT);
|
||||||
|
g_list_free (children);
|
||||||
g_param_spec_unref (property);
|
g_param_spec_unref (property);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -247,37 +252,8 @@ static void
|
||||||
_remove_childs_child_property (GESTimelineElement * container_child,
|
_remove_childs_child_property (GESTimelineElement * container_child,
|
||||||
GObject * prop_child, GParamSpec * property, GESContainer * container)
|
GObject * prop_child, GParamSpec * property, GESContainer * container)
|
||||||
{
|
{
|
||||||
/* NOTE: some children may share the same GParamSpec. Currently, only
|
ges_timeline_element_remove_child_property_full (GES_TIMELINE_ELEMENT
|
||||||
* the first such child added will have its children properties
|
(container), property, prop_child);
|
||||||
* successfully registered for the container (even though the GObject
|
|
||||||
* child who the properties belong to will be a different instance). As
|
|
||||||
* such, we only want to remove the child property if it corresponds to
|
|
||||||
* the same instance that the parent container has.
|
|
||||||
* E.g. if we add child1 and child2, that have the same (or some
|
|
||||||
* overlapping) children properties. And child1 is added before child2,
|
|
||||||
* then child2's overlapping children properties would not be registered.
|
|
||||||
* If we remove child2, we do *not* want to removed the child properties
|
|
||||||
* for child1 because they belong to a GObject instance that we still
|
|
||||||
* have in our control.
|
|
||||||
* If we remove child1, we *do* want to remove the child properties for
|
|
||||||
* child1, even though child2 may overlap with some of them, because we
|
|
||||||
* are loosing the specific GObject instance that it belongs to!
|
|
||||||
* We could try and register the ones that match for the other children.
|
|
||||||
* However, it is probably simpler to change
|
|
||||||
* ges_timeline_element_add_child_property_full to accept the same
|
|
||||||
* GParamSpec, for different instances.
|
|
||||||
*/
|
|
||||||
GESTimelineElement *element = GES_TIMELINE_ELEMENT (container);
|
|
||||||
GObject *our_prop_child =
|
|
||||||
ges_timeline_element_get_child_from_child_property (element, property);
|
|
||||||
if (our_prop_child == prop_child)
|
|
||||||
ges_timeline_element_remove_child_property (element, property);
|
|
||||||
else
|
|
||||||
GST_INFO_OBJECT (container, "Not removing child property '%s' for child"
|
|
||||||
" %" GES_FORMAT " because it derives from the object %" GST_PTR_FORMAT
|
|
||||||
"(%p) rather than the object %" GST_PTR_FORMAT "(%p)", property->name,
|
|
||||||
GES_ARGS (container_child), prop_child, prop_child, our_prop_child,
|
|
||||||
our_prop_child);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -295,10 +271,13 @@ _ges_container_remove_child_properties (GESContainer * container,
|
||||||
|
|
||||||
for (i = 0; i < n_props; i++) {
|
for (i = 0; i < n_props; i++) {
|
||||||
GParamSpec *property = child_props[i];
|
GParamSpec *property = child_props[i];
|
||||||
GObject *prop_child =
|
GList *tmp, *children =
|
||||||
ges_timeline_element_get_child_from_child_property (child, property);
|
ges_timeline_element_get_children_from_child_property (child, property);
|
||||||
if (prop_child)
|
|
||||||
_remove_childs_child_property (child, prop_child, property, container);
|
for (tmp = children; tmp; tmp = tmp->next)
|
||||||
|
ges_timeline_element_remove_child_property_full (GES_TIMELINE_ELEMENT
|
||||||
|
(container), property, tmp->data);
|
||||||
|
g_list_free (children);
|
||||||
g_param_spec_unref (property);
|
g_param_spec_unref (property);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -61,12 +61,16 @@ struct _GESFrameCompositionMeta {
|
||||||
GstMeta meta;
|
GstMeta meta;
|
||||||
|
|
||||||
gdouble alpha;
|
gdouble alpha;
|
||||||
gint posx;
|
gdouble posx;
|
||||||
gint posy;
|
gdouble posy;
|
||||||
gint height;
|
gdouble height;
|
||||||
gint width;
|
gdouble width;
|
||||||
guint zorder;
|
guint zorder;
|
||||||
|
#ifdef __cplusplus
|
||||||
|
gint _operator;
|
||||||
|
#else
|
||||||
gint operator;
|
gint operator;
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
GES_API
|
GES_API
|
||||||
|
|
|
@ -551,18 +551,32 @@ typedef enum
|
||||||
} GESTimelineElementFlags;
|
} GESTimelineElementFlags;
|
||||||
|
|
||||||
G_GNUC_INTERNAL GESTimelineElement * ges_timeline_element_peak_toplevel (GESTimelineElement * self);
|
G_GNUC_INTERNAL GESTimelineElement * ges_timeline_element_peak_toplevel (GESTimelineElement * self);
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
GES_TIMELINE_ELEMENT_CHILD_PROP_FLAG_NONE = (1 << 0),
|
||||||
|
/* Inherit flags from the owner child property registration */
|
||||||
|
GES_TIMELINE_ELEMENT_CHILD_PROP_FLAG_INHERIT = (1 << 1),
|
||||||
|
/* When setting child property, ensure to set value on every registered instances */
|
||||||
|
GES_TIMELINE_ELEMENT_CHILD_PROP_FLAG_SET_ON_ALL_INSTANCES = (1 << 2),
|
||||||
|
} GESTimelineElementChildPropertyFlags;
|
||||||
|
|
||||||
G_GNUC_INTERNAL GESTimelineElement * ges_timeline_element_get_copied_from (GESTimelineElement *self);
|
G_GNUC_INTERNAL GESTimelineElement * ges_timeline_element_get_copied_from (GESTimelineElement *self);
|
||||||
G_GNUC_INTERNAL GESTimelineElementFlags ges_timeline_element_flags (GESTimelineElement *self);
|
G_GNUC_INTERNAL GESTimelineElementFlags ges_timeline_element_flags (GESTimelineElement *self);
|
||||||
G_GNUC_INTERNAL void ges_timeline_element_set_flags (GESTimelineElement *self, GESTimelineElementFlags flags);
|
G_GNUC_INTERNAL void ges_timeline_element_set_flags (GESTimelineElement *self, GESTimelineElementFlags flags);
|
||||||
G_GNUC_INTERNAL gboolean ges_timeline_element_add_child_property_full (GESTimelineElement *self,
|
G_GNUC_INTERNAL gboolean ges_timeline_element_add_child_property_full (GESTimelineElement *self,
|
||||||
GESTimelineElement *owner,
|
GESTimelineElement *owner,
|
||||||
GParamSpec *pspec,
|
GParamSpec *pspec,
|
||||||
GObject *child);
|
GObject *child,
|
||||||
|
GESTimelineElementChildPropertyFlags flags);
|
||||||
|
|
||||||
G_GNUC_INTERNAL GObject * ges_timeline_element_get_child_from_child_property (GESTimelineElement * self,
|
G_GNUC_INTERNAL GList * ges_timeline_element_get_children_from_child_property (GESTimelineElement * self,
|
||||||
GParamSpec * pspec);
|
GParamSpec * pspec);
|
||||||
G_GNUC_INTERNAL GParamSpec ** ges_timeline_element_get_children_properties (GESTimelineElement * self,
|
G_GNUC_INTERNAL GParamSpec ** ges_timeline_element_get_children_properties (GESTimelineElement * self,
|
||||||
guint * n_properties);
|
guint * n_properties);
|
||||||
|
G_GNUC_INTERNAL gboolean ges_timeline_element_remove_child_property_full (GESTimelineElement * self,
|
||||||
|
GParamSpec * pspec,
|
||||||
|
GObject *child);
|
||||||
|
|
||||||
#define ELEMENT_FLAGS(obj) (ges_timeline_element_flags (GES_TIMELINE_ELEMENT(obj)))
|
#define ELEMENT_FLAGS(obj) (ges_timeline_element_flags (GES_TIMELINE_ELEMENT(obj)))
|
||||||
#define ELEMENT_SET_FLAG(obj,flag) (ges_timeline_element_set_flags(GES_TIMELINE_ELEMENT(obj), (ELEMENT_FLAGS(obj) | (flag))))
|
#define ELEMENT_SET_FLAG(obj,flag) (ges_timeline_element_set_flags(GES_TIMELINE_ELEMENT(obj), (ELEMENT_FLAGS(obj) | (flag))))
|
||||||
|
|
|
@ -1270,6 +1270,8 @@ ges_pipeline_set_mode (GESPipeline * pipeline, GESPipelineFlags mode)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
g_object_set (pipeline->priv->encodebin, "avoid-reencoding",
|
||||||
|
!(!(mode & GES_PIPELINE_MODE_SMART_RENDER)), NULL);
|
||||||
if (!gst_bin_add (GST_BIN_CAST (pipeline), pipeline->priv->encodebin)) {
|
if (!gst_bin_add (GST_BIN_CAST (pipeline), pipeline->priv->encodebin)) {
|
||||||
GST_ERROR_OBJECT (pipeline, "Couldn't add encodebin");
|
GST_ERROR_OBJECT (pipeline, "Couldn't add encodebin");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -1294,8 +1296,6 @@ ges_pipeline_set_mode (GESPipeline * pipeline, GESPipelineFlags mode)
|
||||||
GST_INFO_OBJECT (pipeline,
|
GST_INFO_OBJECT (pipeline,
|
||||||
"Using an muxing sink, not adding any sink element");
|
"Using an muxing sink, not adding any sink element");
|
||||||
}
|
}
|
||||||
g_object_set (pipeline->priv->encodebin, "avoid-reencoding",
|
|
||||||
!(!(mode & GES_PIPELINE_MODE_SMART_RENDER)), NULL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pipeline->priv->timeline) {
|
if (pipeline->priv->timeline) {
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <math.h>
|
||||||
#include "gstframepositioner.h"
|
#include "gstframepositioner.h"
|
||||||
#include "ges-frame-composition-meta.h"
|
#include "ges-frame-composition-meta.h"
|
||||||
#include "ges-types.h"
|
#include "ges-types.h"
|
||||||
|
@ -38,6 +39,11 @@ struct _GESSmartMixerPad
|
||||||
|
|
||||||
gdouble alpha;
|
gdouble alpha;
|
||||||
GstSegment segment;
|
GstSegment segment;
|
||||||
|
|
||||||
|
GParamSpec *width_pspec;
|
||||||
|
GParamSpec *height_pspec;
|
||||||
|
GParamSpec *xpos_pspec;
|
||||||
|
GParamSpec *ypos_pspec;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _GESSmartMixerPadClass
|
struct _GESSmartMixerPadClass
|
||||||
|
@ -53,6 +59,18 @@ enum
|
||||||
|
|
||||||
G_DEFINE_TYPE (GESSmartMixerPad, ges_smart_mixer_pad, GST_TYPE_GHOST_PAD);
|
G_DEFINE_TYPE (GESSmartMixerPad, ges_smart_mixer_pad, GST_TYPE_GHOST_PAD);
|
||||||
|
|
||||||
|
static void
|
||||||
|
ges_smart_mixer_notify_wrapped_pad (GESSmartMixerPad * self,
|
||||||
|
GstPad * real_mixer_pad)
|
||||||
|
{
|
||||||
|
GObjectClass *klass = G_OBJECT_GET_CLASS (real_mixer_pad);
|
||||||
|
|
||||||
|
self->width_pspec = g_object_class_find_property (klass, "width");
|
||||||
|
self->height_pspec = g_object_class_find_property (klass, "height");
|
||||||
|
self->xpos_pspec = g_object_class_find_property (klass, "xpos");
|
||||||
|
self->ypos_pspec = g_object_class_find_property (klass, "ypos");
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
ges_smart_mixer_pad_get_property (GObject * object, guint prop_id,
|
ges_smart_mixer_pad_get_property (GObject * object, guint prop_id,
|
||||||
GValue * value, GParamSpec * pspec)
|
GValue * value, GParamSpec * pspec)
|
||||||
|
@ -240,13 +258,35 @@ set_pad_properties_from_composition_meta (GstPad * mixer_pad,
|
||||||
g_object_set (mixer_pad, "alpha", meta->alpha * transalpha, NULL);
|
g_object_set (mixer_pad, "alpha", meta->alpha * transalpha, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
g_object_set (mixer_pad, "xpos", meta->posx, "ypos", meta->posy, NULL);
|
if (G_PARAM_SPEC_VALUE_TYPE (ghost->xpos_pspec) == G_TYPE_INT) {
|
||||||
|
g_object_set (mixer_pad, "xpos", (gint) round (meta->posx), "ypos",
|
||||||
|
(gint) round (meta->posy), NULL);
|
||||||
|
} else if (G_PARAM_SPEC_VALUE_TYPE (ghost->xpos_pspec) == G_TYPE_FLOAT) {
|
||||||
|
g_object_set (mixer_pad, "xpos", (gfloat) meta->posx, "ypos",
|
||||||
|
(gfloat) meta->posy, NULL);
|
||||||
|
} else {
|
||||||
|
g_object_set (mixer_pad, "xpos", meta->posx, "ypos", meta->posy, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
if (meta->width >= 0)
|
if (meta->width >= 0) {
|
||||||
g_object_set (mixer_pad, "width", meta->width, NULL);
|
if (G_PARAM_SPEC_VALUE_TYPE (ghost->width_pspec) == G_TYPE_INT) {
|
||||||
|
g_object_set (mixer_pad, "width", (gint) round (meta->width), NULL);
|
||||||
|
} else if (G_PARAM_SPEC_VALUE_TYPE (ghost->width_pspec) == G_TYPE_FLOAT) {
|
||||||
|
g_object_set (mixer_pad, "width", (gfloat) meta->width, NULL);
|
||||||
|
} else {
|
||||||
|
g_object_set (mixer_pad, "width", meta->width, NULL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (meta->height >= 0)
|
if (meta->height >= 0) {
|
||||||
g_object_set (mixer_pad, "height", meta->height, NULL);
|
if (G_PARAM_SPEC_VALUE_TYPE (ghost->height_pspec) == G_TYPE_INT) {
|
||||||
|
g_object_set (mixer_pad, "height", (gint) round (meta->height), NULL);
|
||||||
|
} else if (G_PARAM_SPEC_VALUE_TYPE (ghost->height_pspec) == G_TYPE_FLOAT) {
|
||||||
|
g_object_set (mixer_pad, "height", (gfloat) meta->height, NULL);
|
||||||
|
} else {
|
||||||
|
g_object_set (mixer_pad, "height", meta->height, NULL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (self->ABI.abi.has_operator)
|
if (self->ABI.abi.has_operator)
|
||||||
g_object_set (mixer_pad, "operator", meta->operator, NULL);
|
g_object_set (mixer_pad, "operator", meta->operator, NULL);
|
||||||
|
@ -294,6 +334,8 @@ _request_new_pad (GstElement * element, GstPadTemplate * templ,
|
||||||
"direction", GST_PAD_DIRECTION (infos->mixer_pad), NULL);
|
"direction", GST_PAD_DIRECTION (infos->mixer_pad), NULL);
|
||||||
infos->ghostpad = ghost;
|
infos->ghostpad = ghost;
|
||||||
gst_ghost_pad_set_target (GST_GHOST_PAD_CAST (ghost), infos->mixer_pad);
|
gst_ghost_pad_set_target (GST_GHOST_PAD_CAST (ghost), infos->mixer_pad);
|
||||||
|
ges_smart_mixer_notify_wrapped_pad (GES_SMART_MIXER_PAD (ghost),
|
||||||
|
infos->real_mixer_pad);
|
||||||
gst_pad_set_active (ghost, TRUE);
|
gst_pad_set_active (ghost, TRUE);
|
||||||
if (!gst_element_add_pad (GST_ELEMENT (self), ghost))
|
if (!gst_element_add_pad (GST_ELEMENT (self), ghost))
|
||||||
goto could_not_add;
|
goto could_not_add;
|
||||||
|
|
|
@ -266,6 +266,36 @@ ges_source_get_rendering_smartly (GESSource * source)
|
||||||
return source->priv->is_rendering_smartly;
|
return source->priv->is_rendering_smartly;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static GstElement *
|
||||||
|
ges_source_create_nle_object (GESTrackElement * self)
|
||||||
|
{
|
||||||
|
GParamSpec *pspec;
|
||||||
|
GstElement *nleobject;
|
||||||
|
|
||||||
|
nleobject =
|
||||||
|
GES_TRACK_ELEMENT_CLASS (ges_source_parent_class)->create_gnl_object
|
||||||
|
(self);
|
||||||
|
|
||||||
|
if (!nleobject)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
pspec =
|
||||||
|
g_object_class_find_property (G_OBJECT_GET_CLASS (nleobject), "reverse");
|
||||||
|
g_assert (pspec);
|
||||||
|
|
||||||
|
|
||||||
|
if (!ges_timeline_element_add_child_property_full (GES_TIMELINE_ELEMENT
|
||||||
|
(self), NULL, pspec, G_OBJECT (nleobject),
|
||||||
|
GES_TIMELINE_ELEMENT_CHILD_PROP_FLAG_SET_ON_ALL_INSTANCES))
|
||||||
|
GST_ERROR_OBJECT (self,
|
||||||
|
"Could not register the child property 'reverse' for %" GST_PTR_FORMAT,
|
||||||
|
nleobject);
|
||||||
|
|
||||||
|
g_param_spec_unref (pspec);
|
||||||
|
|
||||||
|
return nleobject;
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
ges_source_dispose (GObject * object)
|
ges_source_dispose (GObject * object)
|
||||||
{
|
{
|
||||||
|
@ -290,6 +320,7 @@ ges_source_class_init (GESSourceClass * klass)
|
||||||
|
|
||||||
track_class->nleobject_factorytype = "nlesource";
|
track_class->nleobject_factorytype = "nlesource";
|
||||||
track_class->create_element = NULL;
|
track_class->create_element = NULL;
|
||||||
|
track_class->create_gnl_object = ges_source_create_nle_object;
|
||||||
object_class->dispose = ges_source_dispose;
|
object_class->dispose = ges_source_dispose;
|
||||||
|
|
||||||
GES_TRACK_ELEMENT_CLASS_DEFAULT_HAS_INTERNAL_SOURCE (klass) = TRUE;
|
GES_TRACK_ELEMENT_CLASS_DEFAULT_HAS_INTERNAL_SOURCE (klass) = TRUE;
|
||||||
|
|
|
@ -301,7 +301,7 @@ static void
|
||||||
ges_test_clip_class_init (GESTestClipClass * klass)
|
ges_test_clip_class_init (GESTestClipClass * klass)
|
||||||
{
|
{
|
||||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||||
GESClipClass *timobj_class = GES_CLIP_CLASS (klass);
|
GESClipClass *clip_class = GES_CLIP_CLASS (klass);
|
||||||
|
|
||||||
object_class->get_property = ges_test_clip_get_property;
|
object_class->get_property = ges_test_clip_get_property;
|
||||||
object_class->set_property = ges_test_clip_set_property;
|
object_class->set_property = ges_test_clip_set_property;
|
||||||
|
@ -347,7 +347,7 @@ ges_test_clip_class_init (GESTestClipClass * klass)
|
||||||
g_param_spec_boolean ("mute", "Mute", "Mute audio track",
|
g_param_spec_boolean ("mute", "Mute", "Mute audio track",
|
||||||
FALSE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
|
FALSE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
|
||||||
|
|
||||||
timobj_class->create_track_element = ges_test_clip_create_track_element;
|
clip_class->create_track_element = ges_test_clip_create_track_element;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -532,7 +532,7 @@ ges_test_clip_create_track_element (GESClip * clip, GESTrackType type)
|
||||||
gst_structure_from_string (ges_asset_get_id (asset), NULL);
|
gst_structure_from_string (ges_asset_get_id (asset), NULL);
|
||||||
|
|
||||||
if (structure) {
|
if (structure) {
|
||||||
id = g_strdup (gst_structure_get_name (structure));
|
id = gst_structure_to_string (structure);
|
||||||
gst_structure_free (structure);
|
gst_structure_free (structure);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -165,19 +165,18 @@ static GParamSpec *properties[PROP_LAST] = { NULL, };
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
GObject *child;
|
GObject *child;
|
||||||
|
GParamSpec *pspec;
|
||||||
GESTimelineElement *owner;
|
GESTimelineElement *owner;
|
||||||
gulong handler_id;
|
gulong handler_id;
|
||||||
GESTimelineElement *self;
|
GESTimelineElement *self;
|
||||||
} ChildPropHandler;
|
GESTimelineElementChildPropertyFlags flags;
|
||||||
|
} ChildPropSpec;
|
||||||
|
|
||||||
struct _GESTimelineElementPrivate
|
struct _GESTimelineElementPrivate
|
||||||
{
|
{
|
||||||
gboolean serialize;
|
gboolean serialize;
|
||||||
|
|
||||||
/* We keep a link between properties name and elements internally
|
GArray *children_props;
|
||||||
* The hashtable should look like
|
|
||||||
* {GParamaSpec ---> child}*/
|
|
||||||
GHashTable *children_props;
|
|
||||||
|
|
||||||
GESTimelineElement *copied_from;
|
GESTimelineElement *copied_from;
|
||||||
|
|
||||||
|
@ -210,6 +209,31 @@ _set_child_property (GESTimelineElement * self G_GNUC_UNUSED, GObject * child,
|
||||||
g_object_set_property (child, pspec->name, value);
|
g_object_set_property (child, pspec->name, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static ChildPropSpec *
|
||||||
|
_find_child_prop (GESTimelineElement * self,
|
||||||
|
GParamSpec * pspec, GObject * child, gint * index)
|
||||||
|
{
|
||||||
|
gint i;
|
||||||
|
|
||||||
|
for (i = 0; i < self->priv->children_props->len; i++) {
|
||||||
|
ChildPropSpec *childprop =
|
||||||
|
&g_array_index (self->priv->children_props, ChildPropSpec, i);
|
||||||
|
|
||||||
|
if (child && childprop->child != child) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ges_pspec_hash (childprop->pspec) == ges_pspec_hash (pspec)) {
|
||||||
|
if (index)
|
||||||
|
*index = i;
|
||||||
|
|
||||||
|
return childprop;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
_set_child_property_full (GESTimelineElement * self, GObject * child,
|
_set_child_property_full (GESTimelineElement * self, GObject * child,
|
||||||
GParamSpec * pspec, const GValue * value, GError ** error)
|
GParamSpec * pspec, const GValue * value, GError ** error)
|
||||||
|
@ -223,10 +247,9 @@ static gboolean
|
||||||
_lookup_child (GESTimelineElement * self, const gchar * prop_name,
|
_lookup_child (GESTimelineElement * self, const gchar * prop_name,
|
||||||
GObject ** child, GParamSpec ** pspec)
|
GObject ** child, GParamSpec ** pspec)
|
||||||
{
|
{
|
||||||
GHashTableIter iter;
|
|
||||||
gpointer key, value;
|
|
||||||
gchar **names, *name, *classename;
|
gchar **names, *name, *classename;
|
||||||
gboolean res;
|
gboolean res;
|
||||||
|
gint i;
|
||||||
|
|
||||||
classename = NULL;
|
classename = NULL;
|
||||||
res = FALSE;
|
res = FALSE;
|
||||||
|
@ -238,22 +261,22 @@ _lookup_child (GESTimelineElement * self, const gchar * prop_name,
|
||||||
} else
|
} else
|
||||||
name = names[0];
|
name = names[0];
|
||||||
|
|
||||||
g_hash_table_iter_init (&iter, self->priv->children_props);
|
for (i = 0; i < self->priv->children_props->len; i++) {
|
||||||
while (g_hash_table_iter_next (&iter, &key, &value)) {
|
ChildPropSpec *childprop =
|
||||||
if (g_strcmp0 (G_PARAM_SPEC (key)->name, name) == 0) {
|
&g_array_index (self->priv->children_props, ChildPropSpec, i);
|
||||||
ChildPropHandler *handler = (ChildPropHandler *) value;
|
if (g_strcmp0 (childprop->pspec->name, name) == 0) {
|
||||||
if (classename == NULL ||
|
if (classename == NULL
|
||||||
g_strcmp0 (G_OBJECT_TYPE_NAME (G_OBJECT (handler->child)),
|
|| g_strcmp0 (G_OBJECT_TYPE_NAME (G_OBJECT (childprop->child)),
|
||||||
classename) == 0 ||
|
classename) == 0
|
||||||
g_strcmp0 (g_type_name (G_PARAM_SPEC (key)->owner_type),
|
|| g_strcmp0 (g_type_name (childprop->pspec->owner_type),
|
||||||
classename) == 0) {
|
classename) == 0) {
|
||||||
GST_DEBUG_OBJECT (self, "The %s property from %s has been found", name,
|
GST_DEBUG_OBJECT (self, "The %s property from %s has been found", name,
|
||||||
classename);
|
classename);
|
||||||
if (child)
|
if (child)
|
||||||
*child = gst_object_ref (handler->child);
|
*child = gst_object_ref (childprop->child);
|
||||||
|
|
||||||
if (pspec)
|
if (pspec)
|
||||||
*pspec = g_param_spec_ref (key);
|
*pspec = g_param_spec_ref (childprop->pspec);
|
||||||
res = TRUE;
|
res = TRUE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -268,20 +291,17 @@ GParamSpec **
|
||||||
ges_timeline_element_get_children_properties (GESTimelineElement * self,
|
ges_timeline_element_get_children_properties (GESTimelineElement * self,
|
||||||
guint * n_properties)
|
guint * n_properties)
|
||||||
{
|
{
|
||||||
GParamSpec **pspec, *spec;
|
GParamSpec **pspec;
|
||||||
GHashTableIter iter;
|
|
||||||
gpointer key, value;
|
|
||||||
|
|
||||||
guint i = 0;
|
guint i = 0;
|
||||||
|
|
||||||
*n_properties = g_hash_table_size (self->priv->children_props);
|
*n_properties = self->priv->children_props->len;
|
||||||
pspec = g_new (GParamSpec *, *n_properties);
|
pspec = g_new (GParamSpec *, *n_properties);
|
||||||
|
|
||||||
g_hash_table_iter_init (&iter, self->priv->children_props);
|
for (i = 0; i < *n_properties; i++) {
|
||||||
while (g_hash_table_iter_next (&iter, &key, &value)) {
|
pspec[i] =
|
||||||
spec = G_PARAM_SPEC (key);
|
g_param_spec_ref (g_array_index (self->priv->children_props,
|
||||||
pspec[i] = g_param_spec_ref (spec);
|
ChildPropSpec, i).pspec);
|
||||||
i++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return pspec;
|
return pspec;
|
||||||
|
@ -370,10 +390,7 @@ ges_timeline_element_dispose (GObject * object)
|
||||||
{
|
{
|
||||||
GESTimelineElement *self = GES_TIMELINE_ELEMENT (object);
|
GESTimelineElement *self = GES_TIMELINE_ELEMENT (object);
|
||||||
|
|
||||||
if (self->priv->children_props) {
|
g_clear_pointer (&self->priv->children_props, g_array_unref);
|
||||||
g_hash_table_unref (self->priv->children_props);
|
|
||||||
self->priv->children_props = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
g_clear_object (&self->priv->copied_from);
|
g_clear_object (&self->priv->copied_from);
|
||||||
|
|
||||||
|
@ -391,17 +408,16 @@ ges_timeline_element_finalize (GObject * self)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_child_prop_handler_free (ChildPropHandler * handler)
|
_child_prop_spec_free (ChildPropSpec * childprop)
|
||||||
{
|
{
|
||||||
g_object_freeze_notify (handler->child);
|
g_object_freeze_notify (childprop->child);
|
||||||
if (handler->handler_id)
|
if (childprop->handler_id)
|
||||||
g_signal_handler_disconnect (handler->child, handler->handler_id);
|
g_signal_handler_disconnect (childprop->child, childprop->handler_id);
|
||||||
g_object_thaw_notify (handler->child);
|
g_object_thaw_notify (childprop->child);
|
||||||
|
|
||||||
if (handler->child != (GObject *) handler->self &&
|
if (childprop->child != (GObject *) childprop->self &&
|
||||||
handler->child != (GObject *) handler->owner)
|
childprop->child != (GObject *) childprop->owner)
|
||||||
gst_object_unref (handler->child);
|
gst_object_unref (childprop->child);
|
||||||
g_free (handler);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
|
@ -420,10 +436,9 @@ ges_timeline_element_init (GESTimelineElement * self)
|
||||||
|
|
||||||
self->priv->serialize = TRUE;
|
self->priv->serialize = TRUE;
|
||||||
|
|
||||||
self->priv->children_props =
|
self->priv->children_props = g_array_new (TRUE, TRUE, sizeof (ChildPropSpec));
|
||||||
g_hash_table_new_full ((GHashFunc) ges_pspec_hash, ges_pspec_equal,
|
g_array_set_clear_func (self->priv->children_props,
|
||||||
(GDestroyNotify) g_param_spec_unref,
|
(GDestroyNotify) _child_prop_spec_free);
|
||||||
(GDestroyNotify) _child_prop_handler_free);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -792,52 +807,92 @@ child_prop_changed_cb (GObject * child, GParamSpec * arg,
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
set_child_property_by_pspec (GESTimelineElement * self,
|
set_child_property (GESTimelineElement * self, ChildPropSpec * childprop,
|
||||||
GParamSpec * pspec, const GValue * value, GError ** error)
|
const GValue * value, GError ** error)
|
||||||
{
|
{
|
||||||
GESTimelineElementClass *klass;
|
|
||||||
GESTimelineElement *setter = self;
|
GESTimelineElement *setter = self;
|
||||||
ChildPropHandler *handler =
|
GESTimelineElementClass *klass;
|
||||||
g_hash_table_lookup (self->priv->children_props, pspec);
|
|
||||||
|
|
||||||
if (!handler) {
|
if (childprop->owner) {
|
||||||
GST_ERROR_OBJECT (self, "The %s property doesn't exist", pspec->name);
|
klass = GES_TIMELINE_ELEMENT_GET_CLASS (childprop->owner);
|
||||||
return FALSE;
|
setter = childprop->owner;
|
||||||
}
|
|
||||||
|
|
||||||
if (handler->owner) {
|
|
||||||
klass = GES_TIMELINE_ELEMENT_GET_CLASS (handler->owner);
|
|
||||||
setter = handler->owner;
|
|
||||||
} else {
|
} else {
|
||||||
klass = GES_TIMELINE_ELEMENT_GET_CLASS (self);
|
klass = GES_TIMELINE_ELEMENT_GET_CLASS (self);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (klass->set_child_property_full)
|
if (klass->set_child_property_full)
|
||||||
return klass->set_child_property_full (setter, handler->child, pspec,
|
return klass->set_child_property_full (setter, childprop->child,
|
||||||
value, error);
|
childprop->pspec, value, error);
|
||||||
|
|
||||||
g_assert (klass->set_child_property);
|
g_assert (klass->set_child_property);
|
||||||
klass->set_child_property (setter, handler->child, pspec, (GValue *) value);
|
klass->set_child_property (setter, childprop->child, childprop->pspec,
|
||||||
|
(GValue *) value);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
set_child_property_by_pspec (GESTimelineElement * self,
|
||||||
|
GParamSpec * pspec, const GValue * value, GError ** error)
|
||||||
|
{
|
||||||
|
gint i;
|
||||||
|
ChildPropSpec *childprop;
|
||||||
|
|
||||||
|
gboolean found = FALSE, res = TRUE;
|
||||||
|
|
||||||
|
for (i = 0; i < self->priv->children_props->len; i++) {
|
||||||
|
childprop = &g_array_index (self->priv->children_props, ChildPropSpec, i);
|
||||||
|
|
||||||
|
if (ges_pspec_hash (childprop->pspec) != ges_pspec_hash (pspec))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
found = TRUE;
|
||||||
|
res &= set_child_property (self, childprop, value, error);
|
||||||
|
if (!(childprop->flags &
|
||||||
|
GES_TIMELINE_ELEMENT_CHILD_PROP_FLAG_SET_ON_ALL_INSTANCES))
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!found) {
|
||||||
|
GST_ERROR_OBJECT (self, "The %s property doesn't exist", pspec->name);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
GST_DEBUG_OBJECT (self, "Set child property %s", pspec->name);
|
||||||
|
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
ges_timeline_element_add_child_property_full (GESTimelineElement * self,
|
ges_timeline_element_add_child_property_full (GESTimelineElement * self,
|
||||||
GESTimelineElement * owner, GParamSpec * pspec, GObject * child)
|
GESTimelineElement * owner, GParamSpec * pspec, GObject * child,
|
||||||
|
GESTimelineElementChildPropertyFlags flags)
|
||||||
{
|
{
|
||||||
gchar *signame;
|
gchar *signame;
|
||||||
ChildPropHandler *handler;
|
ChildPropSpec childprop, *prev;
|
||||||
|
|
||||||
/* FIXME: allow the same pspec, provided the child is different. This
|
if (_find_child_prop (self, pspec, child, NULL)) {
|
||||||
* is important for containers that may have duplicate children
|
|
||||||
* If this is changed, _remove_childs_child_property in ges-container.c
|
|
||||||
* should be changed to reflect this.
|
|
||||||
* We could hack around this by copying the pspec into a new instance
|
|
||||||
* of GParamSpec, but there is no such GLib method, and it would break
|
|
||||||
* the usage of get_..._from_pspec and set_..._from_pspec */
|
|
||||||
if (g_hash_table_contains (self->priv->children_props, pspec)) {
|
|
||||||
GST_INFO_OBJECT (self, "Child property already exists: %s", pspec->name);
|
GST_INFO_OBJECT (self, "Child property already exists: %s", pspec->name);
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
prev = _find_child_prop (self, pspec, NULL, NULL);
|
||||||
|
if (flags & GES_TIMELINE_ELEMENT_CHILD_PROP_FLAG_INHERIT) {
|
||||||
|
if (!owner) {
|
||||||
|
g_warning ("Trying to inherit child property flags without an owner");
|
||||||
|
} else {
|
||||||
|
ChildPropSpec *owner_prop = _find_child_prop (owner, pspec, NULL, NULL);
|
||||||
|
|
||||||
|
g_return_val_if_fail (owner_prop, FALSE);
|
||||||
|
flags |= owner_prop->flags;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (prev && prev->flags != flags) {
|
||||||
|
GST_ERROR_OBJECT (self,
|
||||||
|
"Trying to add child property with flags %d but the same"
|
||||||
|
" property had flags %d - this is not supported", flags, prev->flags);
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -845,18 +900,18 @@ ges_timeline_element_add_child_property_full (GESTimelineElement * self,
|
||||||
child, pspec->name);
|
child, pspec->name);
|
||||||
|
|
||||||
signame = g_strconcat ("notify::", pspec->name, NULL);
|
signame = g_strconcat ("notify::", pspec->name, NULL);
|
||||||
handler = (ChildPropHandler *) g_new0 (ChildPropHandler, 1);
|
childprop.self = self;
|
||||||
handler->self = self;
|
|
||||||
if (child == G_OBJECT (self) || child == G_OBJECT (owner))
|
if (child == G_OBJECT (self) || child == G_OBJECT (owner))
|
||||||
handler->child = child;
|
childprop.child = child;
|
||||||
else
|
else
|
||||||
handler->child = gst_object_ref (child);
|
childprop.child = gst_object_ref (child);
|
||||||
handler->owner = owner;
|
childprop.pspec = g_param_spec_ref (pspec);
|
||||||
handler->handler_id =
|
childprop.owner = owner;
|
||||||
|
childprop.flags = flags;
|
||||||
|
childprop.handler_id =
|
||||||
g_signal_connect (child, signame, G_CALLBACK (child_prop_changed_cb),
|
g_signal_connect (child, signame, G_CALLBACK (child_prop_changed_cb),
|
||||||
self);
|
self);
|
||||||
g_hash_table_insert (self->priv->children_props, g_param_spec_ref (pspec),
|
g_array_append_val (self->priv->children_props, childprop);
|
||||||
handler);
|
|
||||||
|
|
||||||
g_signal_emit (self, ges_timeline_element_signals[CHILD_PROPERTY_ADDED], 0,
|
g_signal_emit (self, ges_timeline_element_signals[CHILD_PROPERTY_ADDED], 0,
|
||||||
child, pspec);
|
child, pspec);
|
||||||
|
@ -865,15 +920,22 @@ ges_timeline_element_add_child_property_full (GESTimelineElement * self,
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
GObject *
|
GList *
|
||||||
ges_timeline_element_get_child_from_child_property (GESTimelineElement * self,
|
ges_timeline_element_get_children_from_child_property (GESTimelineElement *
|
||||||
GParamSpec * pspec)
|
self, GParamSpec * pspec)
|
||||||
{
|
{
|
||||||
ChildPropHandler *handler =
|
gint i;
|
||||||
g_hash_table_lookup (self->priv->children_props, pspec);
|
GList *res = NULL;
|
||||||
if (handler)
|
|
||||||
return handler->child;
|
for (i = 0; i < self->priv->children_props->len; i++) {
|
||||||
return NULL;
|
ChildPropSpec *childprop =
|
||||||
|
&g_array_index (self->priv->children_props, ChildPropSpec, i);
|
||||||
|
|
||||||
|
if (ges_pspec_hash (childprop->pspec) == ges_pspec_hash (pspec))
|
||||||
|
res = g_list_append (res, childprop->child);
|
||||||
|
}
|
||||||
|
|
||||||
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1778,7 +1840,7 @@ ges_timeline_element_add_child_property (GESTimelineElement * self,
|
||||||
g_return_val_if_fail (G_IS_OBJECT (child), FALSE);
|
g_return_val_if_fail (G_IS_OBJECT (child), FALSE);
|
||||||
|
|
||||||
return ges_timeline_element_add_child_property_full (self, NULL, pspec,
|
return ges_timeline_element_add_child_property_full (self, NULL, pspec,
|
||||||
child);
|
child, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1795,16 +1857,16 @@ void
|
||||||
ges_timeline_element_get_child_property_by_pspec (GESTimelineElement * self,
|
ges_timeline_element_get_child_property_by_pspec (GESTimelineElement * self,
|
||||||
GParamSpec * pspec, GValue * value)
|
GParamSpec * pspec, GValue * value)
|
||||||
{
|
{
|
||||||
ChildPropHandler *handler;
|
ChildPropSpec *childprop;
|
||||||
|
|
||||||
g_return_if_fail (GES_IS_TIMELINE_ELEMENT (self));
|
g_return_if_fail (GES_IS_TIMELINE_ELEMENT (self));
|
||||||
g_return_if_fail (G_IS_PARAM_SPEC (pspec));
|
g_return_if_fail (G_IS_PARAM_SPEC (pspec));
|
||||||
|
|
||||||
handler = g_hash_table_lookup (self->priv->children_props, pspec);
|
childprop = _find_child_prop (self, pspec, NULL, NULL);
|
||||||
if (!handler)
|
if (!childprop)
|
||||||
goto not_found;
|
goto not_found;
|
||||||
|
|
||||||
g_object_get_property (G_OBJECT (handler->child), pspec->name, value);
|
g_object_get_property (G_OBJECT (childprop->child), pspec->name, value);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -2232,28 +2294,37 @@ gboolean
|
||||||
ges_timeline_element_remove_child_property (GESTimelineElement * self,
|
ges_timeline_element_remove_child_property (GESTimelineElement * self,
|
||||||
GParamSpec * pspec)
|
GParamSpec * pspec)
|
||||||
{
|
{
|
||||||
gpointer key, value;
|
return ges_timeline_element_remove_child_property_full (self, pspec, NULL);
|
||||||
GParamSpec *found_pspec;
|
}
|
||||||
ChildPropHandler *handler;
|
|
||||||
|
gboolean
|
||||||
|
ges_timeline_element_remove_child_property_full (GESTimelineElement * self,
|
||||||
|
GParamSpec * pspec, GObject * child)
|
||||||
|
{
|
||||||
|
gint index;
|
||||||
|
ChildPropSpec *childprop, handler_copy;
|
||||||
|
|
||||||
g_return_val_if_fail (GES_IS_TIMELINE_ELEMENT (self), FALSE);
|
g_return_val_if_fail (GES_IS_TIMELINE_ELEMENT (self), FALSE);
|
||||||
g_return_val_if_fail (G_IS_PARAM_SPEC (pspec), FALSE);
|
g_return_val_if_fail (G_IS_PARAM_SPEC (pspec), FALSE);
|
||||||
|
g_return_val_if_fail ((!child || G_IS_OBJECT (child)), FALSE);
|
||||||
|
|
||||||
if (!g_hash_table_lookup_extended (self->priv->children_props, pspec,
|
if (!(childprop = _find_child_prop (self, pspec, child, &index))) {
|
||||||
&key, &value)) {
|
|
||||||
GST_WARNING_OBJECT (self, "No child property with pspec %p (%s) found",
|
GST_WARNING_OBJECT (self, "No child property with pspec %p (%s) found",
|
||||||
pspec, pspec->name);
|
pspec, pspec->name);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
g_hash_table_steal (self->priv->children_props, pspec);
|
|
||||||
found_pspec = G_PARAM_SPEC (key);
|
GST_DEBUG_OBJECT (child, "Removing %s", pspec->name);
|
||||||
handler = (ChildPropHandler *) value;
|
handler_copy = *childprop;
|
||||||
|
g_array_set_clear_func (self->priv->children_props, NULL);
|
||||||
|
g_array_remove_index (self->priv->children_props, index);
|
||||||
|
g_array_set_clear_func (self->priv->children_props,
|
||||||
|
(GDestroyNotify) _child_prop_spec_free);
|
||||||
|
|
||||||
g_signal_emit (self, ges_timeline_element_signals[CHILD_PROPERTY_REMOVED], 0,
|
g_signal_emit (self, ges_timeline_element_signals[CHILD_PROPERTY_REMOVED], 0,
|
||||||
handler->child, found_pspec);
|
handler_copy.child, handler_copy.pspec);
|
||||||
|
|
||||||
g_param_spec_unref (found_pspec);
|
_child_prop_spec_free (&handler_copy);
|
||||||
_child_prop_handler_free (handler);
|
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2484,7 +2484,7 @@ create_transitions (GNode * node,
|
||||||
if (!ges_layer_get_auto_transition (layer))
|
if (!ges_layer_get_auto_transition (layer))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
GST_LOG (node->data, "Checking for overlaps");
|
GST_LOG_OBJECT (node->data, "Checking for overlaps");
|
||||||
data.root = g_node_get_root (node);
|
data.root = g_node_get_root (node);
|
||||||
check_all_overlaps_with_element (node, &data);
|
check_all_overlaps_with_element (node, &data);
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "ges-internal.h"
|
#include "ges-internal.h"
|
||||||
|
#include "gstframepositioner.h"
|
||||||
#include "ges-extractable.h"
|
#include "ges-extractable.h"
|
||||||
#include "ges-track-element.h"
|
#include "ges-track-element.h"
|
||||||
#include "ges-clip.h"
|
#include "ges-clip.h"
|
||||||
|
@ -278,9 +279,9 @@ ges_track_element_dispose (GObject * object)
|
||||||
static void
|
static void
|
||||||
ges_track_element_set_asset (GESExtractable * extractable, GESAsset * asset)
|
ges_track_element_set_asset (GESExtractable * extractable, GESAsset * asset)
|
||||||
{
|
{
|
||||||
|
gchar *tmp;
|
||||||
GESTrackElementClass *class;
|
GESTrackElementClass *class;
|
||||||
GstElement *nleobject;
|
GstElement *nleobject;
|
||||||
gchar *tmp;
|
|
||||||
GESTrackElement *object = GES_TRACK_ELEMENT (extractable);
|
GESTrackElement *object = GES_TRACK_ELEMENT (extractable);
|
||||||
|
|
||||||
if (ges_track_element_get_track_type (object) == GES_TRACK_TYPE_UNKNOWN) {
|
if (ges_track_element_get_track_type (object) == GES_TRACK_TYPE_UNKNOWN) {
|
||||||
|
@ -299,8 +300,7 @@ ges_track_element_set_asset (GESExtractable * extractable, GESAsset * asset)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
tmp = g_strdup_printf ("%s:%s", G_OBJECT_TYPE_NAME (object),
|
tmp = g_strdup_printf ("nleges%s", GES_TIMELINE_ELEMENT_NAME (object));
|
||||||
GST_OBJECT_NAME (nleobject));
|
|
||||||
gst_object_set_name (GST_OBJECT (nleobject), tmp);
|
gst_object_set_name (GST_OBJECT (nleobject), tmp);
|
||||||
g_free (tmp);
|
g_free (tmp);
|
||||||
|
|
||||||
|
@ -1913,10 +1913,12 @@ ges_track_element_set_control_source (GESTrackElement * object,
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* First remove existing binding */
|
if (GST_IS_FRAME_POSITIONNER (element)) {
|
||||||
if (ges_track_element_remove_control_binding (object, property_name))
|
if (!gst_frame_positioner_check_can_add_binding (GST_FRAME_POSITIONNER
|
||||||
GST_LOG_OBJECT (object, "Removed old binding for property %s",
|
(element), property_name)) {
|
||||||
property_name);
|
goto done;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (direct_absolute)
|
if (direct_absolute)
|
||||||
binding = gst_direct_control_binding_new_absolute (GST_OBJECT (element),
|
binding = gst_direct_control_binding_new_absolute (GST_OBJECT (element),
|
||||||
|
|
|
@ -192,6 +192,47 @@ find_compositor (GstPluginFeature * feature, gpointer udata)
|
||||||
(loaded_feature)), GST_TYPE_AGGREGATOR);
|
(loaded_feature)), GST_TYPE_AGGREGATOR);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (res) {
|
||||||
|
const gchar *needed_props[] = { "width", "height", "xpos", "ypos" };
|
||||||
|
GObjectClass *klass =
|
||||||
|
g_type_class_ref (gst_element_factory_get_element_type
|
||||||
|
(GST_ELEMENT_FACTORY (loaded_feature)));
|
||||||
|
GstPadTemplate *templ =
|
||||||
|
gst_element_class_get_pad_template (GST_ELEMENT_CLASS (klass),
|
||||||
|
"sink_%u");
|
||||||
|
|
||||||
|
g_type_class_unref (klass);
|
||||||
|
if (!templ) {
|
||||||
|
GST_INFO_OBJECT (loaded_feature, "No sink template found, ignoring");
|
||||||
|
res = FALSE;
|
||||||
|
goto done;
|
||||||
|
}
|
||||||
|
|
||||||
|
GType pad_type;
|
||||||
|
g_object_get (templ, "gtype", &pad_type, NULL);
|
||||||
|
klass = g_type_class_ref (pad_type);
|
||||||
|
for (gint i = 0; i < G_N_ELEMENTS (needed_props); i++) {
|
||||||
|
GParamSpec *pspec;
|
||||||
|
|
||||||
|
if (!(pspec = g_object_class_find_property (klass, needed_props[i]))) {
|
||||||
|
GST_INFO_OBJECT (loaded_feature, "No property %s found, ignoring",
|
||||||
|
needed_props[i]);
|
||||||
|
res = FALSE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pspec->value_type != G_TYPE_INT && pspec->value_type != G_TYPE_FLOAT
|
||||||
|
&& pspec->value_type != G_TYPE_DOUBLE) {
|
||||||
|
GST_INFO_OBJECT (loaded_feature,
|
||||||
|
"Property %s is not of type int or float, or double, ignoring",
|
||||||
|
needed_props[i]);
|
||||||
|
res = FALSE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
g_type_class_unref (klass);
|
||||||
|
}
|
||||||
|
|
||||||
done:
|
done:
|
||||||
gst_clear_object (&elem);
|
gst_clear_object (&elem);
|
||||||
gst_object_unref (loaded_feature);
|
gst_object_unref (loaded_feature);
|
||||||
|
|
|
@ -833,6 +833,48 @@ beach:
|
||||||
|
|
||||||
GST_END_VALIDATE_ACTION;
|
GST_END_VALIDATE_ACTION;
|
||||||
|
|
||||||
|
GES_START_VALIDATE_ACTION (_group)
|
||||||
|
{
|
||||||
|
gint i;
|
||||||
|
GESContainer *group;
|
||||||
|
GList *containers = NULL;
|
||||||
|
gchar **container_names;
|
||||||
|
const gchar *container_name =
|
||||||
|
gst_structure_get_string (action->structure, "container-name");
|
||||||
|
|
||||||
|
REPORT_UNLESS ((container_names =
|
||||||
|
gst_validate_utils_get_strv (action->structure, "containers")), beach,
|
||||||
|
"Could not get container names from structure %" GST_PTR_FORMAT,
|
||||||
|
action->structure);
|
||||||
|
|
||||||
|
for (i = 0; container_names[i]; i++) {
|
||||||
|
GESContainer *container =
|
||||||
|
(GESContainer *) ges_timeline_get_element (timeline,
|
||||||
|
container_names[i]);
|
||||||
|
|
||||||
|
REPORT_UNLESS (GES_IS_CONTAINER (container), beach, "Could not find %s",
|
||||||
|
container_names[i]);
|
||||||
|
|
||||||
|
containers = g_list_prepend (containers, container);
|
||||||
|
}
|
||||||
|
|
||||||
|
REPORT_UNLESS ((group = ges_container_group (containers)), beach,
|
||||||
|
"Grouping failed");
|
||||||
|
|
||||||
|
if (container_name) {
|
||||||
|
REPORT_UNLESS (ges_timeline_element_set_name (GES_TIMELINE_ELEMENT (group),
|
||||||
|
container_name), beach, "Could not set element name %s",
|
||||||
|
container_name);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
beach:
|
||||||
|
g_clear_pointer (&container_names, g_strfreev);
|
||||||
|
g_list_free_full (containers, gst_object_unref);
|
||||||
|
}
|
||||||
|
|
||||||
|
GST_END_VALIDATE_ACTION;
|
||||||
|
|
||||||
GES_START_VALIDATE_ACTION (_ungroup)
|
GES_START_VALIDATE_ACTION (_ungroup)
|
||||||
{
|
{
|
||||||
GESContainer *container;
|
GESContainer *container;
|
||||||
|
@ -1677,6 +1719,29 @@ ges_validate_register_action_types (void)
|
||||||
{NULL}
|
{NULL}
|
||||||
}, "Remove a child from @container-name.", FALSE);
|
}, "Remove a child from @container-name.", FALSE);
|
||||||
|
|
||||||
|
gst_validate_register_action_type ("group", "ges", _group,
|
||||||
|
(GstValidateActionParameter []) {
|
||||||
|
{
|
||||||
|
.name = "container-name",
|
||||||
|
.description = "The name of the resulting group",
|
||||||
|
.types = "string",
|
||||||
|
.mandatory = FALSE,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.name = "containers",
|
||||||
|
.description = "Array of GESContainer names to group",
|
||||||
|
.types = "{ container-name, }",
|
||||||
|
.mandatory = TRUE,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.name = "project-uri",
|
||||||
|
.description = "The project URI with the serialized timeline to execute the action on",
|
||||||
|
.types = "string",
|
||||||
|
.mandatory = FALSE,
|
||||||
|
},
|
||||||
|
{NULL}
|
||||||
|
}, "Group containers together.", FALSE);
|
||||||
|
|
||||||
gst_validate_register_action_type ("ungroup-container", "ges", _ungroup,
|
gst_validate_register_action_type ("ungroup-container", "ges", _ungroup,
|
||||||
(GstValidateActionParameter []) {
|
(GstValidateActionParameter []) {
|
||||||
{
|
{
|
||||||
|
|
|
@ -115,7 +115,9 @@ ges_video_source_create_filters (GESVideoSource * self, GPtrArray * elements,
|
||||||
GESTrackElement *trksrc = GES_TRACK_ELEMENT (self);
|
GESTrackElement *trksrc = GES_TRACK_ELEMENT (self);
|
||||||
GstElement *positioner, *videoflip, *capsfilter, *videorate;
|
GstElement *positioner, *videoflip, *capsfilter, *videorate;
|
||||||
const gchar *positioner_props[]
|
const gchar *positioner_props[]
|
||||||
= { "alpha", "posx", "posy", "width", "height", "operator", NULL };
|
= { "alpha", "posx", "fposx", "posy", "fposy", "width", "fwidth",
|
||||||
|
"height", "fheight", "operator", NULL
|
||||||
|
};
|
||||||
const gchar *videoflip_props[] = { "video-direction", NULL };
|
const gchar *videoflip_props[] = { "video-direction", NULL };
|
||||||
gchar *ename = NULL;
|
gchar *ename = NULL;
|
||||||
|
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <gst/gst.h>
|
#include <gst/gst.h>
|
||||||
|
#include <math.h>
|
||||||
|
|
||||||
#include "ges-frame-composition-meta.h"
|
#include "ges-frame-composition-meta.h"
|
||||||
|
|
||||||
|
@ -96,7 +97,8 @@ chain (GstPad * pad, GESVideoScale * self, GstBuffer * buffer)
|
||||||
if (meta->height != self->height || meta->width != self->width) {
|
if (meta->height != self->height || meta->width != self->width) {
|
||||||
GST_OBJECT_UNLOCK (self);
|
GST_OBJECT_UNLOCK (self);
|
||||||
|
|
||||||
set_dimension (self, meta->width, meta->height);
|
set_dimension (self, (gint) round (meta->width),
|
||||||
|
(gint) round (meta->height));
|
||||||
} else {
|
} else {
|
||||||
GST_OBJECT_UNLOCK (self);
|
GST_OBJECT_UNLOCK (self);
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,11 +48,20 @@ enum
|
||||||
{
|
{
|
||||||
PROP_0,
|
PROP_0,
|
||||||
PROP_ALPHA,
|
PROP_ALPHA,
|
||||||
|
|
||||||
PROP_POSX,
|
PROP_POSX,
|
||||||
|
PROP_FPOSX,
|
||||||
|
|
||||||
PROP_POSY,
|
PROP_POSY,
|
||||||
PROP_ZORDER,
|
PROP_FPOSY,
|
||||||
|
|
||||||
PROP_WIDTH,
|
PROP_WIDTH,
|
||||||
|
PROP_FWIDTH,
|
||||||
|
|
||||||
PROP_HEIGHT,
|
PROP_HEIGHT,
|
||||||
|
PROP_FHEIGHT,
|
||||||
|
|
||||||
|
PROP_ZORDER,
|
||||||
PROP_OPERATOR,
|
PROP_OPERATOR,
|
||||||
PROP_LAST,
|
PROP_LAST,
|
||||||
};
|
};
|
||||||
|
@ -143,9 +152,16 @@ is_user_positionned (GstFramePositioner * self)
|
||||||
gint i;
|
gint i;
|
||||||
GParamSpec *positioning_props[] = {
|
GParamSpec *positioning_props[] = {
|
||||||
properties[PROP_WIDTH],
|
properties[PROP_WIDTH],
|
||||||
|
properties[PROP_FWIDTH],
|
||||||
|
|
||||||
properties[PROP_HEIGHT],
|
properties[PROP_HEIGHT],
|
||||||
|
properties[PROP_FHEIGHT],
|
||||||
|
|
||||||
properties[PROP_POSX],
|
properties[PROP_POSX],
|
||||||
|
properties[PROP_FPOSX],
|
||||||
|
|
||||||
properties[PROP_POSY],
|
properties[PROP_POSY],
|
||||||
|
properties[PROP_FPOSY],
|
||||||
};
|
};
|
||||||
|
|
||||||
if (self->user_positioned)
|
if (self->user_positioned)
|
||||||
|
@ -219,13 +235,22 @@ reposition_properties (GstFramePositioner * pos, gint old_track_width,
|
||||||
gint old_track_height)
|
gint old_track_height)
|
||||||
{
|
{
|
||||||
gint i;
|
gint i;
|
||||||
|
/* *INDENT-OFF* */
|
||||||
RepositionPropertyData props_data[] = {
|
RepositionPropertyData props_data[] = {
|
||||||
|
{&pos->width, old_track_width, pos->track_width, properties[PROP_FWIDTH]},
|
||||||
{&pos->width, old_track_width, pos->track_width, properties[PROP_WIDTH]},
|
{&pos->width, old_track_width, pos->track_width, properties[PROP_WIDTH]},
|
||||||
{&pos->height, old_track_height, pos->track_height,
|
|
||||||
properties[PROP_HEIGHT]},
|
{&pos->height, old_track_height, pos->track_height, properties[PROP_FHEIGHT]},
|
||||||
|
{&pos->height, old_track_height, pos->track_height, properties[PROP_HEIGHT]},
|
||||||
|
|
||||||
|
{&pos->posx, old_track_width, pos->track_width, properties[PROP_FPOSX]},
|
||||||
{&pos->posx, old_track_width, pos->track_width, properties[PROP_POSX]},
|
{&pos->posx, old_track_width, pos->track_width, properties[PROP_POSX]},
|
||||||
|
|
||||||
|
{&pos->posy, old_track_height, pos->track_height, properties[PROP_FPOSY]},
|
||||||
{&pos->posy, old_track_height, pos->track_height, properties[PROP_POSY]},
|
{&pos->posy, old_track_height, pos->track_height, properties[PROP_POSY]},
|
||||||
};
|
};
|
||||||
|
/* *INDENT-ON* */
|
||||||
|
|
||||||
|
|
||||||
for (i = 0; i < G_N_ELEMENTS (props_data); i++) {
|
for (i = 0; i < G_N_ELEMENTS (props_data); i++) {
|
||||||
GList *values, *tmp;
|
GList *values, *tmp;
|
||||||
|
@ -236,8 +261,10 @@ reposition_properties (GstFramePositioner * pos, gint old_track_width,
|
||||||
GstControlBinding *binding =
|
GstControlBinding *binding =
|
||||||
gst_object_get_control_binding (GST_OBJECT (pos), d.pspec->name);
|
gst_object_get_control_binding (GST_OBJECT (pos), d.pspec->name);
|
||||||
|
|
||||||
*(d.value) =
|
if (G_PARAM_SPEC_VALUE_TYPE (d.pspec) == G_TYPE_FLOAT) {
|
||||||
*(d.value) * (gdouble) d.track_value / (gdouble) d.old_track_value;
|
*(d.value) =
|
||||||
|
*(d.value) * (gdouble) d.track_value / (gdouble) d.old_track_value;
|
||||||
|
}
|
||||||
|
|
||||||
if (!binding)
|
if (!binding)
|
||||||
continue;
|
continue;
|
||||||
|
@ -523,9 +550,19 @@ gst_frame_positioner_class_init (GstFramePositionerClass * klass)
|
||||||
* The desired x position for the stream.
|
* The desired x position for the stream.
|
||||||
*/
|
*/
|
||||||
properties[PROP_POSX] =
|
properties[PROP_POSX] =
|
||||||
g_param_spec_int ("posx", "posx", "x position of the stream", MIN_PIXELS,
|
g_param_spec_int ("posx", "posx", "x position of the stream",
|
||||||
MAX_PIXELS, 0, G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE);
|
MIN_PIXELS, MAX_PIXELS, 0,
|
||||||
|
G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_LAX_VALIDATION);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gstframepositioner:fposx:
|
||||||
|
*
|
||||||
|
* The desired x position for the stream.
|
||||||
|
*/
|
||||||
|
properties[PROP_FPOSX] =
|
||||||
|
g_param_spec_float ("fposx", "fposx", "x position of the stream in float",
|
||||||
|
MIN_PIXELS, MAX_PIXELS, 0,
|
||||||
|
G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_LAX_VALIDATION);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gstframepositioner:posy:
|
* gstframepositioner:posy:
|
||||||
|
@ -533,8 +570,20 @@ gst_frame_positioner_class_init (GstFramePositionerClass * klass)
|
||||||
* The desired y position for the stream.
|
* The desired y position for the stream.
|
||||||
*/
|
*/
|
||||||
properties[PROP_POSY] =
|
properties[PROP_POSY] =
|
||||||
g_param_spec_int ("posy", "posy", "y position of the stream", MIN_PIXELS,
|
g_param_spec_int ("posy", "posy", "y position of the stream",
|
||||||
MAX_PIXELS, 0, G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE);
|
MIN_PIXELS, MAX_PIXELS, 0,
|
||||||
|
G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_LAX_VALIDATION);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gstframepositioner:fposy:
|
||||||
|
*
|
||||||
|
* The desired y position for the stream.
|
||||||
|
*/
|
||||||
|
properties[PROP_FPOSY] =
|
||||||
|
g_param_spec_float ("fposy", "fposy", "y position of the stream in float",
|
||||||
|
MIN_PIXELS, MAX_PIXELS, 0,
|
||||||
|
G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_LAX_VALIDATION);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gstframepositioner:zorder:
|
* gstframepositioner:zorder:
|
||||||
|
@ -552,8 +601,20 @@ gst_frame_positioner_class_init (GstFramePositionerClass * klass)
|
||||||
* Set to 0 if size is not mandatory, will be set to width of the current track.
|
* Set to 0 if size is not mandatory, will be set to width of the current track.
|
||||||
*/
|
*/
|
||||||
properties[PROP_WIDTH] =
|
properties[PROP_WIDTH] =
|
||||||
g_param_spec_int ("width", "width", "width of the source", 0, MAX_PIXELS,
|
g_param_spec_int ("width", "width", "width of the source", 0,
|
||||||
0, G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE);
|
MAX_PIXELS, 0,
|
||||||
|
G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_LAX_VALIDATION);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gesframepositioner:fwidth:
|
||||||
|
*
|
||||||
|
* The desired width for that source.
|
||||||
|
* Set to 0 if size is not mandatory, will be set to width of the current track.
|
||||||
|
*/
|
||||||
|
properties[PROP_FWIDTH] =
|
||||||
|
g_param_spec_float ("fwidth", "fwidth", "width of the source in float", 0,
|
||||||
|
MAX_PIXELS, 0,
|
||||||
|
G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_LAX_VALIDATION);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gesframepositioner:height:
|
* gesframepositioner:height:
|
||||||
|
@ -563,7 +624,19 @@ gst_frame_positioner_class_init (GstFramePositionerClass * klass)
|
||||||
*/
|
*/
|
||||||
properties[PROP_HEIGHT] =
|
properties[PROP_HEIGHT] =
|
||||||
g_param_spec_int ("height", "height", "height of the source", 0,
|
g_param_spec_int ("height", "height", "height of the source", 0,
|
||||||
MAX_PIXELS, 0, G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE);
|
MAX_PIXELS, 0,
|
||||||
|
G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_LAX_VALIDATION);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gesframepositioner:fheight:
|
||||||
|
*
|
||||||
|
* The desired height for that source.
|
||||||
|
* Set to 0 if size is not mandatory, will be set to height of the current track.
|
||||||
|
*/
|
||||||
|
properties[PROP_FHEIGHT] =
|
||||||
|
g_param_spec_float ("fheight", "fheight", "height of the source in float",
|
||||||
|
0, MAX_PIXELS, 0,
|
||||||
|
G_PARAM_READWRITE | GST_PARAM_CONTROLLABLE | G_PARAM_LAX_VALIDATION);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gesframepositioner:operator:
|
* gesframepositioner:operator:
|
||||||
|
@ -635,10 +708,18 @@ gst_frame_positioner_set_property (GObject * object, guint property_id,
|
||||||
framepositioner->posx = g_value_get_int (value);
|
framepositioner->posx = g_value_get_int (value);
|
||||||
framepositioner->user_positioned = TRUE;
|
framepositioner->user_positioned = TRUE;
|
||||||
break;
|
break;
|
||||||
|
case PROP_FPOSX:
|
||||||
|
framepositioner->posx = g_value_get_float (value);
|
||||||
|
framepositioner->user_positioned = TRUE;
|
||||||
|
break;
|
||||||
case PROP_POSY:
|
case PROP_POSY:
|
||||||
framepositioner->posy = g_value_get_int (value);
|
framepositioner->posy = g_value_get_int (value);
|
||||||
framepositioner->user_positioned = TRUE;
|
framepositioner->user_positioned = TRUE;
|
||||||
break;
|
break;
|
||||||
|
case PROP_FPOSY:
|
||||||
|
framepositioner->posy = g_value_get_float (value);
|
||||||
|
framepositioner->user_positioned = TRUE;
|
||||||
|
break;
|
||||||
case PROP_ZORDER:
|
case PROP_ZORDER:
|
||||||
framepositioner->zorder = g_value_get_uint (value);
|
framepositioner->zorder = g_value_get_uint (value);
|
||||||
break;
|
break;
|
||||||
|
@ -648,12 +729,24 @@ gst_frame_positioner_set_property (GObject * object, guint property_id,
|
||||||
gst_frame_positioner_update_properties (framepositioner, track_mixing,
|
gst_frame_positioner_update_properties (framepositioner, track_mixing,
|
||||||
0, 0);
|
0, 0);
|
||||||
break;
|
break;
|
||||||
|
case PROP_FWIDTH:
|
||||||
|
framepositioner->user_positioned = TRUE;
|
||||||
|
framepositioner->width = g_value_get_float (value);
|
||||||
|
gst_frame_positioner_update_properties (framepositioner, track_mixing,
|
||||||
|
0, 0);
|
||||||
|
break;
|
||||||
case PROP_HEIGHT:
|
case PROP_HEIGHT:
|
||||||
framepositioner->user_positioned = TRUE;
|
framepositioner->user_positioned = TRUE;
|
||||||
framepositioner->height = g_value_get_int (value);
|
framepositioner->height = g_value_get_int (value);
|
||||||
gst_frame_positioner_update_properties (framepositioner, track_mixing,
|
gst_frame_positioner_update_properties (framepositioner, track_mixing,
|
||||||
0, 0);
|
0, 0);
|
||||||
break;
|
break;
|
||||||
|
case PROP_FHEIGHT:
|
||||||
|
framepositioner->user_positioned = TRUE;
|
||||||
|
framepositioner->height = g_value_get_float (value);
|
||||||
|
gst_frame_positioner_update_properties (framepositioner, track_mixing,
|
||||||
|
0, 0);
|
||||||
|
break;
|
||||||
case PROP_OPERATOR:
|
case PROP_OPERATOR:
|
||||||
framepositioner->operator = g_value_get_enum (value);
|
framepositioner->operator = g_value_get_enum (value);
|
||||||
gst_frame_positioner_update_properties (framepositioner, track_mixing,
|
gst_frame_positioner_update_properties (framepositioner, track_mixing,
|
||||||
|
@ -671,7 +764,7 @@ gst_frame_positioner_get_property (GObject * object, guint property_id,
|
||||||
GValue * value, GParamSpec * pspec)
|
GValue * value, GParamSpec * pspec)
|
||||||
{
|
{
|
||||||
GstFramePositioner *pos = GST_FRAME_POSITIONNER (object);
|
GstFramePositioner *pos = GST_FRAME_POSITIONNER (object);
|
||||||
gint real_width, real_height;
|
gdouble real_width, real_height;
|
||||||
|
|
||||||
switch (property_id) {
|
switch (property_id) {
|
||||||
case PROP_ALPHA:
|
case PROP_ALPHA:
|
||||||
|
@ -680,9 +773,15 @@ gst_frame_positioner_get_property (GObject * object, guint property_id,
|
||||||
case PROP_POSX:
|
case PROP_POSX:
|
||||||
g_value_set_int (value, round (pos->posx));
|
g_value_set_int (value, round (pos->posx));
|
||||||
break;
|
break;
|
||||||
|
case PROP_FPOSX:
|
||||||
|
g_value_set_float (value, pos->posx);
|
||||||
|
break;
|
||||||
case PROP_POSY:
|
case PROP_POSY:
|
||||||
g_value_set_int (value, round (pos->posy));
|
g_value_set_int (value, round (pos->posy));
|
||||||
break;
|
break;
|
||||||
|
case PROP_FPOSY:
|
||||||
|
g_value_set_float (value, pos->posy);
|
||||||
|
break;
|
||||||
case PROP_ZORDER:
|
case PROP_ZORDER:
|
||||||
g_value_set_uint (value, pos->zorder);
|
g_value_set_uint (value, pos->zorder);
|
||||||
break;
|
break;
|
||||||
|
@ -690,18 +789,32 @@ gst_frame_positioner_get_property (GObject * object, guint property_id,
|
||||||
if (pos->scale_in_compositor) {
|
if (pos->scale_in_compositor) {
|
||||||
g_value_set_int (value, round (pos->width));
|
g_value_set_int (value, round (pos->width));
|
||||||
} else {
|
} else {
|
||||||
real_width =
|
real_width = pos->width > 0 ? pos->width : pos->track_width;
|
||||||
pos->width > 0 ? round (pos->width) : round (pos->track_width);
|
g_value_set_int (value, round (real_width));
|
||||||
g_value_set_int (value, real_width);
|
}
|
||||||
|
break;
|
||||||
|
case PROP_FWIDTH:
|
||||||
|
if (pos->scale_in_compositor) {
|
||||||
|
g_value_set_float (value, pos->width);
|
||||||
|
} else {
|
||||||
|
real_width = pos->width > 0 ? pos->width : pos->track_width;
|
||||||
|
g_value_set_float (value, real_width);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case PROP_HEIGHT:
|
case PROP_HEIGHT:
|
||||||
if (pos->scale_in_compositor) {
|
if (pos->scale_in_compositor) {
|
||||||
g_value_set_int (value, round (pos->height));
|
g_value_set_int (value, round (pos->height));
|
||||||
} else {
|
} else {
|
||||||
real_height =
|
real_height = pos->height > 0 ? pos->height : pos->track_height;
|
||||||
pos->height > 0 ? round (pos->height) : round (pos->track_height);
|
g_value_set_int (value, round (real_height));
|
||||||
g_value_set_int (value, real_height);
|
}
|
||||||
|
break;
|
||||||
|
case PROP_FHEIGHT:
|
||||||
|
if (pos->scale_in_compositor) {
|
||||||
|
g_value_set_float (value, pos->height);
|
||||||
|
} else {
|
||||||
|
real_height = pos->height > 0 ? pos->height : pos->track_height;
|
||||||
|
g_value_set_float (value, real_height);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case PROP_OPERATOR:
|
case PROP_OPERATOR:
|
||||||
|
@ -728,13 +841,54 @@ gst_frame_positioner_transform_ip (GstBaseTransform * trans, GstBuffer * buf)
|
||||||
|
|
||||||
GST_OBJECT_LOCK (framepositioner);
|
GST_OBJECT_LOCK (framepositioner);
|
||||||
meta->alpha = framepositioner->alpha;
|
meta->alpha = framepositioner->alpha;
|
||||||
meta->posx = round (framepositioner->posx);
|
meta->posx = framepositioner->posx;
|
||||||
meta->posy = round (framepositioner->posy);
|
meta->posy = framepositioner->posy;
|
||||||
meta->width = round (framepositioner->width);
|
meta->width = framepositioner->width;
|
||||||
meta->height = round (framepositioner->height);
|
meta->height = framepositioner->height;
|
||||||
meta->zorder = framepositioner->zorder;
|
meta->zorder = framepositioner->zorder;
|
||||||
meta->operator = framepositioner->operator;
|
meta->operator = framepositioner->operator;
|
||||||
GST_OBJECT_UNLOCK (framepositioner);
|
GST_OBJECT_UNLOCK (framepositioner);
|
||||||
|
|
||||||
return GST_FLOW_OK;
|
return GST_FLOW_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gboolean
|
||||||
|
gst_frame_positioner_check_can_add_binding (GstFramePositioner * self,
|
||||||
|
const gchar * property_name)
|
||||||
|
{
|
||||||
|
gint i = 0;
|
||||||
|
const gchar *checked_prop = NULL;
|
||||||
|
const gchar *props[][2] = {
|
||||||
|
{"posx", "fposx"},
|
||||||
|
{"posy", "fposy"},
|
||||||
|
{"width", "fwidth"},
|
||||||
|
{"height", "fheight"},
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
for (i = 0; i < G_N_ELEMENTS (props); i++) {
|
||||||
|
if (!g_strcmp0 (property_name, props[i][0])) {
|
||||||
|
checked_prop = props[i][1];
|
||||||
|
break;
|
||||||
|
} else if (!g_strcmp0 (property_name, props[i][1])) {
|
||||||
|
checked_prop = props[i][0];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!checked_prop)
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
GstControlBinding *b =
|
||||||
|
gst_object_get_control_binding (GST_OBJECT (self), checked_prop);
|
||||||
|
if (b) {
|
||||||
|
gst_object_unref (b);
|
||||||
|
GST_WARNING_OBJECT (self,
|
||||||
|
"Can't add control binding for %s as %s already has one", property_name,
|
||||||
|
checked_prop);
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
|
@ -72,6 +72,7 @@ struct _GstFramePositionerClass
|
||||||
GstBaseTransformClass base_framepositioner_class;
|
GstBaseTransformClass base_framepositioner_class;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
G_GNUC_INTERNAL gboolean gst_frame_positioner_check_can_add_binding (GstFramePositioner *self, const gchar *property_name);
|
||||||
G_GNUC_INTERNAL GType gst_compositor_operator_get_type_and_default_value (int *default_operator_value);
|
G_GNUC_INTERNAL GType gst_compositor_operator_get_type_and_default_value (int *default_operator_value);
|
||||||
G_GNUC_INTERNAL void ges_frame_positioner_set_source_and_filter (GstFramePositioner *pos,
|
G_GNUC_INTERNAL void ges_frame_positioner_set_source_and_filter (GstFramePositioner *pos,
|
||||||
GESTrackElement *trksrc,
|
GESTrackElement *trksrc,
|
||||||
|
|
|
@ -30,6 +30,16 @@ GStreamer library for creating audio and video editors
|
||||||
</GitRepository>
|
</GitRepository>
|
||||||
</repository>
|
</repository>
|
||||||
|
|
||||||
|
<release>
|
||||||
|
<Version>
|
||||||
|
<revision>1.24.0</revision>
|
||||||
|
<branch>main</branch>
|
||||||
|
<name></name>
|
||||||
|
<created>2024-03-04</created>
|
||||||
|
<file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-editing-services/gst-editing-services-1.24.0.tar.xz" />
|
||||||
|
</Version>
|
||||||
|
</release>
|
||||||
|
|
||||||
<release>
|
<release>
|
||||||
<Version>
|
<Version>
|
||||||
<revision>1.23.90</revision>
|
<revision>1.23.90</revision>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
project('gst-editing-services', 'c',
|
project('gst-editing-services', 'c',
|
||||||
version : '1.23.90',
|
version : '1.25.0.1',
|
||||||
meson_version : '>= 1.1',
|
meson_version : '>= 1.1',
|
||||||
default_options : [ 'warning_level=1',
|
default_options : [ 'warning_level=1',
|
||||||
'buildtype=debugoptimized' ])
|
'buildtype=debugoptimized' ])
|
||||||
|
|
|
@ -16,7 +16,7 @@ option('bash-completion', type : 'feature', value : 'auto',
|
||||||
option('pygi-overrides-dir', type : 'string', value : '',
|
option('pygi-overrides-dir', type : 'string', value : '',
|
||||||
description: 'Path to pygobject overrides directory')
|
description: 'Path to pygobject overrides directory')
|
||||||
option('xptv', type : 'feature', value : 'auto',
|
option('xptv', type : 'feature', value : 'auto',
|
||||||
description : 'Build the deprecated xptv formater')
|
description : 'Build the deprecated xptv formatter')
|
||||||
option('python', type : 'feature', value : 'auto', yield: true,
|
option('python', type : 'feature', value : 'auto', yield: true,
|
||||||
description: 'Enable python formatters.')
|
description: 'Enable python formatters.')
|
||||||
option('libpython-dir', type : 'string', value : '',
|
option('libpython-dir', type : 'string', value : '',
|
||||||
|
|
|
@ -72,6 +72,12 @@ nle_object_translate_incoming_seek (NleObject * object, GstEvent * event)
|
||||||
if (G_UNLIKELY (format != GST_FORMAT_TIME))
|
if (G_UNLIKELY (format != GST_FORMAT_TIME))
|
||||||
goto invalid_format;
|
goto invalid_format;
|
||||||
|
|
||||||
|
|
||||||
|
if (NLE_IS_SOURCE (object) && NLE_SOURCE (object)->reverse) {
|
||||||
|
GST_DEBUG_OBJECT (object, "Reverse playback! %d", seqnum);
|
||||||
|
rate = -rate;
|
||||||
|
}
|
||||||
|
|
||||||
/* convert cur */
|
/* convert cur */
|
||||||
ncurtype = GST_SEEK_TYPE_SET;
|
ncurtype = GST_SEEK_TYPE_SET;
|
||||||
if (G_LIKELY ((curtype == GST_SEEK_TYPE_SET)
|
if (G_LIKELY ((curtype == GST_SEEK_TYPE_SET)
|
||||||
|
|
|
@ -38,12 +38,20 @@ GST_STATIC_PAD_TEMPLATE ("src",
|
||||||
GST_PAD_ALWAYS,
|
GST_PAD_ALWAYS,
|
||||||
GST_STATIC_CAPS_ANY);
|
GST_STATIC_CAPS_ANY);
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
PROP_0,
|
||||||
|
PROP_REVERSE,
|
||||||
|
PROP_LAST,
|
||||||
|
};
|
||||||
|
|
||||||
GST_DEBUG_CATEGORY_STATIC (nlesource);
|
GST_DEBUG_CATEGORY_STATIC (nlesource);
|
||||||
#define GST_CAT_DEFAULT nlesource
|
#define GST_CAT_DEFAULT nlesource
|
||||||
|
|
||||||
#define _do_init \
|
#define _do_init \
|
||||||
GST_DEBUG_CATEGORY_INIT (nlesource, "nlesource", GST_DEBUG_FG_BLUE | GST_DEBUG_BOLD, "GNonLin Source Element");
|
GST_DEBUG_CATEGORY_INIT (nlesource, "nlesource", GST_DEBUG_FG_BLUE | GST_DEBUG_BOLD, "GNonLin Source Element");
|
||||||
#define nle_source_parent_class parent_class
|
#define nle_source_parent_class parent_class
|
||||||
|
|
||||||
struct _NleSourcePrivate
|
struct _NleSourcePrivate
|
||||||
{
|
{
|
||||||
gboolean dispose_has_run;
|
gboolean dispose_has_run;
|
||||||
|
@ -62,6 +70,10 @@ struct _NleSourcePrivate
|
||||||
GstEvent *seek_event;
|
GstEvent *seek_event;
|
||||||
guint32 flush_seqnum;
|
guint32 flush_seqnum;
|
||||||
gulong probeid;
|
gulong probeid;
|
||||||
|
|
||||||
|
|
||||||
|
/* Identity automatically created to handle reverse playback */
|
||||||
|
GstElement *identity;
|
||||||
};
|
};
|
||||||
|
|
||||||
G_DEFINE_TYPE_WITH_CODE (NleSource, nle_source, NLE_TYPE_OBJECT,
|
G_DEFINE_TYPE_WITH_CODE (NleSource, nle_source, NLE_TYPE_OBJECT,
|
||||||
|
@ -80,6 +92,57 @@ nle_source_control_element_func (NleSource * source, GstElement * element);
|
||||||
static GstStateChangeReturn nle_source_change_state (GstElement * element,
|
static GstStateChangeReturn nle_source_change_state (GstElement * element,
|
||||||
GstStateChange transition);
|
GstStateChange transition);
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
nle_source_commit (NleObject * object, gboolean recurse)
|
||||||
|
{
|
||||||
|
NleSource *self = NLE_SOURCE (object);
|
||||||
|
|
||||||
|
if (!NLE_OBJECT_CLASS (parent_class)->commit (object, recurse))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
self->reverse = self->pending_reverse;
|
||||||
|
g_object_set (self->priv->identity, "single-segment", self->reverse, NULL);
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
nle_source_get_property (GObject * object, guint property_id,
|
||||||
|
GValue * value, GParamSpec * pspec)
|
||||||
|
{
|
||||||
|
NleSource *self = NLE_SOURCE (object);
|
||||||
|
|
||||||
|
GST_OBJECT_LOCK (self);
|
||||||
|
switch (property_id) {
|
||||||
|
case PROP_REVERSE:
|
||||||
|
g_value_set_boolean (value, self->pending_reverse);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
||||||
|
}
|
||||||
|
GST_OBJECT_UNLOCK (self);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
nle_source_set_property (GObject * object, guint property_id,
|
||||||
|
const GValue * value, GParamSpec * pspec)
|
||||||
|
{
|
||||||
|
NleSource *self = NLE_SOURCE (object);
|
||||||
|
|
||||||
|
GST_OBJECT_LOCK (self);
|
||||||
|
switch (property_id) {
|
||||||
|
case PROP_REVERSE:
|
||||||
|
self->pending_reverse = g_value_get_boolean (value);
|
||||||
|
if (self->pending_reverse != self->reverse)
|
||||||
|
nle_object_set_commit_needed ((NleObject *) self);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
||||||
|
}
|
||||||
|
GST_OBJECT_UNLOCK (self);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
nle_source_class_init (NleSourceClass * klass)
|
nle_source_class_init (NleSourceClass * klass)
|
||||||
{
|
{
|
||||||
|
@ -93,6 +156,20 @@ nle_source_class_init (NleSourceClass * klass)
|
||||||
gstbin_class = (GstBinClass *) klass;
|
gstbin_class = (GstBinClass *) klass;
|
||||||
nleobject_class = (NleObjectClass *) klass;
|
nleobject_class = (NleObjectClass *) klass;
|
||||||
|
|
||||||
|
gobject_class->get_property = nle_source_get_property;
|
||||||
|
gobject_class->set_property = nle_source_set_property;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* NleSource:reverse:
|
||||||
|
* @reverse: Whether to playback the source reverse or not
|
||||||
|
*
|
||||||
|
* Since: 1.26
|
||||||
|
*/
|
||||||
|
g_object_class_install_property (gobject_class, PROP_REVERSE,
|
||||||
|
g_param_spec_boolean ("reverse", "Reverse",
|
||||||
|
"Whether to playback the source reverse or not", FALSE,
|
||||||
|
G_PARAM_READWRITE));
|
||||||
|
|
||||||
gst_element_class_set_static_metadata (gstelement_class, "GNonLin Source",
|
gst_element_class_set_static_metadata (gstelement_class, "GNonLin Source",
|
||||||
"Filter/Editor",
|
"Filter/Editor",
|
||||||
"Manages source elements",
|
"Manages source elements",
|
||||||
|
@ -106,6 +183,7 @@ nle_source_class_init (NleSourceClass * klass)
|
||||||
klass->control_element = GST_DEBUG_FUNCPTR (nle_source_control_element_func);
|
klass->control_element = GST_DEBUG_FUNCPTR (nle_source_control_element_func);
|
||||||
|
|
||||||
nleobject_class->prepare = GST_DEBUG_FUNCPTR (nle_source_prepare);
|
nleobject_class->prepare = GST_DEBUG_FUNCPTR (nle_source_prepare);
|
||||||
|
nleobject_class->commit = GST_DEBUG_FUNCPTR (nle_source_commit);
|
||||||
|
|
||||||
gstbin_class->add_element = GST_DEBUG_FUNCPTR (nle_source_add_element);
|
gstbin_class->add_element = GST_DEBUG_FUNCPTR (nle_source_add_element);
|
||||||
gstbin_class->remove_element = GST_DEBUG_FUNCPTR (nle_source_remove_element);
|
gstbin_class->remove_element = GST_DEBUG_FUNCPTR (nle_source_remove_element);
|
||||||
|
@ -139,10 +217,19 @@ srcpad_probe_cb (GstPad * pad, GstPadProbeInfo * info, NleSource * source)
|
||||||
static void
|
static void
|
||||||
nle_source_init (NleSource * source)
|
nle_source_init (NleSource * source)
|
||||||
{
|
{
|
||||||
|
NleSourcePrivate *priv;
|
||||||
|
NleObject *nleobject = NLE_OBJECT (source);
|
||||||
|
|
||||||
GST_OBJECT_FLAG_SET (source, NLE_OBJECT_SOURCE);
|
GST_OBJECT_FLAG_SET (source, NLE_OBJECT_SOURCE);
|
||||||
source->element = NULL;
|
source->element = NULL;
|
||||||
source->priv = nle_source_get_instance_private (source);
|
priv = source->priv = nle_source_get_instance_private (source);
|
||||||
g_mutex_init (&source->priv->seek_lock);
|
priv->identity = gst_element_factory_make ("identity", NULL);
|
||||||
|
|
||||||
|
gst_bin_add (GST_BIN (source), priv->identity);
|
||||||
|
nle_object_ghost_pad_set_target (nleobject, nleobject->srcpad,
|
||||||
|
priv->identity->srcpads->data);
|
||||||
|
|
||||||
|
g_mutex_init (&priv->seek_lock);
|
||||||
|
|
||||||
gst_pad_add_probe (NLE_OBJECT_SRC (source),
|
gst_pad_add_probe (NLE_OBJECT_SRC (source),
|
||||||
GST_PAD_PROBE_TYPE_EVENT_UPSTREAM, (GstPadProbeCallback) srcpad_probe_cb,
|
GST_PAD_PROBE_TYPE_EVENT_UPSTREAM, (GstPadProbeCallback) srcpad_probe_cb,
|
||||||
|
@ -158,6 +245,8 @@ nle_source_dispose (GObject * object)
|
||||||
NleObject *nleobject = (NleObject *) object;
|
NleObject *nleobject = (NleObject *) object;
|
||||||
NleSource *source = (NleSource *) object;
|
NleSource *source = (NleSource *) object;
|
||||||
NleSourcePrivate *priv = source->priv;
|
NleSourcePrivate *priv = source->priv;
|
||||||
|
GstElement *tmpidentity;
|
||||||
|
|
||||||
|
|
||||||
GST_DEBUG_OBJECT (object, "dispose");
|
GST_DEBUG_OBJECT (object, "dispose");
|
||||||
|
|
||||||
|
@ -173,26 +262,18 @@ nle_source_dispose (GObject * object)
|
||||||
}
|
}
|
||||||
GST_OBJECT_UNLOCK (object);
|
GST_OBJECT_UNLOCK (object);
|
||||||
|
|
||||||
|
gst_clear_object (&source->element);
|
||||||
if (source->element) {
|
tmpidentity = priv->identity;
|
||||||
gst_object_unref (source->element);
|
priv->identity = NULL;
|
||||||
source->element = NULL;
|
gst_bin_remove (GST_BIN (source), tmpidentity);
|
||||||
}
|
|
||||||
|
|
||||||
priv->dispose_has_run = TRUE;
|
priv->dispose_has_run = TRUE;
|
||||||
if (priv->ghostedpad)
|
nle_object_ghost_pad_set_target (nleobject, nleobject->srcpad, NULL);
|
||||||
nle_object_ghost_pad_set_target (nleobject, nleobject->srcpad, NULL);
|
|
||||||
|
|
||||||
if (priv->staticpad) {
|
gst_clear_object (&priv->staticpad);
|
||||||
gst_object_unref (priv->staticpad);
|
|
||||||
priv->staticpad = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
g_mutex_lock (&priv->seek_lock);
|
g_mutex_lock (&priv->seek_lock);
|
||||||
if (priv->seek_event) {
|
gst_clear_event (&priv->seek_event);
|
||||||
gst_event_unref (priv->seek_event);
|
|
||||||
priv->seek_event = NULL;
|
|
||||||
}
|
|
||||||
g_mutex_unlock (&priv->seek_lock);
|
g_mutex_unlock (&priv->seek_lock);
|
||||||
|
|
||||||
G_OBJECT_CLASS (parent_class)->dispose (object);
|
G_OBJECT_CLASS (parent_class)->dispose (object);
|
||||||
|
@ -225,12 +306,14 @@ element_pad_added_cb (GstElement * element G_GNUC_UNUSED, GstPad * pad,
|
||||||
}
|
}
|
||||||
gst_caps_unref (srccaps);
|
gst_caps_unref (srccaps);
|
||||||
|
|
||||||
priv->ghostedpad = pad;
|
if (gst_pad_link (pad, priv->identity->sinkpads->data) != GST_PAD_LINK_OK) {
|
||||||
GST_DEBUG_OBJECT (nleobject, "SET target %" GST_PTR_FORMAT, pad);
|
GST_ERROR_OBJECT (source, "Could not link pads: %" GST_PTR_FORMAT
|
||||||
nle_object_ghost_pad_set_target (nleobject, nleobject->srcpad, pad);
|
" and %" GST_PTR_FORMAT, pad, priv->identity->sinkpads->data);
|
||||||
|
} else {
|
||||||
GST_DEBUG_OBJECT (source, "Using pad pad %s:%s as a target now!",
|
GST_DEBUG_OBJECT (source, "Linked pads: %" GST_PTR_FORMAT
|
||||||
GST_DEBUG_PAD_NAME (pad));
|
" and %" GST_PTR_FORMAT, pad, priv->identity->sinkpads->data);
|
||||||
|
priv->ghostedpad = pad;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -238,7 +321,6 @@ element_pad_removed_cb (GstElement * element G_GNUC_UNUSED, GstPad * pad,
|
||||||
NleSource * source)
|
NleSource * source)
|
||||||
{
|
{
|
||||||
NleSourcePrivate *priv = source->priv;
|
NleSourcePrivate *priv = source->priv;
|
||||||
NleObject *nleobject = (NleObject *) source;
|
|
||||||
|
|
||||||
GST_DEBUG_OBJECT (source, "pad %s:%s (controlled pad %s:%s)",
|
GST_DEBUG_OBJECT (source, "pad %s:%s (controlled pad %s:%s)",
|
||||||
GST_DEBUG_PAD_NAME (pad), GST_DEBUG_PAD_NAME (priv->ghostedpad));
|
GST_DEBUG_PAD_NAME (pad), GST_DEBUG_PAD_NAME (priv->ghostedpad));
|
||||||
|
@ -249,9 +331,9 @@ element_pad_removed_cb (GstElement * element G_GNUC_UNUSED, GstPad * pad,
|
||||||
|
|
||||||
GST_DEBUG_OBJECT (source, "Clearing up ghostpad");
|
GST_DEBUG_OBJECT (source, "Clearing up ghostpad");
|
||||||
|
|
||||||
if (nleobject->srcpad)
|
if (priv->identity && !gst_pad_unlink (pad, priv->identity->sinkpads->data))
|
||||||
nle_object_ghost_pad_set_target (NLE_OBJECT (source), nleobject->srcpad,
|
GST_ERROR_OBJECT (source, "Could not unlink pads: %" GST_PTR_FORMAT
|
||||||
NULL);
|
" and %" GST_PTR_FORMAT, pad, priv->identity->sinkpads->data);
|
||||||
priv->ghostedpad = NULL;
|
priv->ghostedpad = NULL;
|
||||||
} else {
|
} else {
|
||||||
GST_DEBUG_OBJECT (source, "The removed pad is NOT our controlled pad");
|
GST_DEBUG_OBJECT (source, "The removed pad is NOT our controlled pad");
|
||||||
|
@ -343,6 +425,9 @@ nle_source_control_element_func (NleSource * source, GstElement * element)
|
||||||
NleSourcePrivate *priv = source->priv;
|
NleSourcePrivate *priv = source->priv;
|
||||||
GstPad *pad = NULL;
|
GstPad *pad = NULL;
|
||||||
|
|
||||||
|
if (element == priv->identity)
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
g_return_val_if_fail (source->element == NULL, FALSE);
|
g_return_val_if_fail (source->element == NULL, FALSE);
|
||||||
|
|
||||||
GST_DEBUG_OBJECT (source, "element: %" GST_PTR_FORMAT ", source->element:%"
|
GST_DEBUG_OBJECT (source, "element: %" GST_PTR_FORMAT ", source->element:%"
|
||||||
|
@ -353,8 +438,13 @@ nle_source_control_element_func (NleSource * source, GstElement * element)
|
||||||
|
|
||||||
if (get_valid_src_pad (source, source->element, &pad)) {
|
if (get_valid_src_pad (source, source->element, &pad)) {
|
||||||
priv->staticpad = pad;
|
priv->staticpad = pad;
|
||||||
nle_object_ghost_pad_set_target (NLE_OBJECT (source),
|
if (gst_pad_link (pad, priv->identity->sinkpads->data) != GST_PAD_LINK_OK) {
|
||||||
NLE_OBJECT_SRC (source), pad);
|
GST_ERROR_OBJECT (source, "Could not link pads: %" GST_PTR_FORMAT
|
||||||
|
" and %" GST_PTR_FORMAT, pad, priv->identity->sinkpads->data);
|
||||||
|
} else {
|
||||||
|
GST_DEBUG_OBJECT (source, "Linked pads: %" GST_PTR_FORMAT
|
||||||
|
" and %" GST_PTR_FORMAT, pad, priv->identity->sinkpads->data);
|
||||||
|
}
|
||||||
priv->dynamicpads = FALSE;
|
priv->dynamicpads = FALSE;
|
||||||
} else {
|
} else {
|
||||||
priv->dynamicpads = has_dynamic_srcpads (element);
|
priv->dynamicpads = has_dynamic_srcpads (element);
|
||||||
|
@ -544,7 +634,8 @@ nle_source_prepare (NleObject * object)
|
||||||
stop = object->inpoint + object->duration;
|
stop = object->inpoint + object->duration;
|
||||||
|
|
||||||
g_mutex_lock (&source->priv->seek_lock);
|
g_mutex_lock (&source->priv->seek_lock);
|
||||||
source->priv->seek_event = gst_event_new_seek (1.0, GST_FORMAT_TIME,
|
source->priv->seek_event = gst_event_new_seek (source->reverse ? -1.0 : 1.0,
|
||||||
|
GST_FORMAT_TIME,
|
||||||
GST_SEEK_FLAG_ACCURATE | GST_SEEK_FLAG_FLUSH,
|
GST_SEEK_FLAG_ACCURATE | GST_SEEK_FLAG_FLUSH,
|
||||||
GST_SEEK_TYPE_SET, start, GST_SEEK_TYPE_SET, stop);
|
GST_SEEK_TYPE_SET, start, GST_SEEK_TYPE_SET, stop);
|
||||||
g_mutex_unlock (&source->priv->seek_lock);
|
g_mutex_unlock (&source->priv->seek_lock);
|
||||||
|
|
|
@ -45,6 +45,8 @@ typedef struct _NleSourcePrivate NleSourcePrivate;
|
||||||
struct _NleSource
|
struct _NleSource
|
||||||
{
|
{
|
||||||
NleObject parent;
|
NleObject parent;
|
||||||
|
gboolean reverse;
|
||||||
|
gboolean pending_reverse;
|
||||||
|
|
||||||
/* controlled source element, acces with gst_bin_[add|remove]_element */
|
/* controlled source element, acces with gst_bin_[add|remove]_element */
|
||||||
GstElement *element;
|
GstElement *element;
|
||||||
|
|
|
@ -635,7 +635,6 @@ static void
|
||||||
project_loaded_cb (GESProject * project, GESTimeline * timeline,
|
project_loaded_cb (GESProject * project, GESTimeline * timeline,
|
||||||
GMainLoop * mainloop)
|
GMainLoop * mainloop)
|
||||||
{
|
{
|
||||||
GST_ERROR ("LOADED!");
|
|
||||||
g_main_loop_quit (mainloop);
|
g_main_loop_quit (mainloop);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -728,7 +727,7 @@ GST_START_TEST (test_children_properties_contain)
|
||||||
GESTimeline *timeline;
|
GESTimeline *timeline;
|
||||||
GESLayer *layer;
|
GESLayer *layer;
|
||||||
GESAsset *asset;
|
GESAsset *asset;
|
||||||
GESTimelineElement *c1, *c2, *c3, *g1, *g2;
|
GESTimelineElement *audioc0, *videoc, *audioc1, *g1, *g2;
|
||||||
GParamSpec **child_props1, **child_props2;
|
GParamSpec **child_props1, **child_props2;
|
||||||
guint num_props1, num_props2;
|
guint num_props1, num_props2;
|
||||||
|
|
||||||
|
@ -739,99 +738,92 @@ GST_START_TEST (test_children_properties_contain)
|
||||||
|
|
||||||
asset = ges_asset_request (GES_TYPE_TEST_CLIP, NULL, NULL);
|
asset = ges_asset_request (GES_TYPE_TEST_CLIP, NULL, NULL);
|
||||||
/* choose one audio and one video to give them different properties */
|
/* choose one audio and one video to give them different properties */
|
||||||
c1 = GES_TIMELINE_ELEMENT (ges_layer_add_asset (layer, asset, 0, 0, 10,
|
audioc0 = GES_TIMELINE_ELEMENT (ges_layer_add_asset (layer, asset, 0, 0, 10,
|
||||||
GES_TRACK_TYPE_AUDIO));
|
GES_TRACK_TYPE_AUDIO));
|
||||||
c2 = GES_TIMELINE_ELEMENT (ges_layer_add_asset (layer, asset, 20, 0, 10,
|
videoc = GES_TIMELINE_ELEMENT (ges_layer_add_asset (layer, asset, 20, 0, 10,
|
||||||
GES_TRACK_TYPE_VIDEO));
|
GES_TRACK_TYPE_VIDEO));
|
||||||
/* but c3 will have the same child properties as c1! */
|
/* but audioc1 will have the same child properties as audioc0! */
|
||||||
c3 = GES_TIMELINE_ELEMENT (ges_layer_add_asset (layer, asset, 40, 0, 10,
|
audioc1 = GES_TIMELINE_ELEMENT (ges_layer_add_asset (layer, asset, 40, 0, 10,
|
||||||
GES_TRACK_TYPE_AUDIO));
|
GES_TRACK_TYPE_AUDIO));
|
||||||
|
|
||||||
fail_unless (c1);
|
fail_unless (audioc0);
|
||||||
fail_unless (c2);
|
fail_unless (videoc);
|
||||||
|
|
||||||
g1 = GES_TIMELINE_ELEMENT (ges_group_new ());
|
g1 = GES_TIMELINE_ELEMENT (ges_group_new ());
|
||||||
g2 = GES_TIMELINE_ELEMENT (ges_group_new ());
|
g2 = GES_TIMELINE_ELEMENT (ges_group_new ());
|
||||||
|
|
||||||
/* group should have the same as its children */
|
/* group should have the same as its children */
|
||||||
fail_unless (ges_container_add (GES_CONTAINER (g1), c1));
|
fail_unless (ges_container_add (GES_CONTAINER (g1), audioc0));
|
||||||
|
|
||||||
num_props1 = 0;
|
num_props1 = 0;
|
||||||
child_props1 = append_children_properties (NULL, c1, &num_props1);
|
child_props1 = append_children_properties (NULL, audioc0, &num_props1);
|
||||||
num_props2 = 0;
|
num_props2 = 0;
|
||||||
child_props2 = append_children_properties (NULL, g1, &num_props2);
|
child_props2 = append_children_properties (NULL, g1, &num_props2);
|
||||||
|
|
||||||
|
/* audioc0 VS g1 */
|
||||||
assert_property_list_match (child_props1, num_props1,
|
assert_property_list_match (child_props1, num_props1,
|
||||||
child_props2, num_props2);
|
child_props2, num_props2);
|
||||||
|
|
||||||
/* add next child and gain its children properties as well */
|
/* add next child and gain its children properties as well */
|
||||||
fail_unless (ges_container_add (GES_CONTAINER (g1), c2));
|
fail_unless (ges_container_add (GES_CONTAINER (g1), videoc));
|
||||||
|
|
||||||
/* add the child properties of c2 to the existing list for c1 */
|
/* add the child properties of videoc to the existing list for audioc0 */
|
||||||
child_props1 = append_children_properties (child_props1, c2, &num_props1);
|
child_props1 = append_children_properties (child_props1, videoc, &num_props1);
|
||||||
|
|
||||||
free_children_properties (child_props2, num_props2);
|
free_children_properties (child_props2, num_props2);
|
||||||
num_props2 = 0;
|
num_props2 = 0;
|
||||||
child_props2 = append_children_properties (NULL, g1, &num_props2);
|
child_props2 = append_children_properties (NULL, g1, &num_props2);
|
||||||
|
|
||||||
|
/* audioc0+videoc VS g1 */
|
||||||
assert_property_list_match (child_props1, num_props1,
|
assert_property_list_match (child_props1, num_props1,
|
||||||
child_props2, num_props2);
|
child_props2, num_props2);
|
||||||
|
|
||||||
/* FIXME: if c1 and c3 have the same child properties (they use the
|
fail_unless (ges_container_add (GES_CONTAINER (g1), audioc1));
|
||||||
* same GParamSpec) then ges_timeline_element_add_child_property_full
|
|
||||||
* will fail, even though the corresponding GObject child is not the
|
|
||||||
* same instance */
|
|
||||||
|
|
||||||
fail_unless (ges_container_add (GES_CONTAINER (g1), c3));
|
|
||||||
|
|
||||||
/* FIXME: regarding the above comment, ideally we would append the
|
|
||||||
* children properties for c3 to child_props1, so that its children
|
|
||||||
* properties appear twice in the list:
|
|
||||||
* child_props1 =
|
|
||||||
* append_children_properties (child_props1, c3, &num_props1); */
|
|
||||||
|
|
||||||
|
child_props1 =
|
||||||
|
append_children_properties (child_props1, audioc1, &num_props1);
|
||||||
free_children_properties (child_props2, num_props2);
|
free_children_properties (child_props2, num_props2);
|
||||||
num_props2 = 0;
|
num_props2 = 0;
|
||||||
child_props2 = append_children_properties (NULL, g1, &num_props2);
|
child_props2 = append_children_properties (NULL, g1, &num_props2);
|
||||||
|
|
||||||
|
/* audioc0+videoc+audioc1 VS g1 */
|
||||||
assert_property_list_match (child_props1, num_props1,
|
assert_property_list_match (child_props1, num_props1,
|
||||||
child_props2, num_props2);
|
child_props2, num_props2);
|
||||||
|
|
||||||
/* remove c3 */
|
/* remove audioc1 */
|
||||||
fail_unless (ges_container_remove (GES_CONTAINER (g1), c3));
|
fail_unless (ges_container_remove (GES_CONTAINER (g1), audioc1));
|
||||||
|
|
||||||
/* FIXME: regarding the above comment, ideally we would reset
|
|
||||||
* child_props1 to only contain the child properties for c1 and c2
|
|
||||||
* Currently, we at least want to make sure that the child properties
|
|
||||||
* for c1 remain.
|
|
||||||
* Currently, if we removed c1 first, all its children properties would
|
|
||||||
* be removed from g1, and this would *not* automatically register the
|
|
||||||
* children properties for c3. */
|
|
||||||
|
|
||||||
free_children_properties (child_props2, num_props2);
|
|
||||||
num_props2 = 0;
|
|
||||||
child_props2 = append_children_properties (NULL, g1, &num_props2);
|
|
||||||
|
|
||||||
assert_property_list_match (child_props1, num_props1,
|
|
||||||
child_props2, num_props2);
|
|
||||||
|
|
||||||
/* remove c1 */
|
|
||||||
fail_unless (ges_container_remove (GES_CONTAINER (g1), c1));
|
|
||||||
|
|
||||||
free_children_properties (child_props1, num_props1);
|
free_children_properties (child_props1, num_props1);
|
||||||
num_props1 = 0;
|
num_props1 = 0;
|
||||||
child_props1 = append_children_properties (NULL, c2, &num_props1);
|
child_props1 = append_children_properties (NULL, audioc0, &num_props1);
|
||||||
|
child_props1 = append_children_properties (child_props1, videoc, &num_props1);
|
||||||
|
|
||||||
free_children_properties (child_props2, num_props2);
|
free_children_properties (child_props2, num_props2);
|
||||||
num_props2 = 0;
|
num_props2 = 0;
|
||||||
child_props2 = append_children_properties (NULL, g1, &num_props2);
|
child_props2 = append_children_properties (NULL, g1, &num_props2);
|
||||||
|
|
||||||
|
/* audioc0+videoc VS g1 */
|
||||||
assert_property_list_match (child_props1, num_props1,
|
assert_property_list_match (child_props1, num_props1,
|
||||||
child_props2, num_props2);
|
child_props2, num_props2);
|
||||||
|
|
||||||
/* add g1 and c1 to g2 */
|
/* remove audioc0 */
|
||||||
|
fail_unless (ges_container_remove (GES_CONTAINER (g1), audioc0));
|
||||||
|
|
||||||
|
free_children_properties (child_props1, num_props1);
|
||||||
|
num_props1 = 0;
|
||||||
|
child_props1 = append_children_properties (NULL, videoc, &num_props1);
|
||||||
|
|
||||||
|
free_children_properties (child_props2, num_props2);
|
||||||
|
num_props2 = 0;
|
||||||
|
child_props2 = append_children_properties (NULL, g1, &num_props2);
|
||||||
|
|
||||||
|
/* videoc VS g1 */
|
||||||
|
assert_property_list_match (child_props1, num_props1,
|
||||||
|
child_props2, num_props2);
|
||||||
|
|
||||||
|
/* add g1 and audioc0 to g2 */
|
||||||
fail_unless (ges_container_add (GES_CONTAINER (g2), g1));
|
fail_unless (ges_container_add (GES_CONTAINER (g2), g1));
|
||||||
fail_unless (ges_container_add (GES_CONTAINER (g2), c1));
|
fail_unless (ges_container_add (GES_CONTAINER (g2), audioc0));
|
||||||
|
|
||||||
free_children_properties (child_props1, num_props1);
|
free_children_properties (child_props1, num_props1);
|
||||||
num_props1 = 0;
|
num_props1 = 0;
|
||||||
|
@ -839,9 +831,10 @@ GST_START_TEST (test_children_properties_contain)
|
||||||
|
|
||||||
free_children_properties (child_props2, num_props2);
|
free_children_properties (child_props2, num_props2);
|
||||||
num_props2 = 0;
|
num_props2 = 0;
|
||||||
child_props2 = append_children_properties (NULL, c1, &num_props2);
|
child_props2 = append_children_properties (NULL, audioc0, &num_props2);
|
||||||
child_props2 = append_children_properties (child_props2, g1, &num_props2);
|
child_props2 = append_children_properties (child_props2, g1, &num_props2);
|
||||||
|
|
||||||
|
/* g2+audioc0 VS g2 */
|
||||||
assert_property_list_match (child_props1, num_props1,
|
assert_property_list_match (child_props1, num_props1,
|
||||||
child_props2, num_props2);
|
child_props2, num_props2);
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* GStreamer
|
/* GStreamer
|
||||||
* Copyright (C) 2023 Seungha Yang <seungha@centricular.com>
|
* Copyright (C) 2024 Tim-Philipp Müller <tim centricular net>
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Library General Public
|
* modify it under the terms of the GNU Library General Public
|
||||||
|
@ -17,29 +17,33 @@
|
||||||
* Boston, MA 02110-1301, USA.
|
* Boston, MA 02110-1301, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
cbuffer VsConstBuffer : register(b0, space1)
|
#ifdef HAVE_CONFIG_H
|
||||||
|
#include <config.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <gst/check/check.h>
|
||||||
|
|
||||||
|
#include <ges/ges.h>
|
||||||
|
|
||||||
|
/* we mostly just want to make sure that our library headers don't
|
||||||
|
* contain anything a C++ compiler might not like */
|
||||||
|
GST_START_TEST (test_nothing)
|
||||||
{
|
{
|
||||||
matrix Transform;
|
gst_init (NULL, NULL);
|
||||||
};
|
|
||||||
|
|
||||||
struct VS_INPUT
|
|
||||||
{
|
|
||||||
float4 Position : POSITION;
|
|
||||||
float2 Texture : TEXCOORD;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct VS_OUTPUT
|
|
||||||
{
|
|
||||||
float4 Position : SV_POSITION;
|
|
||||||
float2 Texture : TEXCOORD;
|
|
||||||
};
|
|
||||||
|
|
||||||
VS_OUTPUT VSMain_converter (VS_INPUT input)
|
|
||||||
{
|
|
||||||
VS_OUTPUT output;
|
|
||||||
|
|
||||||
output.Position = mul (Transform, input.Position);
|
|
||||||
output.Texture = input.Texture;
|
|
||||||
|
|
||||||
return output;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GST_END_TEST;
|
||||||
|
|
||||||
|
static Suite *
|
||||||
|
gescpp_suite (void)
|
||||||
|
{
|
||||||
|
Suite *s = suite_create ("GstGESCpp");
|
||||||
|
TCase *tc_chain = tcase_create ("C++ GES headers tests");
|
||||||
|
|
||||||
|
suite_add_tcase (s, tc_chain);
|
||||||
|
tcase_add_test (tc_chain, test_nothing);
|
||||||
|
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
GST_CHECK_MAIN (gescpp);
|
|
@ -25,6 +25,13 @@ ges_tests = [
|
||||||
['nle/tempochange']
|
['nle/tempochange']
|
||||||
]
|
]
|
||||||
|
|
||||||
|
# Make sure our headers are C++ clean
|
||||||
|
if add_languages('cpp', native: false, required: false)
|
||||||
|
ges_tests += [
|
||||||
|
[ 'gescpp.cc', false ],
|
||||||
|
]
|
||||||
|
endif
|
||||||
|
|
||||||
fsmod = import('fs')
|
fsmod = import('fs')
|
||||||
test_defines = [
|
test_defines = [
|
||||||
'-UG_DISABLE_ASSERT',
|
'-UG_DISABLE_ASSERT',
|
||||||
|
@ -50,7 +57,11 @@ endif
|
||||||
gst_plugin_scanner_path = join_paths(gst_plugin_scanner_dir, 'gst-plugin-scanner')
|
gst_plugin_scanner_path = join_paths(gst_plugin_scanner_dir, 'gst-plugin-scanner')
|
||||||
|
|
||||||
foreach t : ges_tests
|
foreach t : ges_tests
|
||||||
fname = '@0@.c'.format(t.get(0))
|
if t.get(0).endswith('.cc')
|
||||||
|
fname = t.get(0)
|
||||||
|
else
|
||||||
|
fname = '@0@.c'.format(t.get(0))
|
||||||
|
endif
|
||||||
test_name = t.get(0).underscorify()
|
test_name = t.get(0).underscorify()
|
||||||
if t.length() == 2
|
if t.length() == 2
|
||||||
skip_test = t.get(1)
|
skip_test = t.get(1)
|
||||||
|
|
|
@ -618,10 +618,10 @@ _set_rendering_details (GESLauncher * self)
|
||||||
smart_profile = TRUE;
|
smart_profile = TRUE;
|
||||||
else {
|
else {
|
||||||
opts->format = get_file_extension (opts->outputuri);
|
opts->format = get_file_extension (opts->outputuri);
|
||||||
prof = parse_encoding_profile (opts->format);
|
prof = gst_encoding_profile_from_string (opts->format);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
prof = parse_encoding_profile (opts->format);
|
prof = gst_encoding_profile_from_string (opts->format);
|
||||||
if (!prof) {
|
if (!prof) {
|
||||||
ges_printerr ("Invalid format specified: %s", opts->format);
|
ges_printerr ("Invalid format specified: %s", opts->format);
|
||||||
goto done;
|
goto done;
|
||||||
|
@ -636,7 +636,7 @@ _set_rendering_details (GESLauncher * self)
|
||||||
|
|
||||||
opts->format =
|
opts->format =
|
||||||
g_strdup ("application/ogg:video/x-theora:audio/x-vorbis");
|
g_strdup ("application/ogg:video/x-theora:audio/x-vorbis");
|
||||||
prof = parse_encoding_profile (opts->format);
|
prof = gst_encoding_profile_from_string (opts->format);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!prof) {
|
if (!prof) {
|
||||||
|
@ -649,7 +649,8 @@ _set_rendering_details (GESLauncher * self)
|
||||||
GstEncodingProfile *new_prof;
|
GstEncodingProfile *new_prof;
|
||||||
GList *tmp;
|
GList *tmp;
|
||||||
|
|
||||||
if (!(new_prof = parse_encoding_profile (opts->container_profile))) {
|
if (!(new_prof =
|
||||||
|
gst_encoding_profile_from_string (opts->container_profile))) {
|
||||||
ges_printerr ("Failed to parse container profile %s",
|
ges_printerr ("Failed to parse container profile %s",
|
||||||
opts->container_profile);
|
opts->container_profile);
|
||||||
gst_object_unref (prof);
|
gst_object_unref (prof);
|
||||||
|
@ -671,12 +672,20 @@ _set_rendering_details (GESLauncher * self)
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (tmp = (GList *)
|
/* Existing profile is a single-elementary-stream profile, put it in the
|
||||||
gst_encoding_container_profile_get_profiles
|
* new target container profile */
|
||||||
(GST_ENCODING_CONTAINER_PROFILE (prof)); tmp; tmp = tmp->next) {
|
if (!GST_IS_ENCODING_CONTAINER_PROFILE (prof)) {
|
||||||
gst_encoding_container_profile_add_profile
|
gst_encoding_container_profile_add_profile
|
||||||
(GST_ENCODING_CONTAINER_PROFILE (new_prof),
|
(GST_ENCODING_CONTAINER_PROFILE (new_prof),
|
||||||
GST_ENCODING_PROFILE (gst_encoding_profile_ref (tmp->data)));
|
GST_ENCODING_PROFILE (gst_encoding_profile_ref (prof)));
|
||||||
|
} else {
|
||||||
|
for (tmp = (GList *)
|
||||||
|
gst_encoding_container_profile_get_profiles
|
||||||
|
(GST_ENCODING_CONTAINER_PROFILE (prof)); tmp; tmp = tmp->next) {
|
||||||
|
gst_encoding_container_profile_add_profile
|
||||||
|
(GST_ENCODING_CONTAINER_PROFILE (new_prof),
|
||||||
|
GST_ENCODING_PROFILE (gst_encoding_profile_ref (tmp->data)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
gst_encoding_profile_unref (prof);
|
gst_encoding_profile_unref (prof);
|
||||||
|
@ -1562,7 +1571,7 @@ _local_command_line (GApplication * application, gchar ** arguments[],
|
||||||
|
|
||||||
if (opts->inspect_action_type) {
|
if (opts->inspect_action_type) {
|
||||||
ges_validate_print_action_types ((const gchar **) &((*arguments)[1]),
|
ges_validate_print_action_types ((const gchar **) &((*arguments)[1]),
|
||||||
argc - 1);
|
g_strv_length (*arguments) - 1);
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -183,26 +183,6 @@ ensure_uri (const gchar * location)
|
||||||
return gst_filename_to_uri (location, NULL);
|
return gst_filename_to_uri (location, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
GstEncodingProfile *
|
|
||||||
parse_encoding_profile (const gchar * format)
|
|
||||||
{
|
|
||||||
GstEncodingProfile *profile;
|
|
||||||
GValue value = G_VALUE_INIT;
|
|
||||||
|
|
||||||
g_value_init (&value, GST_TYPE_ENCODING_PROFILE);
|
|
||||||
|
|
||||||
if (!gst_value_deserialize (&value, format)) {
|
|
||||||
g_value_reset (&value);
|
|
||||||
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
profile = g_value_dup_object (&value);
|
|
||||||
g_value_reset (&value);
|
|
||||||
|
|
||||||
return profile;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
print_enum (GType enum_type)
|
print_enum (GType enum_type)
|
||||||
{
|
{
|
||||||
|
|
|
@ -58,7 +58,6 @@ typedef struct
|
||||||
gchar * sanitize_timeline_description (gchar **args, GESLauncherParsedOptions *opts);
|
gchar * sanitize_timeline_description (gchar **args, GESLauncherParsedOptions *opts);
|
||||||
gboolean get_flags_from_string (GType type, const gchar * str_flags, guint *val);
|
gboolean get_flags_from_string (GType type, const gchar * str_flags, guint *val);
|
||||||
gchar * ensure_uri (const gchar * location);
|
gchar * ensure_uri (const gchar * location);
|
||||||
GstEncodingProfile * parse_encoding_profile (const gchar * format);
|
|
||||||
void print_enum (GType enum_type);
|
void print_enum (GType enum_type);
|
||||||
|
|
||||||
void ges_print (GstDebugColorFlags c, gboolean err, gboolean nline, const gchar * format, va_list var_args);
|
void ges_print (GstDebugColorFlags c, gboolean err, gboolean nline, const gchar * format, va_list var_args);
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
project('gst-examples', 'c', version : '1.23.90', license : 'LGPL')
|
project('gst-examples', 'c', version : '1.25.0.1', license : 'LGPL')
|
||||||
|
|
||||||
static_build = get_option('default_library') == 'static'
|
static_build = get_option('default_library') == 'static'
|
||||||
cc = meson.get_compiler('c')
|
cc = meson.get_compiler('c')
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
.externalNativeBuild/
|
.externalNativeBuild/
|
||||||
assets/
|
assets/
|
||||||
gst-build-*/
|
gst-android-build/
|
||||||
src/main/java/org/freedesktop/gstreamer/GStreamer.java
|
src/main/java/org/freedesktop/gstreamer/GStreamer.java
|
||||||
src/main/java/org/freedesktop/gstreamer/androidmedia/
|
src/main/java/org/freedesktop/gstreamer/androidmedia/
|
||||||
|
|
|
@ -69,9 +69,12 @@ end_of_stream_cb (GstPlaySignalAdapter * adapter, Player * play)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
error_cb (GstPlaySignalAdapter * adapter, GError * err, Player * play)
|
error_cb (GstPlaySignalAdapter * adapter, GError * err, GstStructure * details,
|
||||||
|
Player * play)
|
||||||
{
|
{
|
||||||
gst_printerr ("ERROR %s for %s\n", err->message, play->uris[play->cur_idx]);
|
gst_printerr ("ERROR %s for %s\n", err->message, play->uris[play->cur_idx]);
|
||||||
|
if (details)
|
||||||
|
gst_printerr ("Error details: %" GST_PTR_FORMAT, details);
|
||||||
|
|
||||||
/* if looping is enabled, then disable it else will keep looping forever */
|
/* if looping is enabled, then disable it else will keep looping forever */
|
||||||
play->repeat = FALSE;
|
play->repeat = FALSE;
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue