gecko-dev/media/liboggplay/bug481921.patch

33 строки
1.2 KiB
Diff

diff --git a/media/liboggplay/src/liboggplay/oggplay_callback_info.c b/media/liboggplay/src/liboggplay/oggplay_callback_info.c
--- a/media/liboggplay/src/liboggplay/oggplay_callback_info.c
+++ b/media/liboggplay/src/liboggplay/oggplay_callback_info.c
@@ -133,21 +133,23 @@ oggplay_callback_info_prepare(OggPlay *m
track_info->available_records = count;
track_info->required_records = 0;
track_info->data_type = track->decoded_type;
count = 0;
for (p = q; p != NULL; p = p->next) {
- track_info->records[count++] = p;
- if (p->presentation_time <= me->target + track->offset) {
- track_info->required_records++;
- p->has_been_presented = 1;
- //lpt = p->presentation_time;
+ if (!p->has_been_presented) {
+ track_info->records[count++] = p;
+ if (p->presentation_time <= me->target + track->offset) {
+ track_info->required_records++;
+ p->has_been_presented = 1;
+ //lpt = p->presentation_time;
+ }
}
}
if (track_info->required_records > 0) {
/*
* if the StreamState is FIRST_DATA then update it to INITIALISED,
* as we've marked the first data instance
*/