Opened 2 years ago
Closed 2 years ago
Proposed pulseaudio latency calculation fixes (fixes warning for unsigned int value)
|Reported by:||Gary Buhrmaster <gary.buhrmaster@…>||Owned by:||jyavenard|
|Component:||MythTV - Audio Output||Version:||Master Head|
In audiooutputpulse.cpp, clang reports a warning (comparison of unsigned expression < 0 is always false) for the following code fragment:
if (latency < 0)
latency is defined as:
pa_usec_t latency = (pa_usec_t) -1;
which, since pa_usec_t is an unsigned variable, actually sets latency to be the max value, and as the warning indicates, as an unsigned variable the comparison will always be false.
I am not at all familiar with the PulseAudio? API, but it seems that one should check for the value being returned from get_latency being negative via the negative return int, and act accordingly if one wants to change a negative value to zero.
I think that it is possible with the current code for a latency value which should be interpreted as negative to be interpreted as positive, resulting in some confusion elsewhere.
I have provided a proposed patch, but the SME for this code needs to review it carefully to insure the patch would be an improvement. Since I do not currently use PulseAudio?, I am not sure when I could test these changes.
Change History (4)
Changed 2 years ago by Gary Buhrmaster <gary.buhrmaster@…>
comment:1 Changed 2 years ago by stuartm
- Component changed from MythTV - General to MythTV - Audio Output
- Milestone changed from unknown to 0.25
- Owner set to jyavenard
- Version changed from Unspecified to Master Head
comment:2 Changed 2 years ago by jyavenard
comment:3 Changed 2 years ago by jyavenard
- Resolution set to Fixed
- Status changed from new to closed