[META] ensure reported streamInfo->input/ouputLatency values are correct
This is a meta ticket for specific host API issues
Close when these are all closed: #205, #206 (see Resolution criteria below)
See:
#95 PA/CoreAudio reported streamInfo->input/ouputLatency may not take driver latency into account
#160 PA/DirectSound streamInfo->input/outputLatency don't include all known latencies
#178 PA/WMME doesn't report correct streamInfo->input/outputLatency
Other implementation's source code should be reviewed for correctness and the loopback test results should be reviewed for each host API to assess conformance.
See also: BufferingLatencyAndTimingImplementationGuidelines
Especially:
BufferingLatencyAndTimingImplementationGuidelines#Asymmetryindefinitionofoutputandinputlatency
=== QA notes ===
The relationship between suggestedLatency and streamInfo->input/ouputLatency can be graphed using the combined C/Python test:
The loopback test can be used to compare reported streamInfo latency with the actual loopback latency.
=== Resolution criteria ===
This ticket will be closed when the following three conditions are met:
1. The code that computes the stream info input/output latency values has been reviewed for hygene (fixmes, comments, other source level indications of problems), conformance to our algorithm, and the sources of latency that are taken into account in each case are noted. Covered by review ticket #205.
2. The results of patest_suggested_vs_streaminfo_latency should indicate output latencies increasing with suggested latency, and input latencies being mainly a function of framesPerBuffer plus a constant. Reported output latency values are monotonically increasing with increasing latency. Covered by review ticket #205.
3. The reported stream latencies and those reported by the loopback test are correlated, and any discrepancies are acounted for. Covered by ticket #206
Close when these are all closed: #205, #206 (see Resolution criteria below)
See:
#95 PA/CoreAudio reported streamInfo->input/ouputLatency may not take driver latency into account
#160 PA/DirectSound streamInfo->input/outputLatency don't include all known latencies
#178 PA/WMME doesn't report correct streamInfo->input/outputLatency
Other implementation's source code should be reviewed for correctness and the loopback test results should be reviewed for each host API to assess conformance.
See also: BufferingLatencyAndTimingImplementationGuidelines
Especially:
BufferingLatencyAndTimingImplementationGuidelines#Asymmetryindefinitionofoutputandinputlatency
=== QA notes ===
The relationship between suggestedLatency and streamInfo->input/ouputLatency can be graphed using the combined C/Python test:
test/patest_suggested_vs_streaminfo_latency.c
test/patest_suggested_vs_streaminfo_latency.py
The loopback test can be used to compare reported streamInfo latency with the actual loopback latency.
=== Resolution criteria ===
This ticket will be closed when the following three conditions are met:
1. The code that computes the stream info input/output latency values has been reviewed for hygene (fixmes, comments, other source level indications of problems), conformance to our algorithm, and the sources of latency that are taken into account in each case are noted. Covered by review ticket #205.
2. The results of patest_suggested_vs_streaminfo_latency should indicate output latencies increasing with suggested latency, and input latencies being mainly a function of framesPerBuffer plus a constant. Reported output latency values are monotonically increasing with increasing latency. Covered by review ticket #205.
3. The reported stream latencies and those reported by the loopback test are correlated, and any discrepancies are acounted for. Covered by ticket #206
Leave a comment