input: improved buffering accuracy and no rebuffering on ignored
authorDavid Robison <drrobison@openroadsconsulting.com>
Sat, 12 Oct 2013 10:59:53 +0000 (13:59 +0300)
committerRémi Denis-Courmont <remi@remlab.net>
Sat, 12 Oct 2013 11:00:45 +0000 (14:00 +0300)
commitc3bd897e586d906d631a1cdc51232f76ff1ca1fe
tree9a66f111fc6669b0169b41acc99f38f6ddf65bf8
parent407651b13cdd23027b53f56ed9aea6e0c5132e9d
input: improved buffering accuracy and no rebuffering on ignored

To test this change, I used a MiniMaxwell which allows me to introduce
jitter, delay, and packet re-ordering in the video stream. I ran for
over 12 hours with no effect on the video and no increase in buffer
size. I'm reattaching the final patch here. I've made 2 basic changes
to the buffering strategy:

1) I now check to see if I and done buffering on both the
ES_OUT_SET_PCR and ES_OUT_SET_GROUP_PCR calls. This causes the buffered
amount to be checked more frequently and prevents over buffering which
I have seen in some instances
2) When ignoring the jitter, I do not flush the buffer and rebuffer,
since I am not increasing the buffer size anyway. Instead I just reset
the PCR and continue on.

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
src/input/es_out.c