mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-23 10:11:08 +00:00
decklink: Always use the video stream time for audio too
The audio packet times can be completely unrelated to the video stream time, depending on the card. While this looks like a bug in the driver, just always using the video stream time (which is correct) works as a workaround for now.
This commit is contained in:
parent
f6929ed1ed
commit
28a16b5e94
1 changed files with 2 additions and 9 deletions
|
@ -768,6 +768,7 @@ public:
|
|||
gboolean no_signal = FALSE;
|
||||
GstClock *clock = NULL;
|
||||
HRESULT res;
|
||||
BMDTimeValue stream_time = GST_CLOCK_TIME_NONE;
|
||||
|
||||
g_mutex_lock (&m_input->lock);
|
||||
if (m_input->videosrc) {
|
||||
|
@ -806,7 +807,6 @@ public:
|
|||
}
|
||||
|
||||
if (got_video_frame && videosrc && video_frame) {
|
||||
BMDTimeValue stream_time = GST_CLOCK_TIME_NONE;
|
||||
BMDTimeValue stream_duration = GST_CLOCK_TIME_NONE;
|
||||
IDeckLinkTimecode *dtc = 0;
|
||||
|
||||
|
@ -839,15 +839,8 @@ public:
|
|||
}
|
||||
|
||||
if (got_audio_packet && audiosrc && audio_packet) {
|
||||
BMDTimeValue packet_time = GST_CLOCK_TIME_NONE;
|
||||
|
||||
res = audio_packet->GetPacketTime (&packet_time, GST_SECOND);
|
||||
if (res != S_OK) {
|
||||
GST_ERROR ("Failed to get stream time: 0x%08x", res);
|
||||
packet_time = GST_CLOCK_TIME_NONE;
|
||||
}
|
||||
m_input->got_audio_packet (audiosrc, audio_packet, capture_time,
|
||||
packet_time, no_signal);
|
||||
stream_time, no_signal);
|
||||
} else {
|
||||
if (!audio_packet)
|
||||
GST_DEBUG ("Received no audio packet at %" GST_TIME_FORMAT,
|
||||
|
|
Loading…
Reference in a new issue