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
@ -768,6 +768,7 @@ public:
|
|||||||
gboolean no_signal = FALSE;
|
gboolean no_signal = FALSE;
|
||||||
GstClock *clock = NULL;
|
GstClock *clock = NULL;
|
||||||
HRESULT res;
|
HRESULT res;
|
||||||
|
BMDTimeValue stream_time = GST_CLOCK_TIME_NONE;
|
||||||
|
|
||||||
g_mutex_lock (&m_input->lock);
|
g_mutex_lock (&m_input->lock);
|
||||||
if (m_input->videosrc) {
|
if (m_input->videosrc) {
|
||||||
@ -806,7 +807,6 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (got_video_frame && videosrc && video_frame) {
|
if (got_video_frame && videosrc && video_frame) {
|
||||||
BMDTimeValue stream_time = GST_CLOCK_TIME_NONE;
|
|
||||||
BMDTimeValue stream_duration = GST_CLOCK_TIME_NONE;
|
BMDTimeValue stream_duration = GST_CLOCK_TIME_NONE;
|
||||||
IDeckLinkTimecode *dtc = 0;
|
IDeckLinkTimecode *dtc = 0;
|
||||||
|
|
||||||
@ -839,15 +839,8 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (got_audio_packet && audiosrc && audio_packet) {
|
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,
|
m_input->got_audio_packet (audiosrc, audio_packet, capture_time,
|
||||||
packet_time, no_signal);
|
stream_time, no_signal);
|
||||||
} else {
|
} else {
|
||||||
if (!audio_packet)
|
if (!audio_packet)
|
||||||
GST_DEBUG ("Received no audio packet at %" GST_TIME_FORMAT,
|
GST_DEBUG ("Received no audio packet at %" GST_TIME_FORMAT,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user