]> git.sesse.net Git - vlc/commitdiff
Configure option --enable-qte works now (default is disabled).
authorJean-Paul Saman <jpsaman@videolan.org>
Sun, 15 Sep 2002 20:54:12 +0000 (20:54 +0000)
committerJean-Paul Saman <jpsaman@videolan.org>
Sun, 15 Sep 2002 20:54:12 +0000 (20:54 +0000)
Porting video out plugin/builtin for Qt Embedded to CVS is not complete. (Please do not use it.)

configure.in
modules/LIST
modules/video_output/qte/qte.cpp
modules/video_output/qte/qte.h

index d8c3ebb5701e897af3d6b66a52dbf361ce00bd1f..5e65cefa292293739e27fda4692904dcda67df7f 100644 (file)
@@ -1381,29 +1381,30 @@ from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
 fi
 
 dnl
-dnl  QT Embedded module
+dnl  Qt Embedded module
 dnl  (disabled by default)
 dnl
 AC_ARG_ENABLE(qte,
   [  --enable-qte            QT Embedded support (default disabled)])
-if test "x${enable_qte}" = "xyes"
+if test "x${enable_qte}" != "xno"
 then
   AC_ARG_WITH(qte,
   [    --with-qte=PATH    Qt Embedded headers and libraries])
   if test "x${with_qte}" = "x"
   then
     test_LDFLAGS="-L${QTDIR}/lib"
-    test_CFLAGS="-I$(QTDIR)/include/qte"
+    test_CFLAGS="-I$(QTDIR)/include"
+    PLUGINS="${PLUGINS} video_output/qte/qte"
   else
     test_LDFLAGS="-L${with_qte}/lib"
-    test_CFLAGS="-I${with_qte}/include/qte"
+    test_CFLAGS="-I${with_qte}/include"
+    BUILTINS="${BUILTINS} video_output/qte/qte"
   fi
 
