Jump to content
Sign in to follow this  
rickca

ASIO Exclusive Control

Rate this topic

Recommended Posts

I use my iFi micro iDSD and its ASIO driver for both listening to music (Qobuz) and watching news videos (CNN).

 

I understand exclusive control, but what I've noticed is if I stop (but not close) Qobuz and try to watch a CNN video, the video will not play.  Of course, I didn't expect sound from the CNN video but it surprised me that the video itself will not play until I close Qobuz to release the ASIO device.

 

Can someone explain why this would affect video?  I use an Nvidia GTX 1060 for my display connected with DisplayPort.

Share this post


Link to post
Share on other sites

Usually video playback is implemented with sync-on-audio. So the video frames are clocked based on audio samples played out to keep lip-sync. This is also why video usually uses 48k-base sampling rates to make it simpler. So for 30 fps video with 48k audio, frame is put out every 1600 audio samples (48000 / 30 = 1600).

 

Share this post


Link to post
Share on other sites

It is nitpicking and slightly offtopic but most of 30fps video's exact frame rate is actually 30 / 1.001 frames per second and

video frame rate : 48kHz audio sample rate = 48000 : 30000/1001

Share this post


Link to post
Share on other sites
1 hour ago, yamamoto2002 said:

It is nitpicking and slightly offtopic but most of 30fps video's exact frame rate is actually 30 / 1.001 frames per second and

video frame rate : 48kHz audio sample rate = 48000 : 30000/1001

 

Software players (computers, mobile phone OS etc) I've dealt with so far run video playback with sync-on-audio and audio runs off 24.576 MHz MCLK oscillator (or 49.152 MHz). This is due to audio and video clocks being independent and not synchronized. Of course on video we have various different frame rates, 24, 25, 30, 50, 60 fps while displays run at static refresh rate (60 Hz for example).

 

On HDMI though, the audio clock is divided from the video pixel clock which in turn depends on the video resolution, and the data isles reserved for audio are dependent on the video resolution too. So possible audio resolutions depend on video resolutions. This also means that you cannot send only audio over HDMI, so audio-only HDMI interfaces transmit black video frames. Due to the relatively poor video clock generators and fractional clock conversion for audio, HDMI has totally horrible audio clock jitter performance. But thus, on HDMI the clocks are synchronized and audio is clocked by video.

 

Share this post


Link to post
Share on other sites
20 hours ago, Miska said:

 

Software players (computers, mobile phone OS etc) I've dealt with so far run video playback with sync-on-audio and audio runs off 24.576 MHz MCLK oscillator (or 49.152 MHz). This is due to audio and video clocks being independent and not synchronized. Of course on video we have various different frame rates, 24, 25, 30, 50, 60 fps while displays run at static refresh rate (60 Hz for example).

 

On HDMI though, the audio clock is divided from the video pixel clock which in turn depends on the video resolution, and the data isles reserved for audio are dependent on the video resolution too. So possible audio resolutions depend on video resolutions. This also means that you cannot send only audio over HDMI, so audio-only HDMI interfaces transmit black video frames. Due to the relatively poor video clock generators and fractional clock conversion for audio, HDMI has totally horrible audio clock jitter performance. But thus, on HDMI the clocks are synchronized and audio is clocked by video.

 

 

I agree about software players runs with sync-on-audio and HDMI audio clocking is bad.

 

Most video camera outputs 29.97Hz or 59.94Hz video and 48kHz audio.

 

Some display devices accepts 29.97Hz, 59.94Hz, 30.00Hz and 60.00Hz refresh rate.

Other display devices (TV set) only support 29.97Hz or 59.94Hz refresh rate.

 

It seems graphics adapter HDMI output supports both refresh rate.

 

When 30Hz is selected on video refresh rate settings, audio sample count accompanying each video frame is as follows:

  1600 1600 1600 1600 1600 1600 1600 1600 1600 1600

  1600 1600 1600 1600 1600 1600 1600 1600 1600 1600

  1600 1600 1600 1600 1600 1600 1600 1600 1600 1600

30 frames of video and 48000 audio samples is delivered in 1 second.

 

When 29Hz (it is actually 30000/1001Hz) is selected on video refresh rate settings, audio sample count accompanying each video frame is as follows:

  1601 1602 1602 1601 1602 1601 1602 1602 1601 1602

  1601 1602 1602 1601 1602 1601 1602 1602 1601 1602

  1601 1602 1602 1601 1602 1601 1602 1602 1601 1602

 

30 frames of video and 48048 (== 48000 * 1001 / 1000) audio samples is delivered in 1.001 second.

 

 

MRateSelect.thumb.png.45c3fee5234b25395309400d3114bfaf.png

 

Share this post


Link to post
Share on other sites
56 minutes ago, yamamoto2002 said:

When 29Hz (it is actually 30000/1001Hz) is selected on video refresh rate settings, audio sample count accompanying each video frame is as follows:

  1601 1602 1602 1601 1602 1601 1602 1602 1601 1602

  1601 1602 1602 1601 1602 1601 1602 1602 1601 1602

  1601 1602 1602 1601 1602 1601 1602 1602 1601 1602

 

30 frames of video and 48048 (== 48000 * 1001 / 1000) audio samples is delivered in 1.001 second.

 

Only that practically all audio APIs have fixed buffer size and you need to deliver the same number of audio frames per DMA interrupt every time... So you have a problem here.

 

After checking the frame rates, 24 fps is really actually exactly 24 fps, only for display in US, Japan and other countries that use old TV systems it slowed down to 23.976 fps. Those fractional ones are ancient remnant from analog CRT TV times. 50p, 60p, 100p and 120p are really actually also exact ones. There's additional 119.88p separately.

 

56 minutes ago, yamamoto2002 said:

Most video camera outputs 29.97Hz or 59.94Hz video and 48kHz audio.

 

I think my GoPro's and mobile phones put out exactly 30 or 60 fps with 48k audio... At least that's what we used to do when we were developing video recordin and call applications for mobile phones. Although for video calls audio sample rate was usually 8 kHz, 16 kHz or 32 kHz.

 

Share this post


Link to post
Share on other sites
9 hours ago, Miska said:

After checking the frame rates, 24 fps is really actually exactly 24 fps, only for display in US, Japan and other countries that use old TV systems it slowed down to 23.976 fps. Those fractional ones are ancient remnant from analog CRT TV times. 50p, 60p, 100p and 120p are really actually also exact ones. There's additional 119.88p separately.

 

Yes. And original poster mentioned about CNN, it is most probably 29.97Hz or 59.94Hz video stream (it may be wrong)

 

BTW Japan TV broadcast system still only supports 29.97Hz and 59.94Hz

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×