Sebastian Dröge
27fb7d380a
Add property for enabling/disabling of RP188 receival/transmission
...
Enabling this can lead to frame drops in certain setups so enabling it
always is not ideal.
2022-12-05 12:43:51 +02:00
Sebastian Dröge
1f6ea294db
Add support for HD psf modes in ajasrc
2022-09-15 11:16:35 +03:00
Sebastian Dröge
3dbbf20451
Proxy CAPS query from ajasrcdemux source pads to ajasrc
2022-09-01 11:39:09 +03:00
Sebastian Dröge
0df1d6dad9
Allow switching the timecode index at runtime in the source element
2022-06-07 14:16:09 +03:00
Sebastian Dröge
5fa487a449
Add support for setting the embedded audio input to use in ajasrc
2022-04-08 12:07:31 +03:00
Sebastian Dröge
2bddfeac8a
Add support for writing CEA608 S334-1 Annex A Closed Captions
...
And allow configuring the line number to use for CEA708/608 captions.
2022-03-29 13:56:09 +03:00
Sebastian Dröge
e53a017ee7
Add support for extracting CEA608 S334-1 Closed Captions and add a property to select which ones to extract
2022-03-29 10:05:36 +03:00
Sebastian Dröge
eadd35363a
Workaround for sometimes setting the video format not actually changing the register values
...
Let's just try again.
2021-12-10 16:00:10 +02:00
Sebastian Dröge
0487634aa6
Don't set frame geometry and VANC mode
...
The former already does the latter.
2021-12-10 11:10:30 +02:00
Sebastian Dröge
a122044e2c
Include field-order in the caps for interlaced formats
2021-12-10 11:10:07 +02:00
Sebastian Dröge
083aa0bc86
Don't disable quad modes on ch1 if a 12G UHD mode runs there
2021-12-03 12:27:36 +02:00
Sebastian Dröge
de8e5ed9f4
Require the default input source/output destination and channel 1 or 5 for quad modes
2021-12-03 12:27:35 +02:00
Sebastian Dröge
d1c7e0e7bb
Stop autocirculate of all quad channels if a quad mode was used before
...
And also move the channel==1 || channel==5 check for enabling quad modes
to the very beginning.
2021-11-26 13:16:17 +02:00
Sebastian Dröge
9b8f452078
Overwrite the whole routing table if currently no channel is running
2021-11-23 18:05:51 +02:00
Sebastian Dröge
21b6a77140
Remove all routes from a previously configured quad layout when reconfiguring a channel
2021-11-23 18:05:51 +02:00
Sebastian Dröge
d4d8ca79cc
Directly wait again if the source is not playing anymore after reconfiguring
2021-11-22 10:22:50 +02:00
Sebastian Dröge
87303fa05f
Don't keep queue lock in the source locked while ShmMutexLocker is locked for reconfiguring
...
This can lead to a deadlock.
2021-11-22 10:22:49 +02:00
Sebastian Dröge
a23b634323
Fix mixup between VITC and ATC/LTC timecode indices in the source
2021-11-15 14:46:32 +02:00
Sebastian Dröge
a5c9cffea3
Print VPID information into the logs in the source element
2021-11-12 10:37:18 +02:00
Sebastian Dröge
484cb51445
Implement hopefully working dynamic framebuffer assignments
...
We try to allocate as many frames as were configured by looking for a
big enough range of unused contiguous frames while taking the configured
modes into account.
2021-11-10 18:05:52 +02:00
Sebastian Dröge
bfdf93ecd1
Configure fewer frames per channel by default
...
The number of frame stores / frame buffers can't be used like this as
the actual number of frames that can be used also depends on the
resolution.
If too many frames are used and the card's memory runs full, strange
problems (green frames, channels leaking into each other, etc.) will
appear.
As such, configure 8 frames for the source by default and half the queue
length for the sink. If anything else is needed, manual configuration
via the properties has to happen based on the expected workload on all
channels and the characteristics of the card in use.
2021-11-01 16:12:05 +02:00
Sebastian Dröge
e2f1953fa7
Fix compilation with gcc 11
...
../gstajacommon.cpp: In function ‘GType gst_aja_audio_meta_api_get_type()’:
/usr/include/glib-2.0/glib/gatomic.h:113:19: error: argument 2 of ‘__atomic_load’ must not be a pointer to a ‘volatile’ type
113 | __atomic_load (gapg_temp_atomic, &gapg_temp_newval, __ATOMIC_SEQ_CST); \
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/glib-2.0/glib/gthread.h:260:7: note: in expansion of macro ‘g_atomic_pointer_get’
260 | (!g_atomic_pointer_get (location) && \
| ^~~~~~~~~~~~~~~~~~~~
../gstajacommon.cpp:398:7: note: in expansion of macro ‘g_once_init_enter’
398 | if (g_once_init_enter(&type)) {
| ^~~~~~~~~~~~~~~~~
2021-10-12 19:56:31 +03:00
Sebastian Dröge
50d90f6dca
Allocate more frame buffers for quad modes
2021-10-12 19:52:06 +03:00
Sebastian Dröge
a2d4058c4b
Report no signal if not all quadrants have the same format in quad-link mode
2021-09-27 10:12:19 +03:00
Sebastian Dröge
569aad78b7
Improve debug output for the currently detected video format
2021-09-27 10:10:39 +03:00
Sebastian Dröge
22c0b9ed41
Disable channel when exiting from the capture/output thread
2021-08-27 15:13:44 +03:00
Sebastian Dröge
d61b415230
Add properties for selecting capture/output frame buffers to use
...
And calculate them automatically be default based on the number of frame
buffers available and the number of channels.
This works around various bugs in the AJA SDK when selecting these
manually.
See AJA support ticket #5056 .
2021-08-27 15:04:30 +03:00
Sebastian Dröge
a2b30015c7
Add AJA device provider
2021-08-27 14:42:13 +03:00
Sebastian Dröge
86f7633adb
Fix support for 1080p5000 mode
2021-08-23 11:58:47 +03:00
Sebastian Dröge
5a79150aa3
Output per-frame debug logs only at TRACE level
2021-08-20 13:48:04 +03:00
Sebastian Dröge
e3e1d09469
Print captured timecodes to the debug log
2021-08-20 13:44:47 +03:00
Sebastian Dröge
0b3c585bea
Enable LTC capture if requested
2021-08-20 13:44:35 +03:00
Sebastian Dröge
b3f5169d55
Intersect caps with configured mode if not auto in ajasrc get_caps() to provide more constrained caps
2021-08-20 12:03:24 +03:00
Sebastian Dröge
420a90b00b
Add NTSC/PAL widescreen formats always to the template caps
2021-08-20 11:58:32 +03:00
Sebastian Dröge
3d40e2f547
Don't include chroma-site and colorimetry in generic template caps
2021-08-20 11:57:14 +03:00
Sebastian Dröge
8e75c37ce4
Add signal property to ajasrc to allow checking/notify about signal availability at any time
2021-08-18 18:21:07 +03:00
Sebastian Dröge
0c2a255963
Register GstAjaTimecodeIndex correctly
2021-08-18 14:08:29 +03:00
Sebastian Dröge
57a2768cf6
Change default ajasrc video format to AUTO
2021-08-18 12:37:08 +03:00
Sebastian Dröge
d03f733bba
Implement auto mode detection in ajasrc
...
This also allows switching modes while running.
2021-08-18 12:33:52 +03:00
Sebastian Dröge
02519523df
Only report signal recovery after actually capturing a frame
2021-08-18 12:22:57 +03:00
Sebastian Dröge
08308c28a2
Include detected video format in warning message if it is different from the configured one
2021-08-18 11:36:24 +03:00
Sebastian Dröge
4d95164c0c
In quad mode, stop autocirculate on the other channels before starting
...
It might theoretically be running from single link mode from a previous
run that was not cleaned up properly.
2021-08-18 10:50:15 +03:00
Sebastian Dröge
e116719597
Report signal loss if the expected mode is reported but no frame was captured for more than 32 iterations
2021-08-18 10:18:53 +03:00
Sebastian Dröge
83eb812f06
Wait for vsync after reporting signal loss
2021-08-18 10:16:19 +03:00
Sebastian Dröge
fe13e5f211
Add support for AFD/Bar VANC in the source element and widescreen NTSC/PAL
2021-07-07 12:28:38 +03:00
Sebastian Dröge
99c86891a4
Read colorimetry information from VPID and create caps from detected input format
...
This does not implement automatic mode selection yet, for which it is
necessary to change the routing at runtime based on the detected
format. It is a first step into that direction though.
2021-07-07 10:36:55 +03:00
Sebastian Dröge
86920489f8
Add support for 2/4/8k DCI modes
2021-07-06 15:23:17 +03:00
Sebastian Dröge
735768b905
Add support for UHD/UHD2 modes and SDI quad-link modes
2021-07-06 15:23:17 +03:00
Sebastian Dröge
fa5385bc8e
ajasrc: Set output buffer duration based on the framerate as an estimate
2021-07-06 11:47:42 +03:00
Sebastian Dröge
8075fe577c
Streamline VANC/geometry/standard configuration between source and sink
...
This shouldn't have any effect but makes the configuration the same on
both sides.
2021-03-05 21:50:22 +02:00