AV sync Audio delay slider precision
Posted: 21 Jan 2018 01:04
Hi, Hope this hasn't been covered. I searched and found nothing.
I regularly use the VLC app to watch movies where the audio and video are slightly out of sync. The video is usually half a second before the audio, but it varies. If it's wrong by about 0.1 seconds, it's just about noticeable. If it's wrong by more than 0.2 seconds, it's quite distracting.
The slider to correct this can be found by tapping the "clock" icon, then adjusting the "Audio delay" slider. What a useful feature!
The issue is that this slider ranges from -30 to +30 seconds. It's only about 2 inches long! That's less than 1mm per second! Imagine trying to adjust down to 0.3-second accuracy. It's near impossible to be precise down to 0.2 seconds with that resolution. However, since the value is changed and shown in real-time in the top right corner, it's possible to get the right value eventually. So I can adjust until it reads"-0.56" (the value I most often need) then let go.
However, what makes the interface basically unusable, is that when I release my finger, the value jumps. I'll try it now, each time, setting it to "-0.56" then releasing. I get: "-1.01", "-1.12", "-1.01". It often seems to jump by about 0.5 seconds. I often spend minutes just trying to get the right value. And since I'm not actually aiming for a specific value - I'm aiming to get the audio and video to match up - I need the movie playing while I'm adjusting. So the result is that a minute or two is spoilt trying to get the audio right, and I have to skip back to watch it properly. You might think I've just got fat fingers or something. I insist I don't, but if you don't believe me, try it for yourself. Try setting it to any specific number. It's hard.
I would suggest decreasing the range of this slider so that more precise adjustment can be done. Say -5 to +5. I understand that a video might be +30 or -30 out of sync with its audio, but if I were watching a video that was, say, 20s out of sync, I would face the same problem outlined above getting perfect (non-distracting) synchronisation. Therefore, the ability to adjust to +/-30 is useless.
Hunting through the code this could be done by changing the values in "VLCMovieViewController~iphone.xib" line 257:
I think the control could also be made wider by changing the next line which could allow a wider range to be used whilst still being precise.
I think there could also be some kind of bug, such that the value jumps when the user releases the screen. There is a small gap in time between the finger releasing and the value jumping, which suggests to me that another event it firing and doing something. No luck finding this though. It could just be an artefact of trying to get such precision from the slider.
Another option might be to use a different kind of control, for example, a roller, like the timer in the "Clock" app. One side of the roller would adjust seconds, the other side would adjust tenths of seconds. This would allow precise adjustment with a large range.
Otherwise a very useful app.
I regularly use the VLC app to watch movies where the audio and video are slightly out of sync. The video is usually half a second before the audio, but it varies. If it's wrong by about 0.1 seconds, it's just about noticeable. If it's wrong by more than 0.2 seconds, it's quite distracting.
The slider to correct this can be found by tapping the "clock" icon, then adjusting the "Audio delay" slider. What a useful feature!
The issue is that this slider ranges from -30 to +30 seconds. It's only about 2 inches long! That's less than 1mm per second! Imagine trying to adjust down to 0.3-second accuracy. It's near impossible to be precise down to 0.2 seconds with that resolution. However, since the value is changed and shown in real-time in the top right corner, it's possible to get the right value eventually. So I can adjust until it reads"-0.56" (the value I most often need) then let go.
However, what makes the interface basically unusable, is that when I release my finger, the value jumps. I'll try it now, each time, setting it to "-0.56" then releasing. I get: "-1.01", "-1.12", "-1.01". It often seems to jump by about 0.5 seconds. I often spend minutes just trying to get the right value. And since I'm not actually aiming for a specific value - I'm aiming to get the audio and video to match up - I need the movie playing while I'm adjusting. So the result is that a minute or two is spoilt trying to get the audio right, and I have to skip back to watch it properly. You might think I've just got fat fingers or something. I insist I don't, but if you don't believe me, try it for yourself. Try setting it to any specific number. It's hard.
I would suggest decreasing the range of this slider so that more precise adjustment can be done. Say -5 to +5. I understand that a video might be +30 or -30 out of sync with its audio, but if I were watching a video that was, say, 20s out of sync, I would face the same problem outlined above getting perfect (non-distracting) synchronisation. Therefore, the ability to adjust to +/-30 is useless.
Hunting through the code this could be done by changing the values in "VLCMovieViewController~iphone.xib" line 257:
Code: Select all
<slider opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" minValue="-5" maxValue="5" id="oQe-Uu-1HY" customClass="VLCResettingSlider">
I think there could also be some kind of bug, such that the value jumps when the user releases the screen. There is a small gap in time between the finger releasing and the value jumping, which suggests to me that another event it firing and doing something. No luck finding this though. It could just be an artefact of trying to get such precision from the slider.
Another option might be to use a different kind of control, for example, a roller, like the timer in the "Clock" app. One side of the roller would adjust seconds, the other side would adjust tenths of seconds. This would allow precise adjustment with a large range.
Otherwise a very useful app.