mirror of
https://repo.dec05eba.com/gpu-screen-recorder
synced 2026-03-31 09:07:13 +09:00
Better audio timing test: compensate for audio server latency
This commit is contained in:
5
TODO
5
TODO
@@ -113,4 +113,7 @@ Modify ffmpeg to accept opengl texture for nvenc encoding. Removes extra buffers
|
||||
|
||||
When vulkan encode is added, mention minimum nvidia driver required. (550.54.14?).
|
||||
|
||||
Support drm plane rotation. Neither X11 nor any Wayland compositor currently rotates drm planes so this might not be needed.
|
||||
Support drm plane rotation. Neither X11 nor any Wayland compositor currently rotates drm planes so this might not be needed.
|
||||
|
||||
Investigate if there is a way to do gpu->gpu copy directly without touching system ram to enable video encoding on a different gpu. On nvidia this is possible with cudaMemcpyPeer, but how about from an intel/amd gpu to an nvidia gpu or the other way around or any combination of iGPU and dedicated GPU?
|
||||
Maybe something with clEnqueueMigrateMemObjects? on AMD something with DirectGMA maybe?
|
||||
|
||||
@@ -2388,6 +2388,10 @@ int main(int argc, char **argv) {
|
||||
double received_audio_time = clock_get_monotonic_seconds();
|
||||
const int64_t timeout_ms = std::round((1000.0 / (double)audio_track.codec_context->sample_rate) * 1000.0);
|
||||
|
||||
// Move audio back by around 252 ms. This is just a shitty way to handle audio latency but pulseaudio latency calculation
|
||||
// returns much lower value which isn't helpful.
|
||||
audio_device.frame->pts = audio_track.codec_context->frame_size * 12;
|
||||
|
||||
while(running) {
|
||||
void *sound_buffer;
|
||||
int sound_buffer_size = -1;
|
||||
|
||||
Reference in New Issue
Block a user