1
0
Fork 0
forked from len0rd/rockbox

MPEGPlayer: Fix leakage of file decriptors if file wasn't accepted by playback engine-- code is now getting tested that couldn't be before. Also reset parser in stream init when it doesn't like the file.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28853 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Michael Sevakis 2010-12-19 02:11:35 +00:00
parent b985b4c54b
commit 6b1fcc67c2
2 changed files with 6 additions and 3 deletions

View file

@ -1144,6 +1144,7 @@ int parser_init_stream(void)
if (!init_video_info())
{
/* Cannot determine video size, etc. */
parser_init_state();
return STREAM_UNSUPPORTED;
}
@ -1157,6 +1158,7 @@ int parser_init_stream(void)
if (video_str.start_pts == INVALID_TIMESTAMP)
{
/* Must have video at least */
parser_init_state();
return STREAM_UNSUPPORTED;
}

View file

@ -592,7 +592,7 @@ static int stream_on_close(void)
stream_mgr_lock();
/* Any open file? */
/* Any open file that was accepted for playback? */
if (stream_mgr.filename != NULL)
{
/* Yes - hide video */
@ -602,12 +602,13 @@ static int stream_on_close(void)
stream_on_stop(false);
/* Tell parser file is finished */
parser_close_stream();
/* Close file */
disk_buf_close();
/* Reinitialize manager */
stream_mgr_init_state();
}
/* Let disk buffer reset itself - file might be open even if no good */
disk_buf_close();
stream_mgr_unlock();
return status;