Support and General Use > Plugins/Viewers

mpegplayer plugin doesn't work properly on my sansa clip zip

(1/1)

jsr_278:
Hi, I have noticed that with the dev build of rockbox, mpegplayer doesn't play videos properly on my sansa clip zip. The sound plays fine but the video freezes at the begining. However, videos play fine with the build 4d01168b9b-220603 and rockbox 3.15.

jsr_278:
Recently, I was able to compile rockbox following the LinuxSimpleGuideToCompiling tutorial. And I decided to test differents revisions of rockbox from git.rockbox.org. to find in which one the problem started. And I found it, it was this commit:

2022-11-14   Remove some shadowed variables identified by -Wshadow
https://git.rockbox.org/cgit/rockbox.git/commit/?id=034b6d5bfb5bdedaf843079a02ff6df31488f394

The bug is in the file "firmware/drivers/lcd-color-common.c" in the function:

void lcd_blit_yuv(unsigned char * const src[3],
                  int src_x, int src_y, int stride,
                  int x, int y, int width, int height)

In the previous version of this file, inside this function there are two vars with the name "y" that are used for different porpouses. The first "y" is a parameter of the function "lcd_blit_yuv" and the other one is defined inside two do{ }while blocks. I think the first "y" represents a coordinate and the other "y" stands for "luma" and is used during the YUV->RGB conversion. And because de second "y" was defined inside the do{}while blocks it didn't overwrite the first one. But now, the second "y" is not declarated inside the do{}while blocks and the parameter "y" is overwrited during YUY->RGB conversion. A quick fix could be adding again "int y;" inside the do{}while blocks which I know it works. Or maybe the second "y" should be renamed.

I know this bug affects clip zip and fuze+ but somehow it doesn't affect fuze v1. Here, I have uploaded a video for the fuze+ and another for the clip zip that can be used for testing. It contains the same movie that appears in the PluginMpegplayer wiki but with the proper resolution for these players.

speachy:

--- Quote from: jsr_278 on November 21, 2023, 04:11:22 PM ---Recently, I was able to compile rockbox following the LinuxSimpleGuideToCompiling tutorial. And I decided to test differents revisions of rockbox from git.rockbox.org. to find in which one the problem started. And I found it, it was this commit:

--- End quote ---

Wow, good catch!   And this bug was only introduced a year ago.  :)

I committed a fix a few minuets ago, if you'd like to do a new build and confirm it's properly resolved.  Current binary dev build has the fix, though nightlies won't pick this up until tomorrow.

jsr_278:
The fix works perfectly. Thank you very much!!!

Navigation

[0] Message Index

Go to full version