-  CPPFLAGS="${save_CPPFLAGS} -I${qte_includes}"
-  AC_CHECK_HEADERS(qte/qte.h, [
-    PLUGINS="${PLUGINS} video_output/qte/qte"
-    qte_CFLAGS ="${qte_CFLAGS} ${test_CFLAGS} -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti"
-    qte_LDFLAGS ="${qte_LDFLAGS} ${test_LDFLAGS} -lqpe -lqte"
+  CPPFLAGS="${save_CPPFLAGS} ${test_CFLAGS}"
+  AC_CHECK_HEADERS(qt.h, [
+    qte_CFLAGS="${qte_CFLAGS} ${test_CFLAGS} -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti"
+    qte_LDFLAGS="${qte_LDFLAGS} ${test_LDFLAGS} -lqpe -lqte"
   ])
   CPPFLAGS="${save_CPPFLAGS}"
 fi
@@ -1781,10 +1782,10 @@ AC_ARG_ENABLE(opie,
      if test "x${with_qte}" = "x"
      then
        test_LDFLAGS="-L$(QTDIR)/lib"
-       test_CFLAGS="-I${QTDIR}/include/qte"
+       test_CFLAGS="-I${QTDIR}/include"
      else
        test_LDFLAGS="-L${with_qte}/lib"
-       test_CFLAGS="-I${with_qte}/include/qte"
+       test_CFLAGS="-I${with_qte}/include"
      fi
 
      PLUGINS="${PLUGINS} gui/opie/opie"
index 0db7c9485aa5b593e95ac9cbbfdc0fa56d68b1d8..ab7c495e73b951405ceb983cebae146983a3aca7 100644 (file)
@@ -1,5 +1,5 @@
 List of vlc plugins
-$Id: LIST,v 1.1 2002/08/06 20:04:26 massiot Exp $
+$Id: LIST,v 1.2 2002/09/15 20:54:12 jpsaman Exp $
 
  * a52_system: input module for A52 decapsulation.
 
@@ -127,6 +127,8 @@ $Id: LIST,v 1.1 2002/08/06 20:04:26 massiot Exp $
 
  * qt: interface module using the Qt widget set.
 
+ * qte: video output module for Qt Embedded.
+
  * rc: interface module using stdio.
 
  * sdl: audio output and video output module using the SDL library.
index cd303254d9df1035019c84bb0b5cc9ccdeec04dc..c5c983c0968554ca6995979b6803fe1611b21928 100644 (file)
@@ -2,7 +2,7 @@
  * qte.cpp : QT Embedded plugin for vlc
  *****************************************************************************
  * Copyright (C) 1998-2002 VideoLAN
- * $Id: qte.cpp,v 1.1 2002/09/04 21:13:33 jpsaman Exp $
+ * $Id: qte.cpp,v 1.2 2002/09/15 20:54:12 jpsaman Exp $
  *
  * Authors: Gerald Hansink <gerald.hansink@ordain.nl>
  *          Jean-Paul Saman <jpsaman@wxs.nl>
@@ -38,7 +38,9 @@
 #include <stdlib.h>                                                /* free() */
 #include <string.h>                                                /* strerror() */
 
-#include <videolan/vlc.h>
+#include <vlc/vlc.h>
+#include <vlc/intf.h>
+#include <vlc/vout.h>
 
 #ifdef HAVE_MACHINE_PARAM_H
     /* BSD */
 # include <qgfxraster_qws.h>
 #endif
 
-#include "video.h"
-#include "video_output.h"
-
-#include "interface.h"
 #include "netutils.h"                                 /* network_ChannelJoin */
-
-#include "stream_control.h"                 /* needed by input_ext-intf.h... */
-#include "input_ext-intf.h"
-
 #include "qte.h"
 
 /*****************************************************************************
     "Specify a QT Embedded drawable to use instead of opening a new window. This " \
     "option is DANGEROUS, use with care.")
 
-/*****************************************************************************
-* Exported prototypes
-*****************************************************************************/
-
-vlc_module_begin();
-    add_category_hint( N_("QT Embedded"), NULL );
-    add_string( "qte-display", NULL, NULL, NULL, NULL); //DISPLAY_TEXT, DISPLAY_LONGTEXT );
-    add_bool( "qte-altfullscreen", 0, NULL, NULL, NULL); //ALT_FS_TEXT, ALT_FS_LONGTEXT );
-    add_integer( "qte-drawable", -1, NULL, NULL, NULL); //DRAWABLE_TEXT, DRAWABLE_LONGTEXT );
-    set_description( _("QT Embedded module") );
-    set_capability( "video output", 20 );
-    set_callbacks( Open, Close);
-vlc_module_end();
-
 /*****************************************************************************
  * Local prototypes
  *****************************************************************************/
@@ -129,7 +109,22 @@ static void FreePicture    ( vout_thread_t *, picture_t * );
 
 static void ToggleFullScreen      ( vout_thread_t * );
 
-static void* run_qtapp_exec (void* pVoid);
+static void *RunQtThread( void *pVoid );
+
+/*****************************************************************************
+* Exported prototypes
+*****************************************************************************/
+
+vlc_module_begin();
+    add_category_hint( N_("QT Embedded"), NULL );
+    add_string( "qte-display", NULL, NULL, NULL, NULL); //DISPLAY_TEXT, DISPLAY_LONGTEXT );
+    add_bool( "qte-altfullscreen", 0, NULL, NULL, NULL); //ALT_FS_TEXT, ALT_FS_LONGTEXT );
+    add_integer( "qte-drawable", -1, NULL, NULL, NULL); //DRAWABLE_TEXT, DRAWABLE_LONGTEXT );
+    set_description( _("QT Embedded module") );
+    set_capability( "video output", 20 );
+    set_callbacks( Open, Close);
+vlc_module_end();
+
 
 /*****************************************************************************
  * Seeking function TODO: put this in a generic location !
@@ -143,11 +138,11 @@ static inline void vout_Seek( off_t i_seek )
  *****************************************************************************/
 static int Open( vlc_object_t *p_this )
 {
-    //msg_Err( "+vout_Create::qte" );
+    //msg_Err(p_vout, "+vout_Create::qte" );
     vout_thread_t * p_vout = (vout_thread_t *)p_this;
 
     /* Allocate structure */
-    p_vout->p_sys = (vout_sys_s*) malloc( sizeof( vout_sys_t ) );
+    p_vout->p_sys = (struct vout_sys_t*) malloc( sizeof( struct vout_sys_t ) );
 
     if( p_vout->p_sys == NULL )
     {
@@ -155,7 +150,7 @@ static int Open( vlc_object_t *p_this )
         return( 1 );
     }
 
-//    memset(p_vout->p_sys, 0, sizeof( vout_sys_t ));
+//    memset(p_vout->p_sys, 0, sizeof( struct vout_sys_t ));
 
     p_vout->pf_init    = Init;
     p_vout->pf_end     = End;
@@ -165,7 +160,7 @@ static int Open( vlc_object_t *p_this )
 
     CreateQtWindow(p_vout);
 
-    //msg_Err( "-vout_Create::qte\n" );
+    //msg_Err(p_vout, "-vout_Create::qte\n" );
     return( 0 );
 }
 
@@ -178,7 +173,7 @@ static void Close ( vlc_object_t *p_this )
 {
     vout_thread_t * p_vout = (vout_thread_t *)p_this;
 
-    //msg_Err( "+vout_Destroy::qte\n" );
+    //msg_Err( p_vout, "+vout_Destroy::qte\n" );
     DestroyQtWindow(p_vout);
     free(p_vout->p_sys);
 }
@@ -196,11 +191,11 @@ static int Init( vout_thread_t *p_vout )
 
     int         dd = QPixmap::defaultDepth();
 
-    //msg_Err( "+vout_Init::qte\n" );
+    //msg_Err( p_vout,"+vout_Init::qte\n" );
 
     I_OUTPUTPICTURES = 0;
 
-    p_vout->output.i_chroma = (dd == 16) ? FOURCC_RV16 : FOURCC_RV32;
+    p_vout->output.i_chroma = (dd == 16) ? VLC_FOURCC('R','V','1','6'): VLC_FOURCC('R','V','3','2');
     p_vout->output.i_rmask  = 0xf800;
     p_vout->output.i_gmask  = 0x07e0;
     p_vout->output.i_bmask  = 0x001f;
@@ -239,7 +234,7 @@ static int Init( vout_thread_t *p_vout )
         I_OUTPUTPICTURES++;
     }
 
-    //msg_Err( "-vout_Init::qte %d output pictures\n", I_OUTPUTPICTURES);
+    //msg_Err(p_vout, "-vout_Init::qte %d output pictures\n", I_OUTPUTPICTURES);
 
     return( 0 );
 }
@@ -250,7 +245,7 @@ static int Init( vout_thread_t *p_vout )
  *****************************************************************************/
 static void Render( vout_thread_t *p_vout, picture_t *p_pic )
 {
-    //msg_Err( "+vout_Render::qte\n" );
+    //msg_Err(p_vout, "+vout_Render::qte\n" );
     ;
 }
 
@@ -324,7 +319,7 @@ static void Display( vout_thread_t *p_vout, picture_t *p_pic )
  *****************************************************************************/
 static int Manage( vout_thread_t *p_vout )
 {
-    //msg_Err( "+vout_Manage::qte\n" );
+    //msg_Err(p_vout, "+vout_Manage::qte\n" );
     return 0;
 }
 
@@ -338,7 +333,7 @@ static void End( vout_thread_t *p_vout )
 {
     int i_index;
 
-    //msg_Err( "+vout_End::qte\n" );
+    //msg_Err(p_vout, "+vout_End::qte\n" );
 
     /* Free the direct buffers we allocated */
     for( i_index = I_OUTPUTPICTURES ; i_index ; )
@@ -358,7 +353,7 @@ static int NewPicture( vout_thread_t *p_vout, picture_t *p_pic )
 {
     int dd = QPixmap::defaultDepth();
 
-    //msg_Err( "+NewPicture::dd = %d\n",dd );
+    //msg_Err(p_vout, "+NewPicture::dd = %d\n",dd );
 
     p_pic->p_sys = (picture_sys_t*) malloc( sizeof( picture_sys_t ) );
 
@@ -369,7 +364,7 @@ static int NewPicture( vout_thread_t *p_vout, picture_t *p_pic )
 
     switch(p_vout->output.i_chroma)
     {
-    case FOURCC_RV16:
+    case VLC_FOURCC('R','V','1','6'):
         if(dd == 16)
         {
             p_pic->p_sys->pQImage = new QImage(p_vout->output.i_width,
@@ -386,16 +381,20 @@ static int NewPicture( vout_thread_t *p_vout, picture_t *p_pic )
             p_pic->p->i_pitch = p_pic->p_sys->pQImage->bytesPerLine();
 
             p_pic->p->i_lines = p_vout->output.i_height;
-            p_pic->p->i_pixel_bytes = 2;
-            p_pic->p->b_margin      = 0;
+            p_pic->p->i_pixel_pitch   = 2;
+            p_pic->p->i_visible_pitch = 0;
+//            p_pic->p->i_pixel_bytes = 2;
+//            p_pic->p->b_margin      = 0;
             p_pic->i_planes         = 1;
+
+
         }
         else
         {
             return -1;
         }
         break;
-    case FOURCC_RV32:
+    case VLC_FOURCC('R','V','3','2'):
         if(dd == 32)
         {
             p_pic->p_sys->pQImage = new QImage(p_vout->output.i_width,
@@ -412,8 +411,10 @@ static int NewPicture( vout_thread_t *p_vout, picture_t *p_pic )
             p_pic->p->i_pitch = p_pic->p_sys->pQImage->bytesPerLine();
 
             p_pic->p->i_lines = p_vout->output.i_height;
-            p_pic->p->i_pixel_bytes = 4;
-            p_pic->p->b_margin      = 0;
+            p_pic->p->i_pixel_pitch   = 4;
+            p_pic->p->i_visible_pitch = 0;
+//            p_pic->p->i_pixel_bytes = 4;
+//            p_pic->p->b_margin      = 0;
             p_pic->i_planes         = 1;
         }
         else
@@ -427,7 +428,7 @@ static int NewPicture( vout_thread_t *p_vout, picture_t *p_pic )
     }
 
 /*
-    msg_Err( "NewPicture: %d %d %d\n",p_vout->output.i_width,
+    msg_Err(p_vout, "NewPicture: %d %d %d\n",p_vout->output.i_width,
                                  p_vout->output.i_height,
                                  p_vout->output.i_chroma );
 */
@@ -461,7 +462,7 @@ static void ToggleFullScreen ( vout_thread_t *p_vout )
  *****************************************************************************/
 static int CreateQtWindow( vout_thread_t *p_vout )
 {
-    //msg_Err( "vout_qt: +init qt window");
+    //msg_Err(p_vout, "vout_qt: +init qt window");
 
     /* for displaying the vout in a qt window we need the QtApplication */
     vlc_thread_t    thread_id;
@@ -470,11 +471,13 @@ static int CreateQtWindow( vout_thread_t *p_vout )
     p_vout->p_sys->pcVoutWidget = NULL;
 
     /* create thread to exec the qpe application */
+//    if ( vlc_thread_create( &thread_id, "video output", RunQtThread,
+//                            VLC_THREAD_PRIORITY_OUTPUT, VLC_FALSE) )
     if ( vlc_thread_create( &thread_id, "vout qte",
-                            (vlc_thread_func_t)vout_run_qtapp_exec,
+                            (vlc_thread_func_t)RunQtThread,
                             (void *)p_vout) )
     {
-        msg_Err( "input error: can't spawn vout thread");
+        msg_Err( p_vout, "input error: can't spawn video output thread");
         return( -1 );
     }
 
@@ -520,11 +523,9 @@ static void DestroyQtWindow( vout_thread_t *p_vout )
 /*****************************************************************************
  * main loop of qtapplication
  *****************************************************************************/
-static void*
-run_qtapp_exec(void* pVoid)
+static void *RunQtThread( void *pVoid)
 {
     int     argc    = 0;
-    char    arg0[]  = "vout qte";
 
     vout_thread_t* p_vout = (vout_thread_t*) pVoid;
 
@@ -536,18 +537,15 @@ run_qtapp_exec(void* pVoid)
             p_vout->p_sys->pcQApplication = pApp;
             p_vout->p_sys->bOwnsQApp = TRUE;
         }
-        else
-        {
-            return NULL;
-        }
     }
     else
     {
         p_vout->p_sys->pcQApplication = qApp;
     }
 
+    if (p_vout->p_sys->pcQApplication)
     {
-        QWidget vo(0, "vout");
+        QWidget vo(0, "qte");
         vo.showFullScreen();
         vo.show();
         p_vout->p_sys->pcVoutWidget = &vo;
@@ -572,7 +570,5 @@ run_qtapp_exec(void* pVoid)
         delete p_vout->p_sys->pcQApplication;
         p_vout->p_sys->pcQApplication = NULL;
     }
-
-    return 0;
 }
 
index 97667650a48f1ff2775639f2d9ff5901359ef956..610212129a34b7b635163be47ee3b34797c8581c 100644 (file)
@@ -2,7 +2,7 @@
  * qte.h : QT Embedded plugin for vlc
  *****************************************************************************
  * Copyright (C) 1998-2002 VideoLAN
- * $Id: qte.h,v 1.1 2002/09/04 21:13:33 jpsaman Exp $
+ * $Id: qte.h,v 1.2 2002/09/15 20:54:12 jpsaman Exp $
  *
  * Authors: Gerald Hansink <gerald.hansink@ordain.nl>
  *          Jean-Paul Saman <jpsaman@wxs.nl>
@@ -33,7 +33,7 @@
  * This structure is part of the video output thread descriptor.
  * It describes the specific properties of an video output plugin
  *****************************************************************************/
-typedef struct vout_sys_s
+struct vout_sys_t
 {
     /* Internal settings and properties */
     int                 i_width;
@@ -44,16 +44,16 @@ typedef struct vout_sys_s
 
     QApplication*       pcQApplication;
     QWidget*            pcVoutWidget;
-} vout_sys_t;
+};
 
 
 /*****************************************************************************
  * picture_sys_t: direct buffer method descriptor
  *****************************************************************************/
-typedef struct picture_sys_s
+struct picture_sys_t
 {
     QImage*             pQImage;
-} picture_sys_t;
+};
 
 
 /*****************************************************************************