summaryrefslogtreecommitdiff
path: root/apps/plugins/mpegplayer/stream_mgr.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/mpegplayer/stream_mgr.c')
-rw-r--r--apps/plugins/mpegplayer/stream_mgr.c38
1 files changed, 22 insertions, 16 deletions
diff --git a/apps/plugins/mpegplayer/stream_mgr.c b/apps/plugins/mpegplayer/stream_mgr.c
index 1baa2032ec..8d2e42f62b 100644
--- a/apps/plugins/mpegplayer/stream_mgr.c
+++ b/apps/plugins/mpegplayer/stream_mgr.c
@@ -319,6 +319,9 @@ static uint32_t stream_seek_intl(uint32_t time, int whence, int status)
319 /* Set the master clock */ 319 /* Set the master clock */
320 set_stream_clock(time); 320 set_stream_clock(time);
321 321
322 /* Make sure streams are back in active pool */
323 move_strl_to_actl();
324
322 /* Prepare the parser and associated streams */ 325 /* Prepare the parser and associated streams */
323 parser_prepare_streaming(); 326 parser_prepare_streaming();
324 327
@@ -489,6 +492,9 @@ static void stream_on_resume(void)
489 /* Set the master clock */ 492 /* Set the master clock */
490 set_stream_clock(str_parser.last_seek_time); 493 set_stream_clock(str_parser.last_seek_time);
491 494
495 /* Make sure streams are back in active pool */
496 move_strl_to_actl();
497
492 /* Prepare the parser and associated streams */ 498 /* Prepare the parser and associated streams */
493 parser_prepare_streaming(); 499 parser_prepare_streaming();
494 } 500 }
@@ -582,29 +588,29 @@ static void stream_on_seek(struct stream_seek_data *skd)
582 588
583 stream_mgr_lock(); 589 stream_mgr_lock();
584 590
585 if (!stream_can_seek()) 591 if (stream_can_seek())
586 {
587 }
588 else if (stream_mgr.status != STREAM_STOPPED)
589 { 592 {
590 if (stream_mgr.status != STREAM_PLAYING) 593 if (stream_mgr.status != STREAM_STOPPED)
591 { 594 {
592 trigger_cpu_boost(); 595 if (stream_mgr.status != STREAM_PLAYING)
593 } 596 {
597 trigger_cpu_boost();
598 }
594 599
595 stream_seek_intl(time, whence, stream_mgr.status); 600 stream_seek_intl(time, whence, stream_mgr.status);
596 601
597 if (stream_mgr.status != STREAM_PLAYING) 602 if (stream_mgr.status != STREAM_PLAYING)
603 {
604 cancel_cpu_boost();
605 }
606 }
607 else
598 { 608 {
599 cancel_cpu_boost(); 609 stream_mgr.seeked = true;
610 time = time_from_whence(time, whence);
611 parser_seek_time(time);
600 } 612 }
601 } 613 }
602 else
603 {
604 stream_mgr.seeked = true;
605 time = time_from_whence(time, whence);
606 parser_seek_time(time);
607 }
608 614
609 stream_mgr_unlock(); 615 stream_mgr_unlock();
610 return; 616 return;