OESF Portables Forum

Everything Else => Sharp Zaurus => Model Specific Forums => Distros, Development, and Model Specific Forums => Archived Forums => Cxx0 General discussions => Topic started by: jeevandras on September 28, 2006, 12:47:31 pm

Title: Media Player
Post by: jeevandras on September 28, 2006, 12:47:31 pm
Hi,
Still trying to figure out this Zaurus of mine.
I was hoping to get a suitable media player running on my Z.
I have Opie and it comes with opiemediaplayer2. It works fine with mp3 files but just crashes with .avi files running divx. I have tried reducing the resolution of my .avi file and yet still crashes.

When i run the opiemediaplayer2 on the terminal, the output i get last is

All resize done
Hoehm: 160925 <-> 30
Killed.

Don't seem to be able to find a dump file anywhere.
I checked the source code for the player, it seems to happen at

void XineVideoWidget::paintEvent2 ( QPaintEvent * )
{
    if ( m_buff == 0 ) {
        return;
    } else if (m_lastsize){
        {
            QDirectPainter dp ( this );
            int rot = dp. transformOrientation ( ) + m_rotation; // device rotation + custom rotation
            bool rot90 = (( -m_rotation ) & 1 );
            int _vw,_vh;
            switch (rot90) {
                case true:
                    _vh = m_framesize.width();
                    _vw = m_framesize.height();
                    break;
                default:
                    _vw = m_framesize.width();
                    _vh = m_framesize.height();
                    break;
                 break;
            }
            int middle_w = _vw/2;
            int middle_h = _vh/2;
            m_thisframe.setRect(width()/2-middle_w,height()/2-middle_h,_vw,_vh);
            uchar *fb = dp. frameBuffer ( );
            uchar *frame = m_buff;

            // where is the video frame in fb coordinates
            QRect framerect = qt_screen-> mapToDevice ( QRect ( mapToGlobal ( m_thisframe. topLeft ( )), m_thisframe. size ( )), QSize ( qt_screen-> width ( ),
                             qt_screen-> height ( )));

            uchar * src = frame;
            uchar * dst = fb+framerect.y()*m_bytes_per_line_fb+framerect.x()*m_bytes_per_pixel;

            /* clean up the fb screen when shrinking the image only! */
            if (old_framerect.isValid() && old_size.width()==width()&&old_size.height()==height() &&
                (old_framerect.width()>framerect.width() || old_framerect.height()>framerect.height())) {
                uchar*_dst = fb+old_framerect.y()*m_bytes_per_line_fb+old_framerect.x()*m_bytes_per_pixel;
                for (int z=0;z<old_framerect.height();++z) {
                    memset(_dst,0,m_bytes_per_line_fb);
                    _dst+=m_bytes_per_line_fb;
                }
            }
            old_framerect=framerect;
            old_size = size();

            if (framerect.height()!=m_framesize.height()) {
                odebug << "Hoehm: " << framerect.height() << " <-> " << m_framesize.height() << oendl;
            }
            for (int y = 0;y<framerect.height();++y) {
                switch (rot) {
                    case 0:
                        memcpy(dst,src,m_bytes_per_line_frame);
                        src+=m_bytes_per_line_frame;
                    break;
                    case 1:
                        memcpy_step ( dst, src, m_thisframe.size().width(), m_bytes_per_line_frame );
                        src -= m_bytes_per_pixel;
                        break;
                    case 2:
                        memcpy_rev ( dst, src, m_thisframe.size().width());
                        src-=m_bytes_per_line_frame;
                    break;
                    case 3:
                        memcpy_step_rev ( dst, src, m_thisframe.size().width(), m_bytes_per_line_frame );
                        src += m_bytes_per_pixel;
                    break;
                    default:
                        break;
                }
                dst += m_bytes_per_line_fb;
            }
        }
    }
}

Though I can't tell exactly whats happening.

After reading a few posting on the forum i decided to give up on OpieMediaPlayer2 and try Xmms-MPlayer.

Does anyone know where and how can install these two packages?

I managed to get hold of the package mplayer-xmms-embedded-qtopia_0.00005pre1_arm.ipk and installed it but it complains  of cannot satisfy dependency

libSDL

I assume there are something else missing. Can somebody advise on an easy way for me to get divx .avi files playing on my Zaurus. Appreciate any advice u can give. Thanks!

Jeev
ps. Does anybody have a sample .avi file i can use to test on my player? Thanks again!
Title: Media Player
Post by: jeevandras on September 28, 2006, 07:51:54 pm
Hi,
I m trying to get a video player running for my OPIE 1.2. I thought Kino2 would have been a good choice but (I m a newbie!) apparently its asking for libsl.so file. Which I believe is not available for OPIE 1.2, no? Is there any other way I could get a user friendly video player running on my C860? I m hoping to play my divx .avi files. I've heard of mplayer but yet to find a posting to show me how to get it installed properly. I tried the package  mplayer_0.90pre5_arm.ipk. Installed ok. But when i run mpalyer on command line it says error loading shared libraries libncurses.so. I guess I must be missing something.

Spent the last two days sitting in front of the comuter trying to get a media player running but failing miserably. I really appreciate your help. Many thanks!

Jeev