summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2/lib.cpp
Side-by-side diff
Diffstat (limited to 'noncore/multimedia/opieplayer2/lib.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/lib.cpp29
1 files changed, 13 insertions, 16 deletions
diff --git a/noncore/multimedia/opieplayer2/lib.cpp b/noncore/multimedia/opieplayer2/lib.cpp
index eb57b67..00c534a 100644
--- a/noncore/multimedia/opieplayer2/lib.cpp
+++ b/noncore/multimedia/opieplayer2/lib.cpp
@@ -62,53 +62,56 @@ Lib::Lib(XineVideoWidget* widget) {
int i = 0;
while ( ( out = files[i] ) != 0 ) {
printf("Video %s\n", out );
i++;
}
// m_xine = xine_init( m_videoOutput,
// m_audioOutput,
// m_config );
// test loading
m_videoOutput = ::init_video_out_plugin( m_config, NULL );
if (m_wid != 0 ) {
printf("!0\n" );
- ::null_set_gui_width( m_videoOutput, m_wid->image()->width() );
- ::null_set_gui_height(m_videoOutput, m_wid->image()->height() );
+ resize ( m_wid-> size ( ));
::null_set_mode( m_videoOutput, qt_screen->depth(), qt_screen->pixelType() );
- m_bytes_per_pixel = ( qt_screen->depth() + 7 ) / 8;
- QImage image = Resource::loadImage("");
- image = image.smoothScale( m_wid->width(), m_wid->height() );
- QImage* img = new QImage( image );
- m_wid->setImage( img );
+ m_wid-> setImage ( new QImage ( Resource::loadImage("")));
m_wid->repaint();
}
null_display_handler( m_videoOutput,
xine_display_frame,
this );
m_xine = xine_init( m_videoOutput,
m_audioOutput, m_config );
// install the event handler
xine_register_event_listener( m_xine, xine_event_handler, this );
}
Lib::~Lib() {
delete m_config;
xine_remove_event_listener( m_xine, xine_event_handler );
xine_exit( m_xine );
delete m_videoOutput;
//delete m_audioOutput;
}
+void Lib::resize ( const QSize &s )
+{
+ if ( s. width ( ) && s. height ( )) {
+ ::null_set_gui_width( m_videoOutput, s. width() );
+ ::null_set_gui_height(m_videoOutput, s. height() );
+ }
+}
+
QCString Lib::version() {
QCString str( xine_get_str_version() );
return str;
};
int Lib::majorVersion() {
return xine_get_major_version();
}
int Lib::minorVersion() {
return xine_get_minor_version();
};
@@ -178,32 +181,26 @@ bool Lib::isVideoFullScreen() {
}
void Lib::setScaling( bool scale ) {
::null_set_scaling( m_videoOutput, scale );
}
bool Lib::isScaling() {
return ::null_is_scaling( m_videoOutput );
}
void Lib::xine_event_handler( void* user_data, xine_event_t* t ) {
((Lib*)user_data)->handleXineEvent( t );
}
void Lib::xine_display_frame( void* user_data, uint8_t *frame,
int width, int height, int bytes ) {
-// printf("display x frame");
- ((Lib*)user_data)->drawFrame( frame, width, height, bytes );
-// printf("displayed x frame\n");
+
+ ((Lib*)user_data)->drawFrame( frame, width, height, bytes );
}
void Lib::drawFrame( uint8_t* frame, int width, int height, int bytes ) {
if (!m_video ) {
qWarning("not showing video now");
return;
}
// qWarning("called draw frame %d %d", width, height);
- QSize size = m_wid->size();
- int xoffset = (size.width() - width) / 2;
- int yoffset = (size.height() - height) / 2;
- int linestep = qt_screen->linestep();
-
- m_wid->setImage( frame, yoffset, xoffset, width, height, linestep, bytes, m_bytes_per_pixel );
+ m_wid->setImage( frame, width, height, bytes );
// m_wid->repaint(false);
}