summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2/xinevideowidget.h
authoralwin <alwin>2005-04-02 21:55:07 (UTC)
committer alwin <alwin>2005-04-02 21:55:07 (UTC)
commita5020219d43b9dd788cc090ae565c28f27dd6a58 (patch) (unidiff)
treec60f0ae6554817db54e45ea2eb6b1c9896193b3e /noncore/multimedia/opieplayer2/xinevideowidget.h
parentb92357d5566b9ee220ff5f4e8eb612b2db32e20b (diff)
downloadopie-a5020219d43b9dd788cc090ae565c28f27dd6a58.zip
opie-a5020219d43b9dd788cc090ae565c28f27dd6a58.tar.gz
opie-a5020219d43b9dd788cc090ae565c28f27dd6a58.tar.bz2
my last try to get mediaplayer2 more stable.
-> protected the videobuffer with mutex, make a deep copy of it so xine may destruct its internal buffers as wanted
Diffstat (limited to 'noncore/multimedia/opieplayer2/xinevideowidget.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/xinevideowidget.h54
1 files changed, 29 insertions, 25 deletions
diff --git a/noncore/multimedia/opieplayer2/xinevideowidget.h b/noncore/multimedia/opieplayer2/xinevideowidget.h
index 8b3a3ea..7f00aaa 100644
--- a/noncore/multimedia/opieplayer2/xinevideowidget.h
+++ b/noncore/multimedia/opieplayer2/xinevideowidget.h
@@ -1,29 +1,31 @@
1
1/* 2/*
2                This file is part of the Opie Project 3                This file is part of the Opie Project
3 4
4 Copyright (c) 2002 Robert Griebl <sandman@handhelds.org> 5              Copyright (c) 2002 Max Reiss <harlekin@handhelds.org>
6 Copyright (c) 2002 L. Potter <ljp@llornkcor.com>
5 Copyright (c) 2002 Holger Freyther <zecke@handhelds.org> 7 Copyright (c) 2002 Holger Freyther <zecke@handhelds.org>
6 =. 8 =.
7 .=l. 9 .=l.
8           .>+-= 10           .>+-=
9 _;:,     .>    :=|. This program is free software; you can 11 _;:,     .>    :=|. This program is free software; you can
10.> <`_,   >  .   <= redistribute it and/or modify it under 12.> <`_,   >  .   <= redistribute it and/or modify it under
11:`=1 )Y*s>-.--   : the terms of the GNU General Public 13:`=1 )Y*s>-.--   : the terms of the GNU General Public
12.="- .-=="i,     .._ License as published by the Free Software 14.="- .-=="i,     .._ License as published by the Free Software
13 - .   .-<_>     .<> Foundation; either version 2 of the License, 15 - .   .-<_>     .<> Foundation; either version 2 of the License,
14     ._= =}       : or (at your option) any later version. 16     ._= =}       : or (at your option) any later version.
15    .%`+i>       _;_. 17    .%`+i>       _;_.
16    .i_,=:_.      -<s. This program is distributed in the hope that 18    .i_,=:_.      -<s. This program is distributed in the hope that
17     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY; 19     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
18    : ..    .:,     . . . without even the implied warranty of 20    : ..    .:,     . . . without even the implied warranty of
19    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A 21    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
20  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU 22  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
21..}^=.=       =       ; Library General Public License for more 23..}^=.=       =       ; Library General Public License for more
22++=   -.     .`     .: details. 24++=   -.     .`     .: details.
23 :     =  ...= . :.=- 25 :     =  ...= . :.=-
24 -.   .:....=;==+<; You should have received a copy of the GNU 26 -.   .:....=;==+<; You should have received a copy of the GNU
25  -_. . .   )=.  = Library General Public License along with 27  -_. . .   )=.  = Library General Public License along with
26    --        :-=` this library; see the file COPYING.LIB. 28    --        :-=` this library; see the file COPYING.LIB.
27 If not, write to the Free Software Foundation, 29 If not, write to the Free Software Foundation,
28 Inc., 59 Temple Place - Suite 330, 30 Inc., 59 Temple Place - Suite 330,
29 Boston, MA 02111-1307, USA. 31 Boston, MA 02111-1307, USA.
@@ -31,7 +33,6 @@
31*/ 33*/
32 34
33 35
34
35#include <qwidget.h> 36#include <qwidget.h>
36 37
37#include "lib.h" 38#include "lib.h"
@@ -41,7 +42,7 @@ class QImage;
41 42
42class XineVideoWidget : public QWidget { 43class XineVideoWidget : public QWidget {
43 Q_OBJECT 44 Q_OBJECT
44 45
45public: 46public:
46 XineVideoWidget ( QWidget* parent, const char* name ); 47 XineVideoWidget ( QWidget* parent, const char* name );
47 ~XineVideoWidget ( ); 48 ~XineVideoWidget ( );
@@ -53,8 +54,9 @@ public:
53 QSize videoSize() const; 54 QSize videoSize() const;
54 55
55protected: 56protected:
56 void paintEvent( QPaintEvent *p ); 57 void paintEvent2( QPaintEvent *p );
57 void resizeEvent ( QResizeEvent *r ); 58 virtual void paintEvent(QPaintEvent*);
59 virtual void resizeEvent ( QResizeEvent *r );
58 60
59 void mouseReleaseEvent ( QMouseEvent *e ); 61 void mouseReleaseEvent ( QMouseEvent *e );
60 62
@@ -70,7 +72,9 @@ private:
70 int m_bytes_per_line_fb; 72 int m_bytes_per_line_fb;
71 int m_bytes_per_line_frame; 73 int m_bytes_per_line_frame;
72 int m_bytes_per_pixel; 74 int m_bytes_per_pixel;
75 int m_lastsize;
73 QImage *m_logo; 76 QImage *m_logo;
74 mutable int m_rotation; 77 mutable int m_rotation;
78 ThreadUtil::Mutex m_bufmutex;
75}; 79};
76 80