rpms/vlc/F-8 vlc-0.8.6-font_dejavu.patch, NONE, 1.1 vlc-0.8.6-vlvc_0.8.patch, NONE, 1.1 vlc-0.8.6-vlvcfix.patch, NONE, 1.1 vlc-0.8.6-wx28compat.patch, NONE, 1.1 vlc-0.8.6c-dts_to_dca_api.patch, NONE, 1.1 vlc-0.8.6c-ffmpeg_fix_for_compat.patch, NONE, 1.1 vlc-0.8.6c-python_destdir.patch, NONE, 1.1 vlc-0.8.6c-python_libtool.patch, NONE, 1.1 vlc-0.8.6e-directfb.patch, NONE, 1.1 vlc-0.8.6e-pulse.patch, NONE, 1.1 vlc-0.8.6e-pulse_default.patch, NONE, 1.1 vlc-0.8.6e-xulrunner.patch, NONE, 1.1 vlc-0.8.6f-all_plugin.patch, NONE, 1.1 vlc-0.8.6f-shared_live555.patch, NONE, 1.1 vlc-0.8.6f-wx28iccfixes.patch, NONE, 1.1 vlc-0.8.6g-networkstream-seek.patch, NONE, 1.1 vlc-0.8.6h-ffmpeg-compat.patch, NONE, 1.1 vlc-0.8.6h-new_x-content.patch, NONE, 1.1 vlc-trunk-default_font.patch, NONE, 1.1 vlc-trunk-dirac_0_8_0-api.patch, NONE, 1.1 vlc-trunk-dirac_0_9_0-api.patch, NONE, 1.1 vlc.spec, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2

Thorsten Leemhuis thl at rpmfusion.org
Sat Aug 9 20:36:00 CEST 2008


Author: thl

Update of /cvs/free/rpms/vlc/F-8
In directory se02.es.rpmfusion.net:/tmp/cvs-serv30469

Modified Files:
	.cvsignore sources 
Added Files:
	vlc-0.8.6-font_dejavu.patch vlc-0.8.6-vlvc_0.8.patch 
	vlc-0.8.6-vlvcfix.patch vlc-0.8.6-wx28compat.patch 
	vlc-0.8.6c-dts_to_dca_api.patch 
	vlc-0.8.6c-ffmpeg_fix_for_compat.patch 
	vlc-0.8.6c-python_destdir.patch 
	vlc-0.8.6c-python_libtool.patch vlc-0.8.6e-directfb.patch 
	vlc-0.8.6e-pulse.patch vlc-0.8.6e-pulse_default.patch 
	vlc-0.8.6e-xulrunner.patch vlc-0.8.6f-all_plugin.patch 
	vlc-0.8.6f-shared_live555.patch vlc-0.8.6f-wx28iccfixes.patch 
	vlc-0.8.6g-networkstream-seek.patch 
	vlc-0.8.6h-ffmpeg-compat.patch vlc-0.8.6h-new_x-content.patch 
	vlc-trunk-default_font.patch vlc-trunk-dirac_0_8_0-api.patch 
	vlc-trunk-dirac_0_9_0-api.patch vlc.spec 
Log Message:
initial import from livna F-9

vlc-0.8.6-font_dejavu.patch:

--- NEW FILE vlc-0.8.6-font_dejavu.patch ---
--- vlc-0.8.6c/modules/misc/freetype.c.font_dejavu	2007-06-16 16:25:11.000000000 +0200
+++ vlc-0.8.6c/modules/misc/freetype.c	2007-08-22 00:46:50.000000000 +0200
@@ -55,7 +55,7 @@
 #elif defined( WIN32 )
 #define DEFAULT_FONT "" /* Default font found at run-time */
 #else
-#define DEFAULT_FONT "/usr/share/fonts/truetype/freefont/FreeSerifBold.ttf"
+#define DEFAULT_FONT "/usr/share/fonts/dejavu/DejaVuSerif.ttf"
 #endif
 
 #if defined(HAVE_FRIBIDI)


vlc-0.8.6-vlvc_0.8.patch:

--- NEW FILE vlc-0.8.6-vlvc_0.8.patch ---
diff -up vlc-0.8.6f/include/vlc_common.h.vlvc vlc-0.8.6f/include/vlc_common.h
--- vlc-0.8.6f/include/vlc_common.h.vlvc	2008-05-09 13:16:10.000000000 +0200
+++ vlc-0.8.6f/include/vlc_common.h	2008-05-09 13:16:10.000000000 +0200
@@ -417,6 +417,10 @@ typedef struct vlm_schedule_t vlm_schedu
 /* divers */
 typedef struct vlc_meta_t    vlc_meta_t;
 
+/* VLVC */
+typedef struct vlvc_t         vlvc_t;
+typedef struct vlvc_param_t   vlvc_param_t;
+
 /* Stats */
 typedef struct counter_t     counter_t;
 typedef struct counter_sample_t counter_sample_t;
diff -up vlc-0.8.6f/include/vlc_config.h.vlvc vlc-0.8.6f/include/vlc_config.h
--- vlc-0.8.6f/include/vlc_config.h.vlvc	2008-03-23 23:41:48.000000000 +0100
+++ vlc-0.8.6f/include/vlc_config.h	2008-05-09 13:16:10.000000000 +0200
@@ -113,7 +113,7 @@
 #define AOUT_MAX_FILTERS                10
 
 /* Max number of inputs */
-#define AOUT_MAX_INPUTS                 5
+#define AOUT_MAX_INPUTS                 10
 
 /* Buffers which arrive in advance of more than AOUT_MAX_ADVANCE_TIME
  * will be considered as bogus and be trashed */
diff -up vlc-0.8.6f/include/vlc_objects.h.vlvc vlc-0.8.6f/include/vlc_objects.h
--- vlc-0.8.6f/include/vlc_objects.h.vlvc	2008-03-23 23:41:48.000000000 +0100
+++ vlc-0.8.6f/include/vlc_objects.h	2008-05-09 13:16:10.000000000 +0200
@@ -62,6 +62,7 @@
 #define VLC_OBJECT_OSDMENU    (-28)
 #define VLC_OBJECT_STATS      (-29)
 #define VLC_OBJECT_HTTPD_HOST (-30)
+#define VLC_OBJECT_VLVC       (-50)
 
 #define VLC_OBJECT_GENERIC  (-666)
 
diff -up vlc-0.8.6f/configure.ac.vlvc vlc-0.8.6f/configure.ac
--- vlc-0.8.6f/configure.ac.vlvc	2008-05-09 13:16:10.000000000 +0200
+++ vlc-0.8.6f/configure.ac	2008-05-09 13:16:10.000000000 +0200
@@ -1472,6 +1472,17 @@ then
 fi
 
 dnl
+dnl VLVC Module
+dnl
+AC_ARG_ENABLE(vlvc,
+  [  --enable-vlvc          Videconference module (default disabled)])
+if test "${enable_vlvc}" = "yes"
+then
+  VLC_ADD_PLUGINS([vlvc])
+  AC_DEFINE(ENABLE_VLVC, 1, Define if you want the videoconference support)
+fi
+
+dnl
 dnl Growl notification plugin
 dnl
 AC_ARG_ENABLE(growl,
@@ -5555,6 +5566,7 @@ AC_CONFIG_FILES([
   modules/access/rtsp/Makefile
   modules/access/vcd/Makefile
   modules/access/vcdx/Makefile
+  modules/access/vlvc/Makefile
   modules/access/screen/Makefile
   modules/access_filter/Makefile
   modules/access_output/Makefile
diff -up vlc-0.8.6f/po/fr.po.vlvc vlc-0.8.6f/po/fr.po
--- vlc-0.8.6f/po/fr.po.vlvc	2008-03-31 22:57:43.000000000 +0200
+++ vlc-0.8.6f/po/fr.po	2008-05-09 13:16:10.000000000 +0200
@@ -23234,3 +23234,391 @@ msgstr "Interface XOSD"
 
 #~ msgid "Jump"
 #~ msgstr "Aller à"
+
+#: include/vlc_vlvc_error.h:54
+#, fuzzy
+msgid "Message"
+msgstr "Messages"
+
+#: include/vlc_vlvc_error.h:63
+msgid "Unable to bind specified address"
+msgstr "Impossible d'ecouter sur l'adresse spécifiée"
+
+#: include/vlc_vlvc_error.h:65
+msgid "Unable to launch server thread"
+msgstr "Impossible de lancer le thread du serveur"
+
+#: include/vlc_vlvc_error.h:67
+msgid "Unable to connect to server"
+msgstr "Impossible de se connecter au serveur"
+
+#: include/vlc_vlvc_error.h:69
+msgid "Unable to launch client thread"
+msgstr "Impossible de lancer le thread du client"
+
+#: include/vlc_vlvc_error.h:71
+msgid "Connection to the server lost"
+msgstr "La connexion avec le serveur a été perdue"
+
+#: include/vlc_vlvc_error.h:73
+msgid "Unable to get user information"
+msgstr "Impossible de récupérer les informations utilisateur"
+
+#: include/vlc_vlvc_error.h:75
+msgid "User index out of range"
+msgstr "Index d'utilisateur hors limite"
+
+#: include/vlc_vlvc_error.h:77
+msgid "Unable to get conference data"
+msgstr "Impossible de récupérer les données de la conférence"
+
+#: include/vlc_vlvc_error.h:79
+msgid "An error occured while waiting for the welcome command"
+msgstr "Une erreur est survenue en attendant la commande welcome"
+
+#: include/vlc_vlvc_error.h:81
+msgid "You have been refused by the server"
+msgstr "Vous avez été refusé par le serveur"
+
+#: include/vlc_vlvc_error.h:83
+msgid "VLVC can be launched as standalone only in server mode"
+msgstr "VLVC ne peut être lancé en mode dédié qu'en mode serveur"
+
+#: include/vlc_vlvc_error.h:85
+msgid "Cannot use standalone mode with graphical interface"
+msgstr "Impossible d'utiliser le mode dédié avec l'interface graphique"
+
+#: include/vlc_vlvc_error.h:87
+msgid "VLVC already launched"
+msgstr "VLVC est déjà lancé"
+
+#: include/vlc_vlvc_error.h:89
+msgid "An error occured while waiting for the multicast command"
+msgstr "Une erreur est survenue en attendant la commande multicast"
+
+#: include/vlc_vlvc_error.h:91
+msgid "Unable to get multicast data"
+msgstr "Impossible de récupérer les données via le multicast"
+
+#: include/vlc_vlvc_error.h:93
+msgid "The server is protected, Incorrect password"
+msgstr "Le serveur est protégé, Mot de passe incorrect"
+
+#: include/vlc_vlvc_error.h:95
+#, c-format
+msgid "Unmatched version : Server is using version %s and your version is %s"
+msgstr "Version incorrecte : le serveur utilise la version %s et votre version est %s"
+
+#: include/vlc_vlvc_error.h:97
+msgid "An error occured while waiting for the not welcome command"
+msgstr "Une erreur est survenue en attendant la commande not welcome"
+
+#: include/vlc_vlvc.h:64
+msgid "Chat room"
+msgstr "Salle de discussion"
+
+#: include/vlc_vlvc.h:65
+msgid "Conference"
+msgstr "Conférence"
+
+#: include/vlc_vlvc.h:66
+msgid "Meeting"
+msgstr "Réunion"
+
+#: include/vlc_vlvc.h:67
+msgid "Amphitheater"
+msgstr "Amphithéatre"
+
+#: include/vlc_vlvc.h:136
+#, c-format
+msgid ""
+"Codecs forced by server:\n"
+"Video: %s @ %dKb/s\n"
+"Audio: %s @ %dKb/s"
+msgstr ""
+"Codecs forcés par le serveur:\n"
+"Vidéo: %s @ %dKo/s\n"
+"Audio: %s @ %dKo/s"
+
+#: include/vlc_vlvc.h:138
+#, c-format
+msgid ""
+"Welcome to the conference room!\n"
+"The admin/server is : %s\n"
+"The conference mode is: %s\n"
+"-----------------"
+msgstr ""
+"Bienvenue dans la salle de conférence!\n"
+"L'administrateur/serveur est : %s\n"
+"Le mode de conférence est : %s\n"
+"-----------------"
+
+#: include/vlc_vlvc.h:141
+#, c-format
+msgid "%s would like to speak."
+msgstr "%s demande la parole."
+
+#: modules/access/vlvc/vlvc.h:44
+msgid "Server mode"
+msgstr "Mode serveur"
+
+#: modules/access/vlvc/vlvc.h:45
+msgid ""
+"Check if you host the conference.\n"
+"Uncheck if you join a conference"
+msgstr ""
+"Cochez si vous heberger la conference.\n"
+"Decochez pour rejoindre une conference"
+
+#: modules/access/vlvc/vlvc.h:48
+msgid "Standalone (Cannot be used with GUI)"
+msgstr "Mode serveur dédié (Ne peut être utilisé avec l'interface graphique)"
+
+#: modules/access/vlvc/vlvc.h:49
+msgid ""
+"Use this option to use VLVC in standalone mode.\n"
+"In standalone mode, only launched using a script, VLVC won't display any "
+"window."
+msgstr ""
+"Cocher cette option pour utiliser VLVC en mode dédié.\n"
+"En mode dédié, lancé uniquement à partir d'un script, VLVC n'affichera "
+"aucune fenêtre."
+
+#: modules/access/vlvc/vlvc.h:52
+msgid "IP Address/Domain name"
+msgstr "Adresse IP/Nom de domaine"
+
+#: modules/access/vlvc/vlvc.h:53
+msgid ""
+"If in client mode, enter the server IP address or domain name.\n"
+"If in server mode, enter the IP address or domain name to bind."
+msgstr ""
+"En mode client, entrez l'adresse IP ou le nom de domaine du serveur.\n"
+"En mode serveur, entrez l'adresse d'écoute ou le nom de domaine."
+
+#: modules/access/vlvc/vlvc.h:58
+msgid "Server port"
+msgstr "Port du serveur"
+
+#: modules/access/vlvc/vlvc.h:57
+msgid ""
+"If in client mode, enter the server port.\n"
+"If in server mode, enter the port to bind."
+msgstr ""
+"En mode client, entrez le port du serveur.\n"
+"En mode serveur, entrez le port d'écoute."
+
+#: modules/access/vlvc/vlvc.h:60
+msgid "First streaming port"
+msgstr "Premier port de diffusion"
+
+#: modules/access/vlvc/vlvc.h:61
+msgid ""
+"This is the port used to receive videos from the other participants.\n"
+"One port per client will be used, starting from this one."
+msgstr ""
+"Ceci est le port utilisé pour recevoir les vidéos des autres participants.\n"
+"Un port par client sera utilisé en partant de celui-ci."
+
+#: modules/access/vlvc/vlvc.h:65
+msgid "Choose a username"
+msgstr "Choisir un nom d'utilisateur"
+
+#: modules/access/vlvc/vlvc.h:68
+msgid "Choose a description"
+msgstr "Choisir une description"
+
+#: modules/access/vlvc/vlvc.h:71
+msgid "Set a password"
+msgstr "Saisir un mot de passe"
+
+#: modules/access/vlvc/vlvc.h:74
+msgid "Name of the video device to use."
+msgstr "Nom du périphérique vidéo à utiliser."
+
+#: modules/access/vlvc/vlvc.h:77
+msgid "Name of the Audio device to use."
+msgstr "Nom du périphérique audio à utiliser."
+
+#: modules/access/vlvc/vlvc.h:79
+msgid "MRL of input device"
+msgstr "MRL du périphérique d'entrée"
+
+#: modules/access/vlvc/vlvc.h:80
+msgid "input MRL to use. "
+msgstr "MRL du flux d'entrée"
+
+#: modules/access/vlvc/vlvc.h:82
+msgid "Video codec to use"
+msgstr "Codec vidéo"
+
+#: modules/access/vlvc/vlvc.h:83
+msgid "Select the video codec you want to use"
+msgstr "Choisissez le codec vidéo à utiliser"
+
+#: modules/access/vlvc/vlvc.h:85
+msgid "Video bitrate to use"
+msgstr "Débit vidéo"
+
+#: modules/access/vlvc/vlvc.h:86
+msgid "Select the video bitrate you want to apply"
+msgstr "Sélectionnez le débit de la vidéo."
+
+#: modules/access/vlvc/vlvc.h:88
+msgid "Audio codec to use"
+msgstr "Codecs audio"
+
+#: modules/access/vlvc/vlvc.h:89
+msgid "Select the audio codec you want to use"
+msgstr "Choisissez le codec audio à utiliser"
+
+#: modules/access/vlvc/vlvc.h:91
+msgid "Audio bitrate to use"
+msgstr "Débit audio"
+
+#: modules/access/vlvc/vlvc.h:92
+msgid "Select the audio bitrate you want to apply"
+msgstr "Sélectionnez le débit de l'audio."
+
+#: modules/access/vlvc/vlvc.h:94
+msgid "Conference mode"
+msgstr "Mode de conférence"
+
+#: modules/access/vlvc/vlvc.h:95
+msgid ""
+"Select the videoconference mode\n"
+"Used in server mode only"
+msgstr ""
+"Choisissez le mode de videoconference\n"
+"Utilisé en mode serveur uniquement"
+
+#: modules/access/vlvc/vlvc.h:98
+msgid "Network protocol"
+msgstr "Protocole réseau"
+
+#: modules/access/vlvc/vlvc.h:99
+msgid "Select the network protocol"
+msgstr "Sélectionnez un protocole réseau"
+
+#: modules/access/vlvc/vlvc.h:101
+msgid "Video capture size"
+msgstr "Taille d'acquisition de la vidéo"
+
+#: modules/access/vlvc/vlvc.h:102
+msgid ""
+"Select the video capture size\n"
+"Note that your camera may not support all of these. Change\n"
+"it if a problem occur."
+msgstr ""
+"Choisissez la taille d'acquisition de la capture de la vidéo\n"
+"Remarquez que votre caméra peut ne pas supporter tous ces modes. Changez en "
+"cas de problème."
+
+#: modules/access/vlvc/vlvc.h:106
+msgid "Video scale"
+msgstr "Redimensionnement de la vidéo"
+
+#: modules/access/vlvc/vlvc.h:107
+msgid ""
+"Select the video scale\n"
+"This scale will be applied to the video capture size\n"
+"Used to lower the video size mainly to save bandwidth"
+msgstr ""
+"Choisissez le redimensionnement de la vidéo\n"
+"Ce redimensionnement sera appliqué a la taille d'acquisition de la vidéo.\n"
+"Utilisé pour baisser la taille de la vidéo, principalement pour économiser "
+"de la bande passante"
+
+#: modules/access/vlvc/vlvc.h:111
+msgid "Network configuration"
+msgstr "Configuration réseau"
+
+#: modules/access/vlvc/vlvc.h:112
+msgid ""
+"Select the network configuration\n"
+"Used to modify the buffer settings of VLC\n"
+"It will affect latency and video/audio quality\n"
+"Let \"Default\" to use VLC settings"
+msgstr ""
+"Choisissez la configuration réseau\n"
+"Utilisé pour modifier les paramètres de bufferisation de VLC\n"
+"Elle affectera la latence et la qualité vidéo/audio\n"
+"Laissez \"Prédéfini\" pour utiliser les paramètres de VLC"
+
+#: modules/access/vlvc/vlvc.h:117
+msgid "Force clients to use the same codecs as the server"
+msgstr "Forcer les clients à utiliser les mêmes codecs que sur le serveur"
+
+#: modules/access/vlvc/vlvc.h:118
+msgid "Used by the server to force the clients to use the same codecs as him"
+msgstr ""
+"Utilisé par le serveur pour forcer les clients à utiliser les mêmes codecs"
+
+#: modules/access/vlvc/vlvc.h:120
+msgid "Fix display problems"
+msgstr "Corriger les problèmes d'affichage"
+
+#: modules/access/vlvc/vlvc.h:121
+msgid "Check this box if there is a display problem with the video windows"
+msgstr ""
+"Cochez cette case si vous subissez des problèmes d'affichage des fenêtres de "
+"vidéo"
+
+#: modules/access/vlvc/vlvc.h:124
+msgid "Use multicast if possible, else, automatically switch to unicast"
+msgstr ""
+"Utilisez le multicast si possible, sinon, passez automatiquement à l'unicast"
+
+#: modules/access/vlvc/vlvc.h:282
+msgid "very fast"
+msgstr "très rapide"
+
+#: modules/gui/wxwidgets/dialogs/vlvc/vlvc_frame.hpp:51
+msgid "No name"
+msgstr "Sans nom"
+
+#: modules/gui/wxwidgets/dialogs/vlvc/vlvc_frame.hpp:52
+msgid "No description"
+msgstr "Pas de description"
+
+#: modules/gui/wxwidgets/dialogs/vlvc/vlvc_frame.hpp:77
+msgid " joined the conference"
+msgstr "a rejoint la conférence"
+
+#: modules/gui/wxwidgets/dialogs/vlvc/vlvc_frame.hpp:78
+msgid " left the conference"
+msgstr "a quitté la conférence"
+
+#: modules/gui/wxwidgets/dialogs/vlvc/vlvc_frame.hpp:79
+msgid "You may not authorize yourself!"
+msgstr "Vous ne pouvez pas vous autoriser!"
+
+#: modules/gui/wxwidgets/dialogs/vlvc/vlvc_frame.hpp:80
+msgid "You may not unauthorize yourself!"
+msgstr "Vous ne pouvez pas vous révoquer!"
+
+#: modules/gui/wxwidgets/dialogs/vlvc/vlvc_frame.hpp:81
+#, c-format
+msgid "You have authorized %s to speak."
+msgstr "Vous avez autorisé %s à parler."
+
+#: modules/gui/wxwidgets/dialogs/vlvc/vlvc_frame.hpp:82
+#, c-format
+msgid "You have unauthorized %s."
+msgstr "Vous avez interdit à %s de parler."
+
+#: modules/gui/wxwidgets/dialogs/vlvc/vlvc_frame.hpp:72
+msgid "Send"
+msgstr "Envoyer"
+
+#: modules/gui/wxwidgets/dialogs/vlvc/vlvc_frame.hpp:73
+msgid "Users"
+msgstr "Participants"
+
+#: modules/gui/wxwidgets/dialogs/vlvc/vlvc_frame.hpp:75
+msgid "Actions"
+msgstr "Actions"
+
+#: modules/gui/wxwidgets/dialogs/vlvc/vlvc_frame.hpp:76
+msgid "Chat"
+msgstr "Discussion"
diff -up vlc-0.8.6f/src/misc/modules.c.vlvc vlc-0.8.6f/src/misc/modules.c
--- vlc-0.8.6f/src/misc/modules.c.vlvc	2008-03-23 23:41:54.000000000 +0100
+++ vlc-0.8.6f/src/misc/modules.c	2008-05-09 13:16:10.000000000 +0200
@@ -107,6 +107,7 @@
 
 #include "vlc_vlm.h"
 
+#include "vlc_vlvc.h"
 #include "vlc_image.h"
 #include "vlc_osd.h"
 
diff -up vlc-0.8.6f/src/misc/objects.c.vlvc vlc-0.8.6f/src/misc/objects.c
--- vlc-0.8.6f/src/misc/objects.c.vlvc	2008-03-23 23:41:54.000000000 +0100
+++ vlc-0.8.6f/src/misc/objects.c	2008-05-09 13:16:10.000000000 +0200
@@ -56,6 +56,7 @@
 #include "vlc_tls.h"
 #include "vlc_xml.h"
 #include "vlc_osd.h"
+#include "vlc_vlvc.h"
 
 /*****************************************************************************
  * Local prototypes
@@ -220,6 +221,10 @@ void * __vlc_object_create( vlc_object_t
             i_size = sizeof( stats_handler_t );
             psz_type = "statistics";
             break;
+        case VLC_OBJECT_VLVC:
+	    i_size = sizeof( vlvc_t );
+	    psz_type = "vlvc";
+	    break;
         default:
             i_size = i_type > (int)sizeof(vlc_object_t)
                          ? i_type : (int)sizeof(vlc_object_t);
diff -up vlc-0.8.6f/src/Makefile.am.vlvc vlc-0.8.6f/src/Makefile.am
--- vlc-0.8.6f/src/Makefile.am.vlvc	2008-03-23 23:41:54.000000000 +0100
+++ vlc-0.8.6f/src/Makefile.am	2008-05-09 13:16:10.000000000 +0200
@@ -97,6 +97,7 @@ HEADERS_include = \
 	../include/vlc_url.h \
 	../include/vlc_video.h \
 	../include/vlc_vlm.h \
+	../include/vlc_vlvc.h \
 	../include/vlc_vod.h \
 	../include/vlc_xml.h \
 	../include/vout_synchro.h \
@@ -317,6 +318,7 @@ SOURCES_libvlc_common = \
 	misc/update.c \
 	misc/vlm.c \
 	misc/xml.c \
+	misc/vlvc.c \
 	misc/hashtables.c \
 	extras/libc.c \
 	control/core.c \
diff -up vlc-0.8.6f/modules/gui/wxwidgets/dialogs/open.hpp.vlvc vlc-0.8.6f/modules/gui/wxwidgets/dialogs/open.hpp
--- vlc-0.8.6f/modules/gui/wxwidgets/dialogs/open.hpp.vlvc	2008-03-23 18:37:42.000000000 +0100
+++ vlc-0.8.6f/modules/gui/wxwidgets/dialogs/open.hpp	2008-05-09 13:16:10.000000000 +0200
@@ -26,6 +26,8 @@
 
 #include "wxwidgets.hpp"
 
+#include "vlvc/vlvc_frame.hpp"
+
 #include <wx/spinctrl.h>
 #include <wx/notebook.h>
 
diff -up vlc-0.8.6f/modules/gui/wxwidgets/dialogs/open.cpp.vlvc vlc-0.8.6f/modules/gui/wxwidgets/dialogs/open.cpp
--- vlc-0.8.6f/modules/gui/wxwidgets/dialogs/open.cpp.vlvc	2008-03-23 23:41:49.000000000 +0100
+++ vlc-0.8.6f/modules/gui/wxwidgets/dialogs/open.cpp	2008-05-09 13:16:10.000000000 +0200
@@ -547,6 +547,17 @@ OpenDialog::OpenDialog( intf_thread_t *_
                            i_access_method == CAPTURE_ACCESS );
     }
 
+p_module = config_FindModule( VLC_OBJECT(p_intf), "vlvc" );
+ if( p_module )
+   {
+     AutoBuiltPanel *autopanel =
+       new AutoBuiltPanel( notebook, this, p_intf, p_module );
+     input_tab_array.Add( autopanel );
+     notebook->AddPage( autopanel, wxU( p_module->psz_shortname ?
+					p_module->psz_shortname : p_module->psz_object_name ),
+			i_access_method == CAPTURE_ACCESS );
+   }
+
     /* Update Disc panel */
     wxCommandEvent dummy_event;
     OnDiscTypeChange( dummy_event );
@@ -1141,7 +1152,15 @@ void OpenDialog::UpdateMRL( int i_access
  *****************************************************************************/
 void OpenDialog::OnOk( wxCommandEvent& WXUNUSED(event) )
 {
+    vlc_bool_t b_is_vlvc = VLC_FALSE;
+
     mrl = SeparateEntries( mrl_combo->GetValue() );
+    if( !strcmp( "vlvc://", wxFromLocale( mrl[0] ) ) )
+    {
+        if( !vlvc_CheckUp( p_intf ) )
+            return;
+        b_is_vlvc = VLC_TRUE;
+    }
     mrl_combo->Append( mrl_combo->GetValue() );
     if( mrl_combo->GetCount() > 10 ) mrl_combo->Delete( 0 );
     mrl_combo->SetSelection( mrl_combo->GetCount() - 1 );
@@ -1221,6 +1240,11 @@ void OpenDialog::OnOk( wxCommandEvent& W
 
     Hide();
 
+    if( b_is_vlvc == VLC_TRUE )
+    {
+        new VlvcFrame( p_intf, this );
+    }
+
     if( IsModal() ) EndModal( wxID_OK );
 }
 
diff -up vlc-0.8.6f/modules/gui/wxwidgets/Modules.am.vlvc vlc-0.8.6f/modules/gui/wxwidgets/Modules.am
--- vlc-0.8.6f/modules/gui/wxwidgets/Modules.am.vlvc	2008-03-23 18:37:42.000000000 +0100
+++ vlc-0.8.6f/modules/gui/wxwidgets/Modules.am	2008-05-09 13:16:10.000000000 +0200
@@ -35,7 +35,9 @@ SOURCES_wxwidgets = \
 	dialogs/vlm/vlm_streampanel.cpp \
 	dialogs/vlm/vlm_streampanel.hpp \
 	dialogs/vlm/vlm_panel.cpp \
-	dialogs/vlm/vlm_panel.hpp
+	dialogs/vlm/vlm_panel.hpp \
+	dialogs/vlvc/vlvc_frame.hpp \
+	dialogs/vlvc/vlvc_frame.cpp
 	$(NULL)
 
 EXTRA_DIST += \

vlc-0.8.6-vlvcfix.patch:

--- NEW FILE vlc-0.8.6-vlvcfix.patch ---
diff -up vlc-0.8.6f/modules/gui/wxwidgets/dialogs/vlvc/vlvc_frame.hpp.vlvcfix vlc-0.8.6f/modules/gui/wxwidgets/dialogs/vlvc/vlvc_frame.hpp
--- vlc-0.8.6f/modules/gui/wxwidgets/dialogs/vlvc/vlvc_frame.hpp.vlvcfix	2008-05-09 13:32:03.000000000 +0200
+++ vlc-0.8.6f/modules/gui/wxwidgets/dialogs/vlvc/vlvc_frame.hpp	2008-05-09 13:32:39.000000000 +0200
@@ -207,7 +207,7 @@ namespace wxvlc
         wxPanel                 *GetBtnPanel( wxPanel *parent );
         wxPanel                 *GetSendPanel( wxPanel *parent );
 
-        void                    ChatMessage( wxString &message, wxColour &color, bool bShowTimeStamp = true );
+        void                    ChatMessage( wxString &message, const wxColour &color, bool bShowTimeStamp = true );
 
         void                    OnMessage( wxCommandEvent& );
         void                    OnAddUser( wxCommandEvent &evt );
diff -up vlc-0.8.6f/modules/gui/wxwidgets/dialogs/vlvc/vlvc_frame.cpp.vlvcfix vlc-0.8.6f/modules/gui/wxwidgets/dialogs/vlvc/vlvc_frame.cpp
--- vlc-0.8.6f/modules/gui/wxwidgets/dialogs/vlvc/vlvc_frame.cpp.vlvcfix	2008-01-09 21:51:19.000000000 +0100
+++ vlc-0.8.6f/modules/gui/wxwidgets/dialogs/vlvc/vlvc_frame.cpp	2008-05-09 13:34:38.000000000 +0200
@@ -1262,7 +1262,7 @@ void VlvcFrame::ChangeColorUser( long i_
  * Description:
  *              Displays a message in the Chat window
  *****************************************************************************/
-void VlvcFrame::ChatMessage( wxString &message, wxColour &color, bool bShowTimeStamp )
+void VlvcFrame::ChatMessage( wxString &message, const wxColour &color, bool bShowTimeStamp )
 {
     p_chat_textbox->Freeze();
     if( bShowTimeStamp )

vlc-0.8.6-wx28compat.patch:

--- NEW FILE vlc-0.8.6-wx28compat.patch ---
diff --git a/modules/gui/wxwidgets/interface.cpp b/modules/gui/wxwidgets/interface.cpp
index 8a5577f..f54f89d 100644
--- a/modules/gui/wxwidgets/interface.cpp
+++ b/modules/gui/wxwidgets/interface.cpp
@@ -69,7 +69,7 @@
 /*****************************************************************************
  * Local prototypes
  *****************************************************************************/
-static int InteractCallback( vlc_object_t *, const char *, vlc_value_t,
+ static int InteractCallback( vlc_object_t *, const char *, vlc_value_t,
                              vlc_value_t, void *);
 
 /*****************************************************************************
@@ -95,33 +95,6 @@ private:
 
 };
 
-class wxVolCtrl;
-class VLCVolCtrl : public wxControl
-{
-public:
-    VLCVolCtrl( intf_thread_t *p_intf, wxWindow *p_parent );
-    virtual ~VLCVolCtrl() {};
-
-    virtual void OnPaint( wxPaintEvent &event );
-    void OnChange( wxMouseEvent& event );
-    void UpdateVolume();
-
-  private:
-    DECLARE_EVENT_TABLE()
-
-    wxVolCtrl *gauge;
-    int i_y_offset;
-    vlc_bool_t b_mute;
-    intf_thread_t *p_intf;
-};
-
-BEGIN_EVENT_TABLE(VLCVolCtrl, wxControl)
-    EVT_PAINT(VLCVolCtrl::OnPaint)
-
-    /* Mouse events */
-    EVT_LEFT_UP(VLCVolCtrl::OnChange)
-END_EVENT_TABLE()
-
 class Splitter : public wxSplitterWindow
 {
 public:
@@ -293,6 +266,8 @@ enum
     NextStream_Event,
     SlowStream_Event,
     FastStream_Event,
+    ToggleMute_Event,
+    SlideVolume_Event,
 
     /* it is important for the id corresponding to the "About" command to have
      * this standard value as otherwise it won't be handled properly under Mac
@@ -354,6 +329,8 @@ BEGIN_EVENT_TABLE(Interface, wxFrame)
     EVT_MENU(NextStream_Event, Interface::OnNextStream)
     EVT_MENU(SlowStream_Event, Interface::OnSlowStream)
     EVT_MENU(FastStream_Event, Interface::OnFastStream)
+    EVT_MENU(ToggleMute_Event, Interface::OnToggleMute)
+    EVT_COMMAND_SCROLL(SlideVolume_Event, Interface::OnSlideVolume)
 
     /* Custom events */
     EVT_COMMAND(0, wxEVT_INTF, Interface::OnControlEvent)
@@ -540,7 +517,7 @@ void Interface::Init()
 void Interface::Update()
 {
     /* Misc updates */
-    if( !(i_update_counter % 10) ) ((VLCVolCtrl *)volctrl)->UpdateVolume();
+//    if( !(i_update_counter % 10) ) ((VLCVolCtrl *)volctrl)->UpdateVolume();
 
     if( playlist_manager ) playlist_manager->Update();
 
@@ -699,6 +676,7 @@ void Interface::CreateOurToolBar()
 #define HELP_PLN N_("Next playlist item")
 #define HELP_SLOW N_("Play slower")
 #define HELP_FAST N_("Play faster")
+#define HELP_VOL N_("Toggle mute/unmute of the audio")
 
 #define LABEL_OPEN N_("Open")
 #define LABEL_STOP N_("Stop")
@@ -710,6 +688,8 @@ void Interface::CreateOurToolBar()
 #define LABEL_PLN N_("Next")
 #define LABEL_SLOW N_("Slower")
 #define LABEL_FAST N_("Faster")
+#define LABEL_VOL N_("Mute")
+
     int minimal = config_GetInt( p_intf, "wx-minimal" );
     bool label = config_GetInt( p_intf, "wx-labels" );
 
@@ -756,14 +736,15 @@ void Interface::CreateOurToolBar()
                           wxBitmap( playlist_small_xpm ), wxU(_(HELP_SPLO)) );
     }
 
-    wxControl *p_dummy_ctrl =
-        new wxControl( toolbar, -1, wxDefaultPosition,
-                       wxSize(16, 16 ), wxBORDER_NONE );
-
-    toolbar->AddControl( p_dummy_ctrl );
-
-    volctrl = new VLCVolCtrl( p_intf, toolbar );
-    toolbar->AddControl( volctrl );
+    wxToolBarToolBase *v_tool = toolbar->AddTool( ToggleMute_Event,
+                         wxU(LABEL_VOL), wxBitmap( speaker_xpm ),
+                         wxU(_(HELP_VOL)), wxITEM_CHECK );
+    v_tool->SetClientData( v_tool );
+
+    wxSlider *v_gauge = new wxSlider(toolbar, SlideVolume_Event, 256, 0,
+                            AOUT_VOLUME_MAX, wxDefaultPosition,
+                            wxSize(64,TOOLBAR_BMP_HEIGHT), wxSL_HORIZONTAL);
+    toolbar->AddControl(v_gauge);
 
     toolbar->Realize();
 
@@ -1226,6 +1207,49 @@ void Interface::OnFastStream( wxCommandEvent& WXUNUSED(event) )
     }
 }
 
+void Interface::OnToggleMute ( wxCommandEvent& WXUNUSED(event) )
+{
+    aout_VolumeMute(p_intf, NULL);
+    SyncVolume();
+
+}
+
+void Interface::SyncVolume()
+{
+    wxToolBarToolBase *p_tool = (wxToolBarToolBase *)
+        GetToolBar()->GetToolClientData( ToggleMute_Event );
+    if ( !p_tool) return;
+
+    audio_volume_t i_volume;
+    aout_VolumeGet(p_intf, &i_volume);
+
+// Updating the Mute Button... IF the slider is completely moved to the left,
+// the mute icon is shown too.
+    p_tool->SetNormalBitmap( wxBitmap( i_volume ? speaker_xpm : speaker_mute_xpm ) );
+    GetToolBar()->Realize();
+#if defined( __WXMSW__ )
+    /* Needed to work around a bug in wxToolBar::Realize() */
+    GetToolBar()->SetSize( GetSize().GetWidth(),
+                           GetToolBar()->GetSize().GetHeight() );
+    GetToolBar()->Update();
+#endif
+// the Toggle to true and false is nescessary; otherwise, the Icon is not repainted
+    GetToolBar()->ToggleTool( ToggleMute_Event, true );
+    GetToolBar()->ToggleTool( ToggleMute_Event, false );
+    GetToolBar()->Update();
+}
+
+void Interface::OnSlideVolume( wxScrollEvent& WXUNUSED(event))
+{
+    wxSlider *p_tool = (wxSlider *)
+        GetToolBar()->FindControl( SlideVolume_Event );
+    if ( !p_tool) return;
+
+    aout_VolumeSet(p_intf , p_tool->GetValue());
+    SyncVolume();
+
+}
+
 void Interface::TogglePlayButton( int i_playing_status )
 {
     wxToolBarToolBase *p_tool = (wxToolBarToolBase *)
@@ -1346,108 +1370,6 @@ bool DragAndDrop::OnDropFiles( wxCoord, wxCoord,
 #endif
 
 /*****************************************************************************
- * Definition of VolCtrl class.
- *****************************************************************************/
-class wxVolCtrl: public wxGauge
-{
-public:
-    /* Constructor */
-    wxVolCtrl( intf_thread_t *_p_intf, wxWindow* parent, wxWindowID id,
-               wxPoint = wxDefaultPosition, wxSize = wxSize( 20, -1 ) );
-    virtual ~wxVolCtrl() {};
-
-    void UpdateVolume();
-    int GetVolume();
-
-    void OnChange( wxMouseEvent& event );
-
-private:
-    intf_thread_t *p_intf;
-
-    DECLARE_EVENT_TABLE();
-};
-
-BEGIN_EVENT_TABLE(wxVolCtrl, wxWindow)
-    /* Mouse events */
-    EVT_LEFT_DOWN(wxVolCtrl::OnChange)
-    EVT_MOTION(wxVolCtrl::OnChange)
-END_EVENT_TABLE()
-
-wxVolCtrl::wxVolCtrl( intf_thread_t *_p_intf, wxWindow* parent, wxWindowID id,
-                      wxPoint point, wxSize size )
-  : wxGauge( parent, id, 200, point, size, wxGA_HORIZONTAL | wxGA_SMOOTH )
-{
-    p_intf = _p_intf;
-    UpdateVolume();
-}
-
-void wxVolCtrl::OnChange( wxMouseEvent& event )
-{
-    if( !event.LeftDown() && !event.LeftIsDown() ) return;
-
-    int i_volume = event.GetX() * 200 / GetClientSize().GetWidth();
-    aout_VolumeSet( p_intf, i_volume * AOUT_VOLUME_MAX / 200 / 2 );
-    UpdateVolume();
-}
-
-void wxVolCtrl::UpdateVolume()
-{
-    audio_volume_t i_volume;
-    aout_VolumeGet( p_intf, &i_volume );
-
-    int i_gauge_volume = i_volume * 200 * 2 / AOUT_VOLUME_MAX;
-    if( i_gauge_volume == GetValue() ) return;
-
-    SetValue( i_gauge_volume );
-    SetToolTip( wxString::Format((wxString)wxU(_("Volume")) + wxT(" %d"),
-                i_gauge_volume / 2 ) );
-}
-
-#if defined(__WXGTK__)
-#define VLCVOL_HEIGHT p_parent->GetSize().GetHeight()
-#else
-#define VLCVOL_HEIGHT TOOLBAR_BMP_HEIGHT
-#endif
-VLCVolCtrl::VLCVolCtrl( intf_thread_t *_p_intf, wxWindow *p_parent )
-  :wxControl( p_parent, -1, wxDefaultPosition, wxSize(64, VLCVOL_HEIGHT ),
-              wxBORDER_NONE ),
-   i_y_offset((VLCVOL_HEIGHT - TOOLBAR_BMP_HEIGHT) / 2),
-   b_mute(0), p_intf(_p_intf)
-{
-    gauge = new wxVolCtrl( p_intf, this, -1, wxPoint( 18, i_y_offset ),
-                           wxSize( 44, TOOLBAR_BMP_HEIGHT ) );
-}
-
-void VLCVolCtrl::OnPaint( wxPaintEvent &evt )
-{
-    wxPaintDC dc( this );
-    wxBitmap mPlayBitmap( b_mute ? speaker_mute_xpm : speaker_xpm );
-    dc.DrawBitmap( mPlayBitmap, 0, i_y_offset, TRUE );
-}
-
-void VLCVolCtrl::OnChange( wxMouseEvent& event )
-{
-    if( event.GetX() < TOOLBAR_BMP_WIDTH )
-    {
-        int i_volume;
-        aout_VolumeMute( p_intf, (audio_volume_t *)&i_volume );
-
-        b_mute = !b_mute;
-        Refresh();
-    }
-}
-
-void VLCVolCtrl::UpdateVolume()
-{
-    gauge->UpdateVolume();
-
-    int i_volume = gauge->GetValue();
-    if( !!i_volume == !b_mute ) return;
-    b_mute = !b_mute;
-    Refresh();
-}
-
-/*****************************************************************************
  * Systray class.
  *****************************************************************************/
 
diff --git a/modules/gui/wxwidgets/interface.hpp b/modules/gui/wxwidgets/interface.hpp
index fa55880..3f145a3 100644
--- a/modules/gui/wxwidgets/interface.hpp
+++ b/modules/gui/wxwidgets/interface.hpp
@@ -149,6 +149,9 @@ namespace wxvlc
         void OnNextStream( wxCommandEvent& event );
         void OnSlowStream( wxCommandEvent& event );
         void OnFastStream( wxCommandEvent& event );
+	void OnToggleMute( wxCommandEvent& event );
+	void OnSlideVolume( wxScrollEvent& event );
+        void SyncVolume( );
 
         void OnInteraction( wxCommandEvent& event );
 
-- 
1.5.4.4

vlc-0.8.6c-dts_to_dca_api.patch:

--- NEW FILE vlc-0.8.6c-dts_to_dca_api.patch ---
diff -up vlc-0.8.6c/configure.ac.dts_dca vlc-0.8.6c/configure.ac
--- vlc-0.8.6c/configure.ac.dts_dca	2007-11-06 01:07:55.000000000 +0100
+++ vlc-0.8.6c/configure.ac	2007-11-06 01:15:20.000000000 +0100
@@ -3036,69 +3036,52 @@ AC_ARG_WITH(a52-fixed,
 dnl
 dnl DTS Coherent Acoustics decoder plugin
 dnl
-AC_ARG_ENABLE(dts,
-  [  --enable-dts            DTS Coherent Acoustics support with libdca (default enabled)])
-if test "${enable_dts}" != "no"; then
-  AC_ARG_WITH(dts-tree,
-    [    --with-dts-tree=PATH  libdts tree for static linking ],[],[])
-  if test "${with_dts_tree}" != "no" -a -n "${with_dts_tree}"
-  then
-    real_dts_tree="`cd ${with_dts_tree} 2>/dev/null && pwd`"
-    if test -z "${real_dts_tree}"
-    then
+AS_IF([test "x${enable_dts}" != "x"], [
+  AC_MSG_ERROR([--enable-dts is not obsolete. Please use libdca and --enable-dca.])
+])
+AS_IF([test "x${with_dts_tree}" != "x"], [
+  AC_MSG_ERROR([--with-dts-tree is obsolete. Please use libdca and --with-dca-tree.])
+])
+
+AC_ARG_ENABLE(dca,
+  [  --enable-dca            DTS Coherent Acoustics support with libdca (default enabled)])
+AS_IF([test "${enable_dca}" != "no"], [
+  AC_ARG_WITH(dca-tree,
+    [    --with-dca-tree=PATH  libdca tree for static linking],,
+    [with_dca_tree="no"])
+  AS_IF([test "${with_dca_tree}" != "no"], [
+    real_dca_tree="`cd ${with_dca_tree} 2>/dev/null && pwd`"
+    AS_IF([test -z "${real_dca_tree}"], [
       dnl  The given directory can't be found
       AC_MSG_RESULT(no)
-      AC_MSG_ERROR([${with_dts_tree} directory doesn't exist])
-    fi
-    dnl  Use a custom libdts
-    AC_MSG_CHECKING(for dts.h in ${real_dts_tree}/include)
-    if test -f ${real_dts_tree}/include/dts.h
-    then
+      AC_MSG_ERROR([${with_dca_tree} directory doesn't exist])
+    ])
+    dnl  Use a custom libdca
+    AC_MSG_CHECKING(for libdca in ${real_dca_tree})
+    AS_IF([test -f "${real_dca_tree}/libdca/.libs/libdca.a"], [
       AC_MSG_RESULT(yes)
-      VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dts_tree}/include])
-      VLC_ADD_LDFLAGS([dtstofloat32],[-L${real_dts_tree}/libdts])
-      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
-      AC_CHECK_LIB(dts_pic, dts_free, [
-        VLC_ADD_PLUGINS([dtstofloat32])
-        VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
-        ],[
-        AC_CHECK_LIB(dts, dts_free, [
-          VLC_ADD_BUILTINS([dtstofloat32])
-          VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
-          ],[
-          if test -f ${real_dts_tree}/libdts/libdts.a
-          then
-            AC_MSG_ERROR([make sure you have at least libdts-0.0.2])
-          else
-            AC_MSG_ERROR([the specified tree hasn't been compiled])
-          fi
-        ])
-      ], [-lm])
-      LDFLAGS="${LDFLAGS_save}"
-    else
+      VLC_ADD_LDFLAGS([dtstofloat32],[${real_dca_tree}/libdca/.libs/libdca.a])
+      AS_IF([test -f "${real_dca_tree}/include/dca.h"], [
+        VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/include])
+      ], [
+        VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/../include])
+      ])
+    ], [
       AC_MSG_RESULT(no)
-      AC_MSG_ERROR([the specified tree doesn't have dts.h])
-    fi
-  else
-    LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
-    AC_CHECK_HEADERS(dts.h, [
-      AC_CHECK_LIB(dts_pic, dts_free, [
-        VLC_ADD_PLUGINS([dtstofloat32])
-        VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
-      ],[
-        AC_CHECK_LIB(dts, dts_free, [
-          VLC_ADD_BUILTINS([dtstofloat32])
-          VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
-        ],[
-          if test "${enable_dts}" = "yes"; then
-            AC_MSG_ERROR([Could not find libdts on your system: you may get it from http://www.videolan.org/dtsdec.html])
-          fi
-        ])
-      ], [-lm])
+      AC_MSG_ERROR([the specified tree doesn't have libdca/.libs/libdca.a])
     ])
-    LDFLAGS="${LDFLAGS_save}"
-  fi
-fi
+  ], [
+    PKG_CHECK_MODULES([DCA], [libdca >= 0.0.5], [
+      VLC_ADD_PLUGINS([dtstofloat32])
+      VLC_ADD_CPPFLAGS([dtstofloat32], [${DCA_CFLAGS}])
+      VLC_ADD_LDFLAGS([dtstofloat32], [${DCA_LIBS}])
+    ], [
+      AS_IF([test "x${enable_dca}" != "x"], [
+        AC_MSG_ERROR([${DCA_PKG_ERRORS}])
+      ])
+    ])
+  ])
+])
 
 dnl
 dnl  Flac plugin
diff -up vlc-0.8.6c/modules/audio_filter/converter/dtstofloat32.c.dts_dca vlc-0.8.6c/modules/audio_filter/converter/dtstofloat32.c
--- vlc-0.8.6c/modules/audio_filter/converter/dtstofloat32.c.dts_dca	2007-06-16 16:25:12.000000000 +0200
+++ vlc-0.8.6c/modules/audio_filter/converter/dtstofloat32.c	2007-11-06 01:06:05.000000000 +0100
@@ -31,7 +31,7 @@
 #include <stdlib.h>                                      /* malloc(), free() */
 #include <string.h>                                              /* strdup() */
 
-#include <dts.h>                                       /* libdca header file */
+#include <dca.h>                                       /* libdca header file */
 
 #include <vlc/decoder.h>
 #include "aout_internal.h"
@@ -66,7 +66,7 @@ static const uint32_t pi_channels_out[] 
  *****************************************************************************/
 struct filter_sys_t
 {
-    dts_state_t * p_libdts; /* libdca internal structure */
+    dca_state_t * p_libdca; /* libdca internal structure */
     vlc_bool_t b_dynrng; /* see below */
     int i_flags; /* libdca flags, see dtsdec/doc/libdts.txt */
     vlc_bool_t b_dontwarn;
@@ -158,50 +158,50 @@ static int Open( vlc_object_t *p_this, f
               || (output.i_original_channels
                    & (AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT)) )
         {
-            p_sys->i_flags = DTS_MONO;
+            p_sys->i_flags = DCA_MONO;
         }
         break;
 
     case AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT:
         if ( output.i_original_channels & AOUT_CHAN_DOLBYSTEREO )
         {
-            p_sys->i_flags = DTS_DOLBY;
+            p_sys->i_flags = DCA_DOLBY;
         }
         else if ( input.i_original_channels == AOUT_CHAN_CENTER )
         {
-            p_sys->i_flags = DTS_MONO;
+            p_sys->i_flags = DCA_MONO;
         }
         else if ( input.i_original_channels & AOUT_CHAN_DUALMONO )
         {
-            p_sys->i_flags = DTS_CHANNEL;
+            p_sys->i_flags = DCA_CHANNEL;
         }
         else
         {
-            p_sys->i_flags = DTS_STEREO;
+            p_sys->i_flags = DCA_STEREO;
         }
         break;
 
     case AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT | AOUT_CHAN_CENTER:
-        p_sys->i_flags = DTS_3F;
+        p_sys->i_flags = DCA_3F;
         break;
 
     case AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT | AOUT_CHAN_REARCENTER:
-        p_sys->i_flags = DTS_2F1R;
+        p_sys->i_flags = DCA_2F1R;
         break;
 
     case AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT | AOUT_CHAN_CENTER
           | AOUT_CHAN_REARCENTER:
-        p_sys->i_flags = DTS_3F1R;
+        p_sys->i_flags = DCA_3F1R;
         break;
 
     case AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT
           | AOUT_CHAN_REARLEFT | AOUT_CHAN_REARRIGHT:
-        p_sys->i_flags = DTS_2F2R;
+        p_sys->i_flags = DCA_2F2R;
         break;
 
     case AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT | AOUT_CHAN_CENTER
           | AOUT_CHAN_REARLEFT | AOUT_CHAN_REARRIGHT:
-        p_sys->i_flags = DTS_3F2R;
+        p_sys->i_flags = DCA_3F2R;
         break;
 
     default:
@@ -211,13 +211,13 @@ static int Open( vlc_object_t *p_this, f
     }
     if ( output.i_physical_channels & AOUT_CHAN_LFE )
     {
-        p_sys->i_flags |= DTS_LFE;
+        p_sys->i_flags |= DCA_LFE;
     }
-    //p_sys->i_flags |= DTS_ADJUST_LEVEL;
+    //p_sys->i_flags |= DCA_ADJUST_LEVEL;
 
     /* Initialize libdca */
-    p_sys->p_libdts = dts_init( 0 );
-    if( p_sys->p_libdts == NULL )
+    p_sys->p_libdca = dca_init( 0 );
+    if( p_sys->p_libdca == NULL )
     {
         msg_Err( p_this, "unable to initialize libdca" );
         return VLC_EGENERIC;
@@ -300,7 +300,7 @@ static void DoWork( aout_instance_t * p_
     /* Needs to be called so the decoder knows which type of bitstream it is
      * dealing with. */
     int i_sample_rate, i_bit_rate, i_frame_length;
-    if( !dts_syncinfo( p_sys->p_libdts, p_in_buf->p_buffer, &i_flags,
+    if( !dca_syncinfo( p_sys->p_libdca, p_in_buf->p_buffer, &i_flags,
                        &i_sample_rate, &i_bit_rate, &i_frame_length ) )
     {
         msg_Warn( p_aout, "libdca couldn't sync on frame" );
@@ -309,38 +309,38 @@ static void DoWork( aout_instance_t * p_
     }
 
     i_flags = p_sys->i_flags;
-    dts_frame( p_sys->p_libdts, p_in_buf->p_buffer,
+    dca_frame( p_sys->p_libdca, p_in_buf->p_buffer,
                &i_flags, &i_sample_level, 0 );
 
-    if ( (i_flags & DTS_CHANNEL_MASK) != (p_sys->i_flags & DTS_CHANNEL_MASK)
+    if ( (i_flags & DCA_CHANNEL_MASK) != (p_sys->i_flags & DCA_CHANNEL_MASK)
           && !p_sys->b_dontwarn )
     {
         msg_Warn( p_aout,
                   "libdca couldn't do the requested downmix 0x%x->0x%x",
-                  p_sys->i_flags  & DTS_CHANNEL_MASK,
-                  i_flags & DTS_CHANNEL_MASK );
+                  p_sys->i_flags  & DCA_CHANNEL_MASK,
+                  i_flags & DCA_CHANNEL_MASK );
 
         p_sys->b_dontwarn = 1;
     }
 
     if( 0)//!p_sys->b_dynrng )
     {
-        dts_dynrng( p_sys->p_libdts, NULL, NULL );
+        dca_dynrng( p_sys->p_libdca, NULL, NULL );
     }
 
-    for ( i = 0; i < dts_blocks_num(p_sys->p_libdts); i++ )
+    for ( i = 0; i < dca_blocks_num(p_sys->p_libdca); i++ )
     {
         sample_t * p_samples;
 
-        if( dts_block( p_sys->p_libdts ) )
+        if( dca_block( p_sys->p_libdca ) )
         {
-            msg_Warn( p_aout, "dts_block failed for block %d", i );
+            msg_Warn( p_aout, "dca_block failed for block %d", i );
             break;
         }
 
-        p_samples = dts_samples( p_sys->p_libdts );
+        p_samples = dca_samples( p_sys->p_libdca );
 
-        if ( (p_sys->i_flags & DTS_CHANNEL_MASK) == DTS_MONO
+        if ( (p_sys->i_flags & DCA_CHANNEL_MASK) == DCA_MONO
               && (p_filter->output.i_physical_channels 
                    & (AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT)) )
         {
@@ -373,7 +373,7 @@ static void Destroy( vlc_object_t *p_thi
     aout_filter_t *p_filter = (aout_filter_t *)p_this;
     filter_sys_t *p_sys = (filter_sys_t *)p_filter->p_sys;
 
-    dts_free( p_sys->p_libdts );
+    dca_free( p_sys->p_libdca );
     free( p_sys );
 }
 
@@ -427,7 +427,7 @@ static void CloseFilter( vlc_object_t *p
     filter_t *p_filter = (filter_t *)p_this;
     filter_sys_t *p_sys = p_filter->p_sys;
 
-    dts_free( p_sys->p_libdts );
+    dca_free( p_sys->p_libdca );
     free( p_sys );
 }
 

vlc-0.8.6c-ffmpeg_fix_for_compat.patch:

--- NEW FILE vlc-0.8.6c-ffmpeg_fix_for_compat.patch ---
diff -up vlc-0.8.6c/modules/stream_out/switcher.c.fix_for_compat vlc-0.8.6c/modules/stream_out/switcher.c
--- vlc-0.8.6c/modules/stream_out/switcher.c.fix_for_compat	2007-09-21 02:21:35.000000000 +0200
+++ vlc-0.8.6c/modules/stream_out/switcher.c	2007-09-21 02:21:45.000000000 +0200
@@ -45,7 +45,7 @@
 #ifdef HAVE_POSTPROC_POSTPROCESS_H
 #   include <postproc/postprocess.h>
 #else
-#   include <libpostproc/postprocess.h>
+#   include <postprocess.h>
 #endif
 
 #define SOUT_CFG_PREFIX "sout-switcher-"
diff -up vlc-0.8.6c/modules/codec/ffmpeg/ffmpeg.c.fix_for_compat vlc-0.8.6c/modules/codec/ffmpeg/ffmpeg.c
--- vlc-0.8.6c/modules/codec/ffmpeg/ffmpeg.c.fix_for_compat	2007-06-16 16:25:12.000000000 +0200
+++ vlc-0.8.6c/modules/codec/ffmpeg/ffmpeg.c	2007-09-21 02:15:18.000000000 +0200
@@ -46,7 +46,7 @@
 #   ifdef HAVE_POSTPROC_POSTPROCESS_H
 #       include <postproc/postprocess.h>
 #   else
-#       include <libpostproc/postprocess.h>
+#       include <postprocess.h>
 #   endif
 #endif
 
diff -up vlc-0.8.6c/modules/codec/ffmpeg/postprocess.c.fix_for_compat vlc-0.8.6c/modules/codec/ffmpeg/postprocess.c
--- vlc-0.8.6c/modules/codec/ffmpeg/postprocess.c.fix_for_compat	2007-06-16 16:25:12.000000000 +0200
+++ vlc-0.8.6c/modules/codec/ffmpeg/postprocess.c	2007-09-21 02:15:18.000000000 +0200
@@ -40,7 +40,7 @@
 #ifdef HAVE_POSTPROC_POSTPROCESS_H
 #   include <postproc/postprocess.h>
 #else
-#   include <libpostproc/postprocess.h>
+#   include <postprocess.h>
 #endif
 
 #ifndef PP_CPU_CAPS_ALTIVEC

vlc-0.8.6c-python_destdir.patch:

--- NEW FILE vlc-0.8.6c-python_destdir.patch ---
--- vlc-0.8.6c/bindings/mediacontrol-python/Makefile.am.python_destdir	2007-06-16 16:25:04.000000000 +0200
+++ vlc-0.8.6c/bindings/mediacontrol-python/Makefile.am	2007-08-11 19:16:46.000000000 +0200
@@ -15,10 +15,8 @@
 all:
 	srcdir="$(srcdir)" top_builddir="$(top_builddir)" python "$(srcdir)/setup.py" build $(COMPILERARG) "--build-base=$(top_builddir)/bindings/mediacontrol-python" "--build-temp=$(top_builddir)/bindings/mediacontrol-python"
 
-# FIXME: python setup.py install does not have any option to install from a different build directory
-# so this will not work in a separate builddir
 install:
-	python $(srcdir)/setup.py install
+	python $(srcdir)/setup.py install --root $(DESTDIR)
 
 clean:
 	$(RM) -rf build

vlc-0.8.6c-python_libtool.patch:

--- NEW FILE vlc-0.8.6c-python_libtool.patch ---
--- vlc-0.8.6c/bindings/mediacontrol-python/setup.py.python_libtool	2007-06-16 16:25:04.000000000 +0200
+++ vlc-0.8.6c/bindings/mediacontrol-python/setup.py	2007-08-15 16:14:29.000000000 +0200
@@ -13,6 +13,23 @@
     top_builddir = os.path.join( '..', '..' )
     os.environ['top_builddir'] = top_builddir
 
+# Determine the extra link args. Normally, vlc-config should take care
+# of this and return the right path values, from a development tree or
+# an installed version.
+libtool=False
+linkargs=[]
+d=os.path.join(top_builddir, 'src', '.libs')
+if os.path.exists(d):
+    # We are in a development tree, which was compiled with libtool
+    libtool=True
+    linkargs=[ '-L' + d ]
+else:
+    d=os.path.join(top_builddir, 'src')
+    # We are in a development tree, which was compiled without libtool
+    if os.path.exists(d):
+        linkargs=[ '-L' + d ]
+
+# For out-of-tree compilations
 try:
     srcdir=os.environ['srcdir']
 except KeyError:
@@ -21,16 +38,6 @@
 if not srcdir:
     srcdir = '.'
 
-#if os.sys.platform in ('win32', 'darwin'):
-    # Do not use PIC version on win32 and Mac OS X
-if True:
-    # PIC version seems to be disabled on all platforms
-    vlclib=os.path.join( top_builddir, 'src', 'libvlc.a' )
-    picflag=''
-else:
-    vlclib=os.path.join( top_builddir, 'src', 'libvlc_pic.a' )
-    picflag='pic'
-
 def get_vlcconfig():
     vlcconfig=None
     for n in ( 'vlc-config',
@@ -58,7 +65,7 @@
     if vlcconfig is None:
         return []
     else:
-        cflags=os.popen('%s --cflags' % vlcconfig, 'r').readline().rstrip().split()
+        cflags=os.popen('%s --cflags vlc' % vlcconfig, 'r').readline().rstrip().split()
         return cflags
 
 def get_ldflags():
@@ -69,11 +76,15 @@
 	ldflags = []
 	if os.sys.platform == 'darwin':
 	    ldflags = "-read_only_relocs warning".split()
-        ldflags.extend(os.popen('%s --libs vlc %s builtin' % (vlcconfig,
-							      picflag), 
+        ldflags.extend(os.popen('%s --libs external' % vlcconfig,
 				'r').readline().rstrip().split())
 	if os.sys.platform == 'darwin':
 	    ldflags.append('-lstdc++')
+        if not libtool:
+            # vlc-config is broken and gives a -lvlc-control which
+            # does not exist if libtool is disabled.
+            ldflags.remove('-lvlc-control')
+        return ldflags
         return ldflags
 
 # To compile in a local vlc tree
@@ -81,12 +92,11 @@
                 sources = [ os.path.join( srcdir, 'vlcglue.c'),
                             os.path.join( srcdir, '../../src/control/mediacontrol_init.c')],
                 include_dirs = [ top_builddir,
-		                 os.path.join( srcdir, '../../include'),
-		                 os.path.join( srcdir, '../../', '/usr/win32/include') ],
-
-                extra_objects = [ vlclib ],
+                                 os.path.join( srcdir, '..', '..', 'include' ),
+                                 srcdir, '/usr/win32/include' ],
+                extra_objects = [ ],
                 extra_compile_args = get_cflags(),
-		extra_link_args = [ '-L' + top_builddir ]  + get_ldflags(),
+		extra_link_args = linkargs + get_ldflags(),
                 )
 
 setup (name = 'MediaControl',
@@ -96,12 +106,13 @@
        license = "GPL", 
        description = """VLC bindings for python.
 
-This module provides a MediaControl object, which implements an API
-inspired from the OMG Audio/Video Stream 1.0 specification. Moreover,
-the module provides a Object type, which gives a low-level access to
-the vlc objects and their variables.
-
-Documentation can be found on the VLC wiki : 
+This module provides bindings for the native libvlc API of the VLC
+video player. Documentation can be found on the VLC wiki :
+http://wiki.videolan.org/index.php/ExternalAPI
+
+This module also provides a MediaControl object, which implements an
+API inspired from the OMG Audio/Video Stream 1.0 specification.
+Documentation can be found on the VLC wiki :
 http://wiki.videolan.org/index.php/PythonBinding
 
 Example session:
@@ -128,12 +139,5 @@
 
 # Get status information
 mc.get_stream_information()
-
-# Access lowlevel objets
-o=vlc.Object(1)
-o.info()
-i=o.find_object('input')
-i.list()
-i.get('time')
        """,
        ext_modules = [ vlclocal ])
--- vlc-0.8.6c/vlc-config.in.in.python_libtool	2007-08-15 16:19:48.000000000 +0200
+++ vlc-0.8.6c/vlc-config.in.in	2007-08-15 16:25:59.000000000 +0200
@@ -324,7 +324,7 @@
   fi
   if test "${echo_external}" = yes; then
     for module in `echo "${builtins}"`; do
-      ldflags="${ldflags} @libdir@/vlc/lib${module}.a"
+      ldflags="${ldflags} `find ${top_builddir} -name \"lib${module}.a\"` "
     done
     for module in `echo "${builtins}"`; do
       register_flags "${module}"

vlc-0.8.6e-directfb.patch:

--- NEW FILE vlc-0.8.6e-directfb.patch ---
diff -up vlc-0.8.6f/configure.ac.directfb vlc-0.8.6f/configure.ac
--- vlc-0.8.6f/configure.ac.directfb	2008-04-01 17:57:43.000000000 +0200
+++ vlc-0.8.6f/configure.ac	2008-04-01 17:57:52.000000000 +0200
@@ -3973,18 +3973,8 @@ AC_ARG_ENABLE(directfb,
   [  --enable-directfb       DirectFB support (default disabled)])
 if test "${enable_directfb}" = "yes"
 then
-  if test "${with_directfb}" = "no"
+  if test "${with_directfb}" = "yes"
   then
-    AC_CHECK_HEADER(directfb.h, have_directfb="true", have_directfb="false")
-    if test "${have_directfb}"= "true"
-    then
-        VLC_ADD_PLUGINS([directfb])
-        VLC_ADD_LDFLAGS([directfb],[-ldirectfb -lfusion -ldirect -lpthread -ljpeg -lz -ldl])
-        VLC_ADD_CPPFLAGS([directfb],[-I/usr/include/directfb -D_REENTRANT])
-    else
-        AC_MSG_ERROR([cannot find /usr/include/directfb headers, make sure directfb is installed on your system or use --disable-directfb])
-    fi
-  else
     CPPFLAGS_save="${CPPFLAGS}"
     CPPFLAGS="${CPPFLAGS} -I${with_directfb}/include"
     AC_CHECK_HEADER(directfb.h, have_directfb="true", have_directfb="false")
@@ -3998,6 +3988,16 @@ then
             VLC_ADD_LDFLAGS([directfb],[-L${with_directfb}/lib -ldirectfb -lfusion -ldirect -lpthread -ljpeg -lz -ldl])
         fi ],
         [ AC_MSG_ERROR([cannot find directfb headers in ${with_directfb}/include]) ])
+  else
+    PKG_CHECK_MODULES(DIRECTFB, directfb, [have_directfb="true"], [have_directfb="false"])
+    if test "${have_directfb}" = "true"
+    then
+        VLC_ADD_PLUGINS([directfb])
+        VLC_ADD_LDFLAGS([directfb],[${DIRECTFB_LIBS}])
+        VLC_ADD_CPPFLAGS([directfb],[${DIRECTFB_CFLAGS}])
+    else
+        AC_MSG_ERROR([cannot find /usr/include/directfb headers, make sure directfb is installed on your system or use --disable-directfb])
+    fi
   fi
 fi
 

vlc-0.8.6e-pulse.patch:

--- NEW FILE vlc-0.8.6e-pulse.patch ---
diff -up vlc-0.8.6e/THANKS.pulse vlc-0.8.6e/THANKS
--- vlc-0.8.6e/THANKS.pulse	2008-02-21 12:32:14.000000000 +0100
+++ vlc-0.8.6e/THANKS	2008-02-26 01:21:59.000000000 +0100
@@ -144,6 +144,7 @@ Régis Duchesne <regis at via.ecp.fr> - 
 Remco Poortinga <poortinga at telin.nl> - IPv6 multicast patch
 Rene Gollent <rgollent at u.arizona.edu> - BeOS interface fix
 Roine Gustafsson <roine at popstar.com> - spudec bug fixes
+Martin Hamrle <hamrle 47 post d0t cz> - PulseAudio output module
 Rudolf Cornelissen <rag.cornelissen at inter.nl.net> - BeOS fixes
 Scott Caudle <dorkmanzcot at gmail dot com> - Visualization, WX improvements
 Sebastien Chaumat <Sebastien.Chaumat at ens-lyon.fr> - YOPY port tests
diff -up vlc-0.8.6e/configure.ac.pulse vlc-0.8.6e/configure.ac
--- vlc-0.8.6e/configure.ac.pulse	2008-02-26 01:21:00.000000000 +0100
+++ vlc-0.8.6e/configure.ac	2008-02-26 01:22:05.000000000 +0100
@@ -4749,6 +4749,20 @@ AC_ARG_ENABLE(opie,
    fi])
 
 dnl
+dnl  Pulseaudio module
+dnl
+AC_ARG_ENABLE(pulse,
+  [  --enable-pulse          Pulseaudio support (default enabled)])
+  if test "${enable_pulse}" != "no"
+   then
+     PKG_CHECK_MODULES(PULSE, libpulse >= 0.9.8,
+       [ VLC_ADD_PLUGINS([pulse])
+        VLC_ADD_CFLAGS([pulse],[${PULSE_CFLAGS}])
+        VLC_ADD_LDFLAGS([pulse],[${PULSE_LIBS}])],
+       [AC_MSG_WARN(pulsaudio library not found)])
+   fi
+
+dnl
 dnl  MacOS X module
 dnl
 ORIGCFLAGS=$CFLAGS
diff -up /dev/null vlc-0.8.6e/audio_output/pulse.c
--- /dev/null	2008-02-25 13:08:18.836254981 +0100
+++ vlc-0.8.6e/modules/audio_output/pulse.c	2008-02-26 01:22:10.000000000 +0100
@@ -0,0 +1,473 @@
+/*****************************************************************************
+ * pulse.c : Pulseaudio output plugin for vlc
+ *****************************************************************************
+ * Copyright (C) 2008 the VideoLAN team
+ *
+ * Authors: Martin Hamrle <hamrle @ post . cz>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
+ *****************************************************************************/
+
+/*****************************************************************************
+ * Preamble
+ *****************************************************************************/
+#include <errno.h>                                                 /* ENOMEM */
+#include <string.h>                                            /* strerror() */
+#include <stdlib.h>                            /* calloc(), malloc(), free() */
+
+#include <vlc/vlc.h>
+
+#include <vlc/aout.h>
+
+#include "aout_internal.h"
+
+#include <pulse/pulseaudio.h>
+
+/*****************************************************************************
+ * aout_sys_t: Pulseaudio output method descriptor
+ *****************************************************************************
+ * This structure is part of the audio output thread descriptor.
+ * It describes the specific properties of an audio device.
+ *****************************************************************************/
+struct aout_sys_t
+{
+    /** PulseAudio playback stream object */
+    struct pa_stream *stream;
+
+    /** PulseAudio connection context */
+    struct pa_context *context;
+
+    /** Main event loop object */
+    struct pa_threaded_mainloop *mainloop;
+
+    int started;
+    size_t buffer_size;
+    mtime_t start_date;
+};
+
+#define    PULSE_CLIENT_NAME N_("VLC media player")
+
+#if 0
+#define PULSE_DEBUG( ...) \
+    msg_Dbg( p_aout, __VA_ARGS__ )
+#else
+#define PULSE_DEBUG( ...) \
+    (void) 0
+#endif
+
+
+#define CHECK_DEAD_GOTO(label) do { \
+if (!p_sys->context || pa_context_get_state(p_sys->context) != PA_CONTEXT_READY || \
+    !p_sys->stream || pa_stream_get_state(p_sys->stream) != PA_STREAM_READY) { \
+        msg_Err(p_aout, "Connection died: %s", p_sys->context ? pa_strerror(pa_context_errno(p_sys->context)) : "NULL"); \
+        goto label; \
+    }  \
+} while(0);
+/*****************************************************************************
+ * Local prototypes
+ *****************************************************************************/
+static int  Open        ( vlc_object_t * );
+static void Close       ( vlc_object_t * );
+static void Play        ( aout_instance_t * );
+
+static void context_state_cb(pa_context *c, void *userdata);
+static void stream_state_cb(pa_stream *s, void * userdata);
+static void stream_request_cb(pa_stream *s, size_t length, void *userdata);
+static void stream_latency_update_cb(pa_stream *s, void *userdata);
+static void success_cb(pa_stream *s, int sucess, void *userdata);
+static void uninit(aout_instance_t *p_aout);
+/*****************************************************************************
+ * Module descriptor
+ *****************************************************************************/
+vlc_module_begin();
+    set_shortname( "Pulse Audio" );
+    set_description( _("Pulseaudio audio output") );
+    set_capability( "audio output", 125 );
+    set_category( CAT_AUDIO );
+    set_subcategory( SUBCAT_AUDIO_AOUT );
+    add_shortcut( "pulseaudio" );
+    add_shortcut( "pa" );
+    set_callbacks( Open, Close );
+vlc_module_end();
+
+/*****************************************************************************
+ * Open: open the audio device
+ *****************************************************************************/
+static int Open ( vlc_object_t *p_this )
+{
+    aout_instance_t *p_aout = (aout_instance_t *)p_this;
+    struct aout_sys_t * p_sys;
+    struct pa_sample_spec ss;
+    const struct pa_buffer_attr *buffer_attr;
+    struct pa_buffer_attr a;
+    struct pa_channel_map map;
+
+    /* Allocate structures */
+    p_aout->output.p_sys = p_sys = malloc( sizeof( aout_sys_t ) );
+    if( p_sys == NULL )
+    {
+        msg_Err( p_aout, "out of memory" );
+        return VLC_ENOMEM;
+    }
+    p_sys->started = 0;
+    p_sys->stream = NULL;
+    p_sys->mainloop = NULL;
+    p_sys->context = NULL;
+
+    PULSE_DEBUG( "Pulse start initialization");
+
+    ss.rate = p_aout->output.output.i_rate;
+    ss.channels = 2;
+
+    ss.format = PA_SAMPLE_S16LE;
+    p_aout->output.output.i_physical_channels =
+            AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT;
+    p_aout->output.output.i_format = AOUT_FMT_S16_NE;
+
+    if (!pa_sample_spec_valid(&ss)) {
+        msg_Err(p_aout,"Invalid sample spec");
+        goto fail;
+    }
+    
+    a.maxlength = pa_bytes_per_second(&ss)/4/pa_frame_size(&ss);
+    a.tlength = a.maxlength*9/10;
+    a.prebuf = a.tlength/2;
+    a.minreq = a.tlength/10;
+
+    a.maxlength *= pa_frame_size(&ss);
+    a.tlength *= pa_frame_size(&ss);
+    a.prebuf *= pa_frame_size(&ss);
+    a.minreq *= pa_frame_size(&ss);
+
+    p_sys->buffer_size = a.minreq;
+
+    pa_channel_map_init_stereo(&map);
+
+
+    if (!(p_sys->mainloop = pa_threaded_mainloop_new())) {
+        msg_Err(p_aout, "Failed to allocate main loop");
+        goto fail;
+    }
+
+    if (!(p_sys->context = pa_context_new(pa_threaded_mainloop_get_api(p_sys->mainloop), _( PULSE_CLIENT_NAME )))) {
+        msg_Err(p_aout, "Failed to allocate context");
+        goto fail;
+    }
+
+    pa_context_set_state_callback(p_sys->context, context_state_cb, p_aout);
+
+    PULSE_DEBUG( "Pulse before context connect");
+
+    if (pa_context_connect(p_sys->context, NULL, 0, NULL) < 0) {
+        msg_Err(p_aout, "Failed to connect to server: %s", pa_strerror(pa_context_errno(p_sys->context)));
+        goto fail;
+    }
+
+    PULSE_DEBUG( "Pulse after context connect");
+
+    pa_threaded_mainloop_lock(p_sys->mainloop);
+    
+    if (pa_threaded_mainloop_start(p_sys->mainloop) < 0) {
+        msg_Err(p_aout, "Failed to start main loop");
+        goto unlock_and_fail;
+    }
+
+    msg_Dbg(p_aout, "Pulse mainloop started");
+
+    /* Wait until the context is ready */
+    pa_threaded_mainloop_wait(p_sys->mainloop);
+
+    if (pa_context_get_state(p_sys->context) != PA_CONTEXT_READY) {
+        msg_Err(p_aout, "Failed to connect to server: %s", pa_strerror(pa_context_errno(p_sys->context)));
+        goto unlock_and_fail;
+    }
+
+    if (!(p_sys->stream = pa_stream_new(p_sys->context, "audio stream", &ss, &map))) {
+        msg_Err(p_aout, "Failed to create stream: %s", pa_strerror(pa_context_errno(p_sys->context)));
+        goto unlock_and_fail;
+    }
+
+    PULSE_DEBUG( "Pulse after new stream");
+
+    pa_stream_set_state_callback(p_sys->stream, stream_state_cb, p_aout);
+    pa_stream_set_write_callback(p_sys->stream, stream_request_cb, p_aout);
+    pa_stream_set_latency_update_callback(p_sys->stream, stream_latency_update_cb, p_aout);
+
+    if (pa_stream_connect_playback(p_sys->stream, NULL, &a, PA_STREAM_INTERPOLATE_TIMING|PA_STREAM_AUTO_TIMING_UPDATE, NULL, NULL) < 0) {
+        msg_Err(p_aout, "Failed to connect stream: %s", pa_strerror(pa_context_errno(p_sys->context)));
+        goto unlock_and_fail;
+    }
+
+     PULSE_DEBUG("Pulse stream connect");
+
+    /* Wait until the stream is ready */
+    pa_threaded_mainloop_wait(p_sys->mainloop);
+
+    msg_Dbg(p_aout,"Pulse stream connected");
+
+    if (pa_stream_get_state(p_sys->stream) != PA_STREAM_READY) {
+        msg_Err(p_aout, "Failed to connect to server: %s", pa_strerror(pa_context_errno(p_sys->context)));
+        goto unlock_and_fail;
+    }
+
+
+    PULSE_DEBUG("Pulse after stream get status");
+
+    pa_threaded_mainloop_unlock(p_sys->mainloop);
+
+    buffer_attr = pa_stream_get_buffer_attr(p_sys->stream);
+    p_aout->output.i_nb_samples = buffer_attr->minreq / pa_frame_size(&ss);
+    p_aout->output.pf_play = Play;
+    aout_VolumeSoftInit(p_aout);
+    msg_Dbg(p_aout, "Pulse initialized successfully");
+    {
+        char cmt[PA_CHANNEL_MAP_SNPRINT_MAX], sst[PA_SAMPLE_SPEC_SNPRINT_MAX];
+
+        msg_Dbg(p_aout, "Buffer metrics: maxlength=%u, tlength=%u, prebuf=%u, minreq=%u", buffer_attr->maxlength, buffer_attr->tlength, buffer_attr->prebuf, buffer_attr->minreq);
+        msg_Dbg(p_aout, "Using sample spec '%s', channel map '%s'.",
+                pa_sample_spec_snprint(sst, sizeof(sst), pa_stream_get_sample_spec(p_sys->stream)),
+                pa_channel_map_snprint(cmt, sizeof(cmt), pa_stream_get_channel_map(p_sys->stream)));
+
+            msg_Dbg(p_aout, "Connected to device %s (%u, %ssuspended).",
+                        pa_stream_get_device_name(p_sys->stream),
+                        pa_stream_get_device_index(p_sys->stream),
+                        pa_stream_is_suspended(p_sys->stream) ? "" : "not ");
+    }
+
+    return VLC_SUCCESS;
+
+unlock_and_fail:
+    msg_Dbg(p_aout, "Pulse initialization unlock and fail");
+
+    if (p_sys->mainloop)
+        pa_threaded_mainloop_unlock(p_sys->mainloop);
+fail:
+    msg_Err(p_aout, "Pulse initialization failed");
+    uninit(p_aout);
+    return VLC_EGENERIC;
+}
+
+/*****************************************************************************
+ * Play: play a sound samples buffer
+ *****************************************************************************/
+static void Play( aout_instance_t * p_aout )
+{
+    struct aout_sys_t * p_sys = (struct aout_sys_t *) p_aout->output.p_sys;
+
+    pa_operation *o;
+
+    if(!p_sys->started){
+        msg_Dbg(p_aout, "Pulse stream started");
+        p_sys->start_date =
+            aout_FifoFirstDate( p_aout, &p_aout->output.fifo );
+        p_sys->started = 1;
+
+        pa_threaded_mainloop_lock(p_sys->mainloop);
+        if((o = pa_stream_flush(p_sys->stream, success_cb, p_aout))){
+            pa_operation_unref(o);
+        }
+        pa_threaded_mainloop_unlock(p_sys->mainloop);
+
+        pa_threaded_mainloop_signal(p_sys->mainloop, 0);
+    }
+}
+
+/*****************************************************************************
+ * Close: close the audio device
+ *****************************************************************************/
+static void Close ( vlc_object_t *p_this )
+{
+    aout_instance_t *p_aout = (aout_instance_t *)p_this;
+    struct aout_sys_t * p_sys = p_aout->output.p_sys;
+
+    msg_Dbg(p_aout, "Pulse Close");
+
+    if(p_sys->stream){
+        pa_operation *o;
+        pa_threaded_mainloop_lock(p_sys->mainloop);
+        pa_stream_set_write_callback(p_sys->stream, NULL, NULL);
+
+        if((o = pa_stream_drain(p_sys->stream, success_cb, p_aout))){
+            while (pa_operation_get_state(o) != PA_OPERATION_DONE) {
+                CHECK_DEAD_GOTO(fail);
+                pa_threaded_mainloop_wait(p_sys->mainloop);
+            }
+
+        fail:
+
+            pa_operation_unref(o);
+        }
+
+        pa_threaded_mainloop_unlock(p_sys->mainloop);
+    }
+    uninit(p_aout);
+}
+
+static void uninit(aout_instance_t *p_aout){
+    struct aout_sys_t * p_sys = p_aout->output.p_sys;
+
+    if (p_sys->mainloop)
+        pa_threaded_mainloop_stop(p_sys->mainloop);
+
+    if (p_sys->stream) {
+        pa_stream_disconnect(p_sys->stream);
+        pa_stream_unref(p_sys->stream);
+        p_sys->stream = NULL;
+    }
+
+    if (p_sys->context) {
+        pa_context_disconnect(p_sys->context);
+        pa_context_unref(p_sys->context);
+        p_sys->context = NULL;
+    }
+
+    if (p_sys->mainloop) {
+        pa_threaded_mainloop_free(p_sys->mainloop);
+        p_sys->mainloop = NULL;
+    }
+
+    free(p_sys);
+    p_aout->output.p_sys = NULL;
+}
+
+static void context_state_cb(pa_context *c, void *userdata) {
+    aout_instance_t *p_aout = (aout_instance_t *)userdata;
+    struct aout_sys_t * p_sys = (struct aout_sys_t *) p_aout->output.p_sys;
+
+    assert(c);
+
+    PULSE_DEBUG( "Pulse context state changed");
+
+    switch (pa_context_get_state(c)) {
+        case PA_CONTEXT_READY:
+        case PA_CONTEXT_TERMINATED:
+        case PA_CONTEXT_FAILED:
+        PULSE_DEBUG( "Pulse context state changed signal");
+            pa_threaded_mainloop_signal(p_sys->mainloop, 0);
+            break;
+
+        case PA_CONTEXT_UNCONNECTED:
+        case PA_CONTEXT_CONNECTING:
+        case PA_CONTEXT_AUTHORIZING:
+        case PA_CONTEXT_SETTING_NAME:
+        PULSE_DEBUG( "Pulse context state changed no signal");
+            break;
+    }
+}
+
+static void stream_state_cb(pa_stream *s, void * userdata) {
+    aout_instance_t *p_aout = (aout_instance_t *)userdata;
+    struct aout_sys_t * p_sys = (struct aout_sys_t *) p_aout->output.p_sys;
+
+    assert(s);
+
+    PULSE_DEBUG( "Pulse stream state changed");
+
+    switch (pa_stream_get_state(s)) {
+
+        case PA_STREAM_READY:
+        case PA_STREAM_FAILED:
+        case PA_STREAM_TERMINATED:
+            pa_threaded_mainloop_signal(p_sys->mainloop, 0);
+            break;
+
+        case PA_STREAM_UNCONNECTED:
+        case PA_STREAM_CREATING:
+            break;
+    }
+}
+
+static void stream_request_cb(pa_stream *s, size_t length, void *userdata) {
+    aout_instance_t *p_aout = (aout_instance_t *)userdata;
+    struct aout_sys_t * p_sys = (struct aout_sys_t *) p_aout->output.p_sys;
+    mtime_t next_date;
+
+    assert(s);
+    assert(p_sys);
+
+    size_t buffer_size = p_sys->buffer_size;
+
+    PULSE_DEBUG( "Pulse stream request %d", length);
+
+    do{
+        aout_buffer_t *   p_buffer = NULL;
+        if(p_sys->started){
+            pa_usec_t latency;
+            int negative;
+            if(pa_stream_get_latency(p_sys->stream, &latency, &negative)<0){
+                if (pa_context_errno(p_sys->context) != PA_ERR_NODATA) {
+                    msg_Err(p_aout, "pa_stream_get_latency() failed: %s", pa_strerror(pa_context_errno(p_sys->context)));
+                }
+                latency = 0;
+
+            }
+            PULSE_DEBUG( "Pulse stream request latency="I64Fd"", latency);
+            next_date = mdate() + latency;
+
+
+            if(p_sys->start_date < next_date + AOUT_PTS_TOLERANCE ){
+    /*
+                  vlc_mutex_lock( &p_aout->output_fifo_lock );
+                p_buffer = aout_FifoPop( p_aout, &p_aout->output.fifo );
+                vlc_mutex_unlock( &p_aout->output_fifo_lock );
+    */
+                p_buffer = aout_OutputNextBuffer( p_aout, next_date, 0);
+            }
+        }
+
+        if ( p_buffer != NULL )
+        {
+            PULSE_DEBUG( "Pulse stream request write buffer %d", p_buffer->i_nb_bytes);
+            pa_stream_write(p_sys->stream, p_buffer->p_buffer, p_buffer->i_nb_bytes, NULL, 0, PA_SEEK_RELATIVE);
+            length -= p_buffer->i_nb_bytes;
+            aout_BufferFree( p_buffer );
+        }
+        else
+        {
+            PULSE_DEBUG( "Pulse stream request write zeroes");
+            void *data = pa_xmalloc(buffer_size);
+            bzero(data, buffer_size);
+            pa_stream_write(p_sys->stream, data, buffer_size, pa_xfree, 0, PA_SEEK_RELATIVE);
+            length -= buffer_size;
+        }
+    }while(length > buffer_size);
+
+    pa_threaded_mainloop_signal(p_sys->mainloop, 0);
+}
+
+static void stream_latency_update_cb(pa_stream *s, void *userdata) {
+    aout_instance_t *p_aout = (aout_instance_t *)userdata;
+    struct aout_sys_t * p_sys = (struct aout_sys_t *) p_aout->output.p_sys;
+
+    assert(s);
+
+    PULSE_DEBUG( "Pulse stream latency update");
+
+    pa_threaded_mainloop_signal(p_sys->mainloop, 0);
+}
+
+static void success_cb(pa_stream *s, int sucess, void *userdata)
+{
+    aout_instance_t *p_aout = (aout_instance_t *)userdata;
+    struct aout_sys_t * p_sys = (struct aout_sys_t *) p_aout->output.p_sys;
+
+    (void)(sucess);
+
+    assert(s);
+
+    pa_threaded_mainloop_signal(p_sys->mainloop, 0);
+}
+
+#undef PULSE_DEBUG
diff -up vlc-0.8.6e/modules/audio_output/Modules.am.pulse vlc-0.8.6e/modules/audio_output/Modules.am
--- vlc-0.8.6e/modules/audio_output/Modules.am.pulse	2008-02-04 13:03:13.000000000 +0100
+++ vlc-0.8.6e/modules/audio_output/Modules.am	2008-02-26 01:22:10.000000000 +0100
@@ -10,3 +10,4 @@ SOURCES_hd1000a = hd1000a.cpp
 SOURCES_portaudio = portaudio.c
 SOURCES_auhal = auhal.c
 SOURCES_jack = jack.c
+SOURCES_pulse = pulse.c

vlc-0.8.6e-pulse_default.patch:

--- NEW FILE vlc-0.8.6e-pulse_default.patch ---
diff -up vlc-0.8.6e/modules/audio_output/pulse.c.pulse_default vlc-0.8.6e/modules/audio_output/pulse.c
--- vlc-0.8.6e/modules/audio_output/pulse.c.pulse_default	2008-02-26 02:06:44.000000000 +0100
+++ vlc-0.8.6e/modules/audio_output/pulse.c	2008-02-26 02:07:09.000000000 +0100
@@ -94,7 +94,7 @@ static void uninit(aout_instance_t *p_ao
 vlc_module_begin();
     set_shortname( "Pulse Audio" );
     set_description( _("Pulseaudio audio output") );
-    set_capability( "audio output", 125 );
+    set_capability( "audio output", 200 );
     set_category( CAT_AUDIO );
     set_subcategory( SUBCAT_AUDIO_AOUT );
     add_shortcut( "pulseaudio" );

vlc-0.8.6e-xulrunner.patch:

--- NEW FILE vlc-0.8.6e-xulrunner.patch ---
diff -up vlc-0.8.6f/mozilla/vlcshell.cpp.libxul vlc-0.8.6f/mozilla/vlcshell.cpp
--- vlc-0.8.6f/mozilla/vlcshell.cpp.libxul	2008-03-23 23:41:49.000000000 +0100
+++ vlc-0.8.6f/mozilla/vlcshell.cpp	2008-04-01 02:50:58.000000000 +0200
@@ -36,9 +36,7 @@
 #endif
 
 /* This is from mozilla java, do we really need it? */
-#if 0
 #include <jri.h>
-#endif
 
 #include "vlcplugin.h"
 
@@ -325,7 +323,7 @@ NPError NPP_Destroy( NPP instance, NPSav
 
     instance->pdata = NULL;
 
-#if XP_WIN
+#ifdef XP_WIN
     HWND win = (HWND)p_plugin->getWindow()->window;
     WNDPROC winproc = p_plugin->getWindowProc();
     if( winproc )
@@ -652,7 +650,7 @@ void NPP_Print( NPP instance, NPPrint* p
 /******************************************************************************
  * Windows-only methods
  *****************************************************************************/
-#if XP_WIN
+#ifdef XP_WIN
 static LRESULT CALLBACK Manage( HWND p_hwnd, UINT i_msg, WPARAM wpar, LPARAM lpar )
 {
     VlcPlugin* p_plugin = reinterpret_cast<VlcPlugin*>(GetWindowLongPtr(p_hwnd, GWLP_USERDATA));
diff -up vlc-0.8.6f/mozilla/vlcplugin.cpp.libxul vlc-0.8.6f/mozilla/vlcplugin.cpp
--- vlc-0.8.6f/mozilla/vlcplugin.cpp.libxul	2008-03-23 23:41:49.000000000 +0100
+++ vlc-0.8.6f/mozilla/vlcplugin.cpp	2008-04-01 02:48:41.000000000 +0200
@@ -50,10 +50,10 @@ VlcPlugin::VlcPlugin( NPP instance, uint
     p_scriptClass(NULL),
     p_browser(instance),
     psz_baseURL(NULL)
-#if XP_WIN
+#ifdef XP_WIN
     ,pf_wndproc(NULL)
 #endif
-#if XP_UNIX
+#ifdef XP_UNIX
     ,i_width((unsigned)-1)
     ,i_height((unsigned)-1)
 #endif
@@ -448,7 +448,7 @@ relativeurl:
     return NULL;
 }
 
-#if XP_UNIX
+#ifdef XP_UNIX
 int  VlcPlugin::setSize(unsigned width, unsigned height)
 {
     int diff = (width != i_width) || (height != i_height);
diff -up vlc-0.8.6f/mozilla/vlcplugin.h.libxul vlc-0.8.6f/mozilla/vlcplugin.h
--- vlc-0.8.6f/mozilla/vlcplugin.h.libxul	2008-03-23 23:41:49.000000000 +0100
+++ vlc-0.8.6f/mozilla/vlcplugin.h	2008-04-01 04:00:33.000000000 +0200
@@ -78,14 +78,14 @@ public:
                             { libvlc_log = log; };
     libvlc_log_t*       getLog()
                             { return libvlc_log; };
-#if XP_WIN
+#ifdef XP_WIN
     WNDPROC             getWindowProc()
                             { return pf_wndproc; };
     void                setWindowProc(WNDPROC wndproc)
                             { pf_wndproc = wndproc; };
 #endif
 
-#if XP_UNIX
+#ifdef XP_UNIX
     int                 setSize(unsigned width, unsigned height);
 #endif
 
@@ -108,10 +108,10 @@ private:
 
     /* display settings */
     NPWindow  npwindow;
-#if XP_WIN
+#ifdef XP_WIN
     WNDPROC   pf_wndproc;
 #endif
-#if XP_UNIX
+#ifdef XP_UNIX
     unsigned int     i_width, i_height;
 #endif
 };
diff -up vlc-0.8.6f/configure.ac.libxul vlc-0.8.6f/configure.ac
--- vlc-0.8.6f/configure.ac.libxul	2008-04-01 02:48:40.000000000 +0200
+++ vlc-0.8.6f/configure.ac	2008-04-01 02:48:41.000000000 +0200
@@ -5119,7 +5119,7 @@ then
   if test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no"
   then
     dnl New firefox-1.5 SDK api
-    PKG_CHECK_MODULES([FIREFOX], [firefox-plugin],
+    PKG_CHECK_MODULES([FIREFOX], [libxul],
       [
         PKG_CHECK_MODULES([FIREFOX_XPCOM], [firefox-xpcom],
           [],
@@ -5138,7 +5138,6 @@ then
           ])
         CPPFLAGS="${CPPFLAGS_save} ${FIREFOX_CFLAGS} ${FIREFOX_XPCOM_CFLAGS} ${MOZILLA_NSPR_CFLAGS} ${NSPR_CFLAGS} ${MOZILLA_CPPFLAGS}"
         MOZILLA_REQUIRED_HEADERS=1
-        AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0)
         AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0)
         AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0,
           [#if HAVE_NPAPI_H
@@ -5150,21 +5160,14 @@ then
            #endif
           ])
         if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then
-            AC_MSG_ERROR([Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found.])
+            AC_MSG_ERROR([Please install the Firefox development tools; plugin/npapi.h and plugin/npruntime.h were not found.])
         fi
+        AC_DEFINE([XP_UNIX],[1],[Defined for Mozilla as we are Unix])
+        AC_DEFINE([MOZ_X11],[1],[Defined as Unix mozilla uses X11])
+        AC_DEFINE([OJI],[1],[Java Runtime Interface])
         MOZILLA_REQUIRED_HEADERS=
         mozilla=:
-        firefox_include=`pkg-config --variable=includedir firefox-plugin`
-        if test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config32.h"; then
-            MOZILLA_CONFIG_H="${firefox_include}/mozilla-config32.h"
-        elif test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config64.h"; then
-            MOZILLA_CONFIG_H="${firefox_include}/mozilla-config64.h"
-        else
-            MOZILLA_CONFIG_H="${firefox_include}/mozilla-config.h"
-        fi
-        if grep '^#define MOZ_X11 1' ${MOZILLA_CONFIG_H} 2>&1 > /dev/null ; then
-            VLC_ADD_LDFLAGS([mozilla], [${X_LIBS} ${X_PRE_LIBS} -lX11 -lXt])
-        fi
+        VLC_ADD_LDFLAGS([mozilla], [${X_LIBS} ${X_PRE_LIBS} -lX11 -lXt])
         VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS}])
         VLC_ADD_LDFLAGS([mozilla],[${FIREFOX_LIBS} ${MOZILLA_NSPR_LIBS} ${NSPR_LIBS} ${MOZILLA_LDFLAGS}])
         VLC_ADD_PLUGINS([mozilla])

vlc-0.8.6f-all_plugin.patch:

--- NEW FILE vlc-0.8.6f-all_plugin.patch ---
diff -up vlc-0.8.6f/configure.ac.all_plugin vlc-0.8.6f/configure.ac
--- vlc-0.8.6f/configure.ac.all_plugin	2008-05-07 12:00:49.000000000 +0200
+++ vlc-0.8.6f/configure.ac	2008-05-07 12:00:49.000000000 +0200
@@ -1365,7 +1365,7 @@ dnl
 if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "x86" -o "${target_cpu}" = "i386" -o "${target_cpu}" = "x86_64"
 then
     ARCH="${ARCH} mmx"
-    VLC_ADD_BUILTINS([${ACCEL_MODULES}])
+    VLC_ADD_PLUGINS([${ACCEL_MODULES}])
 fi
 
 dnl
@@ -1390,9 +1390,9 @@ dnl
 AC_ARG_ENABLE(altivec,
 [  --disable-altivec       disable AltiVec optimizations (default enabled on PPC)],
 [ if test "${enable_altivec}" = "yes"; then ARCH="${ARCH} altivec";
-    VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ],
+    VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ],
 [ if test "${target_cpu}" = "powerpc"; then ARCH="${ARCH} altivec";
-    VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ])
+    VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ])
 
 dnl
 dnl  Debugging mode
@@ -1904,7 +1904,7 @@ then
       AC_CHECK_HEADERS(dvbpsi/dr.h,
         [ VLC_ADD_PLUGINS([ts])
           if test "${enable_sout}" != "no"; then
-            VLC_ADD_BUILTINS([mux_ts])
+            VLC_ADD_PLUGINS([mux_ts])
           fi
           VLC_ADD_LDFLAGS([mux_ts ts dvb],[-ldvbpsi]) ],
         [  AC_MSG_WARN([cannot find libdvbpsi headers]) ],
@@ -1930,9 +1930,9 @@ then
       then
         dnl  Use a custom libdvbpsi
         AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
-        VLC_ADD_BUILTINS([ts])
+        VLC_ADD_PLUGINS([ts])
         if test "${enable_sout}" != "no"; then
-          VLC_ADD_BUILTINS([mux_ts])
+          VLC_ADD_PLUGINS([mux_ts])
         fi
         VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src])
         VLC_ADD_LDFLAGS([mux_ts ts dvb],[${real_dvbpsi_tree}/src/.libs/libdvbpsi.a])
@@ -2483,7 +2483,7 @@ then
       VLC_ADD_LDFLAGS([mpgatofixed32],[-L${real_mad_tree}/.libs])
       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
       AC_CHECK_LIB(mad, mad_bit_init, [
-        VLC_ADD_BUILTINS([mpgatofixed32])
+        VLC_ADD_PLUGINS([mpgatofixed32])
         VLC_ADD_LDFLAGS([mpgatofixed32],[-lmad])
         ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ])
       ],[])
@@ -5416,7 +5404,7 @@ then
     eval "${plugin}_p=yes"
   done
 else
-  VLC_ADD_BUILTINS([${PLUGINS}])
+  VLC_ADD_PLUGINS([${PLUGINS}])
   PLUGINS=""
 fi
 AM_CONDITIONAL(HAVE_PLUGINS, ${plugin_support})
diff -up vlc-0.8.6f/vlc-config.in.in.all_plugin vlc-0.8.6f/vlc-config.in.in
--- vlc-0.8.6f/vlc-config.in.in.all_plugin	2008-05-07 12:22:25.000000000 +0200
+++ vlc-0.8.6f/vlc-config.in.in	2008-05-07 12:23:00.000000000 +0200
@@ -209,6 +209,7 @@ while test $# -gt 0; do
     activex)
       ;;
     pic)
+      cppflags="${cppflags} -fPIC -DPIC"
       ;;
     external)
       echo_external=yes
diff -up vlc-0.8.6f/modules/video_chroma/Makefile.am.fpicplugin vlc-0.8.6f/modules/video_chroma/Makefile.am
--- vlc-0.8.6f/modules/video_chroma/Makefile.am.all_plugin	2008-05-07 12:41:42.000000000 +0200
+++ vlc-0.8.6f/modules/video_chroma/Makefile.am	2008-05-07 12:44:42.000000000 +0200
@@ -92,13 +92,13 @@ endif
 
 libi420_rgb_plugin_a_SOURCES = $(SOURCES_i420_rgb)
 libi420_rgb_plugin_la_SOURCES = $(SOURCES_i420_rgb)
-libi420_rgb_plugin_a_CFLAGS = `$(VLC_CONFIG) --cflags plugin i420_rgb`
-libi420_rgb_plugin_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin i420_rgb`
-libi420_rgb_plugin_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin i420_rgb`
-libi420_rgb_plugin_la_CFLAGS = `$(VLC_CONFIG) --cflags plugin i420_rgb`
-libi420_rgb_plugin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin i420_rgb`
-libi420_rgb_plugin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin i420_rgb`
-libi420_rgb_plugin_la_LDFLAGS = `$(VLC_CONFIG) --libs plugin i420_rgb` \
+libi420_rgb_plugin_a_CFLAGS = `$(VLC_CONFIG) --cflags plugin pic i420_rgb`
+libi420_rgb_plugin_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin pic i420_rgb`
+libi420_rgb_plugin_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin pic i420_rgb`
+libi420_rgb_plugin_la_CFLAGS = `$(VLC_CONFIG) --cflags plugin pic i420_rgb`
+libi420_rgb_plugin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin pic i420_rgb`
+libi420_rgb_plugin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin pic i420_rgb`
+libi420_rgb_plugin_la_LDFLAGS = `$(VLC_CONFIG) --libs plugin pic i420_rgb` \
 	-rpath '$(libvlcdir)' -avoid-version -module -shrext $(LIBEXT)
 libi420_rgb_plugin_la_LIBADD = $(LTLIBVLC)
 
@@ -107,21 +107,21 @@ libi420_rgb_builtin_la_SOURCES = $(SOURC
 libi420_rgb_a_CFLAGS = `$(VLC_CONFIG) --cflags builtin pic i420_rgb`
 libi420_rgb_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags builtin pic i420_rgb`
 libi420_rgb_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags builtin pic i420_rgb`
-libi420_rgb_builtin_la_CFLAGS = `$(VLC_CONFIG) --cflags builtin i420_rgb`
-libi420_rgb_builtin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags builtin i420_rgb`
-libi420_rgb_builtin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags builtin i420_rgb`
+libi420_rgb_builtin_la_CFLAGS = `$(VLC_CONFIG) --cflags builtin pic i420_rgb`
+libi420_rgb_builtin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags builtin pic i420_rgb`
+libi420_rgb_builtin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags builtin pic i420_rgb`
 
 # The i420_rgb_mmx plugin
 
 libi420_rgb_mmx_plugin_a_SOURCES = $(SOURCES_i420_rgb_mmx)
 libi420_rgb_mmx_plugin_la_SOURCES = $(SOURCES_i420_rgb_mmx)
-libi420_rgb_mmx_plugin_a_CFLAGS = `$(VLC_CONFIG) --cflags plugin i420_rgb_mmx`
-libi420_rgb_mmx_plugin_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin i420_rgb_mmx`
-libi420_rgb_mmx_plugin_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin i420_rgb_mmx`
-libi420_rgb_mmx_plugin_la_CFLAGS = `$(VLC_CONFIG) --cflags plugin i420_rgb_mmx`
-libi420_rgb_mmx_plugin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin i420_rgb_mmx`
-libi420_rgb_mmx_plugin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin i420_rgb_mmx`
-libi420_rgb_mmx_plugin_la_LDFLAGS = `$(VLC_CONFIG) --libs plugin i420_rgb_mmx` \
+libi420_rgb_mmx_plugin_a_CFLAGS = `$(VLC_CONFIG) --cflags plugin pic i420_rgb_mmx`
+libi420_rgb_mmx_plugin_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin pic i420_rgb_mmx`
+libi420_rgb_mmx_plugin_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin pic i420_rgb_mmx`
+libi420_rgb_mmx_plugin_la_CFLAGS = `$(VLC_CONFIG) --cflags plugin pic i420_rgb_mmx`
+libi420_rgb_mmx_plugin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin pic i420_rgb_mmx`
+libi420_rgb_mmx_plugin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin pic i420_rgb_mmx`
+libi420_rgb_mmx_plugin_la_LDFLAGS = `$(VLC_CONFIG) --libs plugin pic i420_rgb_mmx` \
 	-rpath '$(libvlcdir)' -avoid-version -module -shrext $(LIBEXT)
 libi420_rgb_mmx_plugin_la_LIBADD = $(LTLIBVLC)
 
@@ -130,21 +130,21 @@ libi420_rgb_mmx_builtin_la_SOURCES = $(S
 libi420_rgb_mmx_a_CFLAGS = `$(VLC_CONFIG) --cflags builtin pic i420_rgb_mmx`
 libi420_rgb_mmx_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags builtin pic i420_rgb_mmx`
 libi420_rgb_mmx_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags builtin pic i420_rgb_mmx`
-libi420_rgb_mmx_builtin_la_CFLAGS = `$(VLC_CONFIG) --cflags builtin i420_rgb_mmx`
-libi420_rgb_mmx_builtin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags builtin i420_rgb_mmx`
-libi420_rgb_mmx_builtin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags builtin i420_rgb_mmx`
+libi420_rgb_mmx_builtin_la_CFLAGS = `$(VLC_CONFIG) --cflags builtin pic i420_rgb_mmx`
+libi420_rgb_mmx_builtin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags builtin pic i420_rgb_mmx`
+libi420_rgb_mmx_builtin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags builtin pic i420_rgb_mmx`
 
 # The i420_yuy2 plugin
 
 libi420_yuy2_plugin_a_SOURCES = $(SOURCES_i420_yuy2)
 libi420_yuy2_plugin_la_SOURCES = $(SOURCES_i420_yuy2)
-libi420_yuy2_plugin_a_CFLAGS = `$(VLC_CONFIG) --cflags plugin i420_yuy2`
-libi420_yuy2_plugin_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin i420_yuy2`
-libi420_yuy2_plugin_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin i420_yuy2`
-libi420_yuy2_plugin_la_CFLAGS = `$(VLC_CONFIG) --cflags plugin i420_yuy2`
-libi420_yuy2_plugin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin i420_yuy2`
-libi420_yuy2_plugin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin i420_yuy2`
-libi420_yuy2_plugin_la_LDFLAGS = `$(VLC_CONFIG) --libs plugin i420_yuy2` \
+libi420_yuy2_plugin_a_CFLAGS = `$(VLC_CONFIG) --cflags plugin pic i420_yuy2`
+libi420_yuy2_plugin_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin pic i420_yuy2`
+libi420_yuy2_plugin_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin pic i420_yuy2`
+libi420_yuy2_plugin_la_CFLAGS = `$(VLC_CONFIG) --cflags plugin pic i420_yuy2`
+libi420_yuy2_plugin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin pic i420_yuy2`
+libi420_yuy2_plugin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin pic i420_yuy2`
+libi420_yuy2_plugin_la_LDFLAGS = `$(VLC_CONFIG) --libs plugin pic i420_yuy2` \
 	-rpath '$(libvlcdir)' -avoid-version -module -shrext $(LIBEXT)
 libi420_yuy2_plugin_la_LIBADD = $(LTLIBVLC)
 
@@ -153,21 +153,21 @@ libi420_yuy2_builtin_la_SOURCES = $(SOUR
 libi420_yuy2_a_CFLAGS = `$(VLC_CONFIG) --cflags builtin pic i420_yuy2`
 libi420_yuy2_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags builtin pic i420_yuy2`
 libi420_yuy2_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags builtin pic i420_yuy2`
-libi420_yuy2_builtin_la_CFLAGS = `$(VLC_CONFIG) --cflags builtin i420_yuy2`
-libi420_yuy2_builtin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags builtin i420_yuy2`
-libi420_yuy2_builtin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags builtin i420_yuy2`
+libi420_yuy2_builtin_la_CFLAGS = `$(VLC_CONFIG) --cflags builtin pic i420_yuy2`
+libi420_yuy2_builtin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags builtin pic i420_yuy2`
+libi420_yuy2_builtin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags builtin pic i420_yuy2`
 
 # The i420_yuy2_mmx plugin
 
 libi420_yuy2_mmx_plugin_a_SOURCES = $(SOURCES_i420_yuy2_mmx)
 libi420_yuy2_mmx_plugin_la_SOURCES = $(SOURCES_i420_yuy2_mmx)
-libi420_yuy2_mmx_plugin_a_CFLAGS = `$(VLC_CONFIG) --cflags plugin i420_yuy2_mmx`
-libi420_yuy2_mmx_plugin_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin i420_yuy2_mmx`
-libi420_yuy2_mmx_plugin_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin i420_yuy2_mmx`
-libi420_yuy2_mmx_plugin_la_CFLAGS = `$(VLC_CONFIG) --cflags plugin i420_yuy2_mmx`
-libi420_yuy2_mmx_plugin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin i420_yuy2_mmx`
-libi420_yuy2_mmx_plugin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin i420_yuy2_mmx`
-libi420_yuy2_mmx_plugin_la_LDFLAGS = `$(VLC_CONFIG) --libs plugin i420_yuy2_mmx` \
+libi420_yuy2_mmx_plugin_a_CFLAGS = `$(VLC_CONFIG) --cflags plugin pic i420_yuy2_mmx`
+libi420_yuy2_mmx_plugin_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin pic i420_yuy2_mmx`
+libi420_yuy2_mmx_plugin_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin pic i420_yuy2_mmx`
+libi420_yuy2_mmx_plugin_la_CFLAGS = `$(VLC_CONFIG) --cflags plugin pic i420_yuy2_mmx`
+libi420_yuy2_mmx_plugin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin pic i420_yuy2_mmx`
+libi420_yuy2_mmx_plugin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin pic i420_yuy2_mmx`
+libi420_yuy2_mmx_plugin_la_LDFLAGS = `$(VLC_CONFIG) --libs plugin pic i420_yuy2_mmx` \
 	-rpath '$(libvlcdir)' -avoid-version -module -shrext $(LIBEXT)
 libi420_yuy2_mmx_plugin_la_LIBADD = $(LTLIBVLC)
 
@@ -176,21 +176,21 @@ libi420_yuy2_mmx_builtin_la_SOURCES = $(
 libi420_yuy2_mmx_a_CFLAGS = `$(VLC_CONFIG) --cflags builtin pic i420_yuy2_mmx`
 libi420_yuy2_mmx_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags builtin pic i420_yuy2_mmx`
 libi420_yuy2_mmx_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags builtin pic i420_yuy2_mmx`
-libi420_yuy2_mmx_builtin_la_CFLAGS = `$(VLC_CONFIG) --cflags builtin i420_yuy2_mmx`
-libi420_yuy2_mmx_builtin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags builtin i420_yuy2_mmx`
-libi420_yuy2_mmx_builtin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags builtin i420_yuy2_mmx`
+libi420_yuy2_mmx_builtin_la_CFLAGS = `$(VLC_CONFIG) --cflags builtin pic i420_yuy2_mmx`
+libi420_yuy2_mmx_builtin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags builtin pic i420_yuy2_mmx`
+libi420_yuy2_mmx_builtin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags builtin pic i420_yuy2_mmx`
 
 # The i420_yuy2_altivec plugin
 
 libi420_yuy2_altivec_plugin_a_SOURCES = $(SOURCES_i420_yuy2_altivec)
 libi420_yuy2_altivec_plugin_la_SOURCES = $(SOURCES_i420_yuy2_altivec)
-libi420_yuy2_altivec_plugin_a_CFLAGS = `$(VLC_CONFIG) --cflags plugin i420_yuy2_altivec`
-libi420_yuy2_altivec_plugin_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin i420_yuy2_altivec`
-libi420_yuy2_altivec_plugin_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin i420_yuy2_altivec`
-libi420_yuy2_altivec_plugin_la_CFLAGS = `$(VLC_CONFIG) --cflags plugin i420_yuy2_altivec`
-libi420_yuy2_altivec_plugin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin i420_yuy2_altivec`
-libi420_yuy2_altivec_plugin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin i420_yuy2_altivec`
-libi420_yuy2_altivec_plugin_la_LDFLAGS = `$(VLC_CONFIG) --libs plugin i420_yuy2_altivec` \
+libi420_yuy2_altivec_plugin_a_CFLAGS = `$(VLC_CONFIG) --cflags plugin pic i420_yuy2_altivec`
+libi420_yuy2_altivec_plugin_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin pic i420_yuy2_altivec`
+libi420_yuy2_altivec_plugin_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin pic i420_yuy2_altivec`
+libi420_yuy2_altivec_plugin_la_CFLAGS = `$(VLC_CONFIG) --cflags plugin pic i420_yuy2_altivec`
+libi420_yuy2_altivec_plugin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin pic i420_yuy2_altivec`
+libi420_yuy2_altivec_plugin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin pic i420_yuy2_altivec`
+libi420_yuy2_altivec_plugin_la_LDFLAGS = `$(VLC_CONFIG) --libs plugin pic i420_yuy2_altivec` \
 	-rpath '$(libvlcdir)' -avoid-version -module -shrext $(LIBEXT)
 libi420_yuy2_altivec_plugin_la_LIBADD = $(LTLIBVLC)
 
@@ -199,21 +199,21 @@ libi420_yuy2_altivec_builtin_la_SOURCES 
 libi420_yuy2_altivec_a_CFLAGS = `$(VLC_CONFIG) --cflags builtin pic i420_yuy2_altivec`
 libi420_yuy2_altivec_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags builtin pic i420_yuy2_altivec`
 libi420_yuy2_altivec_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags builtin pic i420_yuy2_altivec`
-libi420_yuy2_altivec_builtin_la_CFLAGS = `$(VLC_CONFIG) --cflags builtin i420_yuy2_altivec`
-libi420_yuy2_altivec_builtin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags builtin i420_yuy2_altivec`
-libi420_yuy2_altivec_builtin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags builtin i420_yuy2_altivec`
+libi420_yuy2_altivec_builtin_la_CFLAGS = `$(VLC_CONFIG) --cflags builtin pic i420_yuy2_altivec`
+libi420_yuy2_altivec_builtin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags builtin pic i420_yuy2_altivec`
+libi420_yuy2_altivec_builtin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags builtin pic i420_yuy2_altivec`
 
 # The i422_yuy2 plugin
 
 libi422_yuy2_plugin_a_SOURCES = $(SOURCES_i422_yuy2)
 libi422_yuy2_plugin_la_SOURCES = $(SOURCES_i422_yuy2)
-libi422_yuy2_plugin_a_CFLAGS = `$(VLC_CONFIG) --cflags plugin i422_yuy2`
-libi422_yuy2_plugin_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin i422_yuy2`
-libi422_yuy2_plugin_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin i422_yuy2`
-libi422_yuy2_plugin_la_CFLAGS = `$(VLC_CONFIG) --cflags plugin i422_yuy2`
-libi422_yuy2_plugin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin i422_yuy2`
-libi422_yuy2_plugin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin i422_yuy2`
-libi422_yuy2_plugin_la_LDFLAGS = `$(VLC_CONFIG) --libs plugin i422_yuy2` \
+libi422_yuy2_plugin_a_CFLAGS = `$(VLC_CONFIG) --cflags plugin pic i422_yuy2`
+libi422_yuy2_plugin_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin pic i422_yuy2`
+libi422_yuy2_plugin_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin pic i422_yuy2`
+libi422_yuy2_plugin_la_CFLAGS = `$(VLC_CONFIG) --cflags plugin pic i422_yuy2`
+libi422_yuy2_plugin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin pic i422_yuy2`
+libi422_yuy2_plugin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin pic i422_yuy2`
+libi422_yuy2_plugin_la_LDFLAGS = `$(VLC_CONFIG) --libs plugin pic i422_yuy2` \
 	-rpath '$(libvlcdir)' -avoid-version -module -shrext $(LIBEXT)
 libi422_yuy2_plugin_la_LIBADD = $(LTLIBVLC)
 
@@ -222,21 +222,21 @@ libi422_yuy2_builtin_la_SOURCES = $(SOUR
 libi422_yuy2_a_CFLAGS = `$(VLC_CONFIG) --cflags builtin pic i422_yuy2`
 libi422_yuy2_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags builtin pic i422_yuy2`
 libi422_yuy2_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags builtin pic i422_yuy2`
-libi422_yuy2_builtin_la_CFLAGS = `$(VLC_CONFIG) --cflags builtin i422_yuy2`
-libi422_yuy2_builtin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags builtin i422_yuy2`
-libi422_yuy2_builtin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags builtin i422_yuy2`
+libi422_yuy2_builtin_la_CFLAGS = `$(VLC_CONFIG) --cflags builtin pic i422_yuy2`
+libi422_yuy2_builtin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags builtin pic i422_yuy2`
+libi422_yuy2_builtin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags builtin pic i422_yuy2`
 
 # The i422_yuy2_mmx plugin
 
 libi422_yuy2_mmx_plugin_a_SOURCES = $(SOURCES_i422_yuy2_mmx)
 libi422_yuy2_mmx_plugin_la_SOURCES = $(SOURCES_i422_yuy2_mmx)
-libi422_yuy2_mmx_plugin_a_CFLAGS = `$(VLC_CONFIG) --cflags plugin i422_yuy2_mmx`
-libi422_yuy2_mmx_plugin_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin i422_yuy2_mmx`
-libi422_yuy2_mmx_plugin_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin i422_yuy2_mmx`
-libi422_yuy2_mmx_plugin_la_CFLAGS = `$(VLC_CONFIG) --cflags plugin i422_yuy2_mmx`
-libi422_yuy2_mmx_plugin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin i422_yuy2_mmx`
-libi422_yuy2_mmx_plugin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin i422_yuy2_mmx`
-libi422_yuy2_mmx_plugin_la_LDFLAGS = `$(VLC_CONFIG) --libs plugin i422_yuy2_mmx` \
+libi422_yuy2_mmx_plugin_a_CFLAGS = `$(VLC_CONFIG) --cflags plugin pic i422_yuy2_mmx`
+libi422_yuy2_mmx_plugin_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin pic i422_yuy2_mmx`
+libi422_yuy2_mmx_plugin_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin pic i422_yuy2_mmx`
+libi422_yuy2_mmx_plugin_la_CFLAGS = `$(VLC_CONFIG) --cflags plugin pic i422_yuy2_mmx`
+libi422_yuy2_mmx_plugin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin pic i422_yuy2_mmx`
+libi422_yuy2_mmx_plugin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin pic i422_yuy2_mmx`
+libi422_yuy2_mmx_plugin_la_LDFLAGS = `$(VLC_CONFIG) --libs plugin pic i422_yuy2_mmx` \
 	-rpath '$(libvlcdir)' -avoid-version -module -shrext $(LIBEXT)
 libi422_yuy2_mmx_plugin_la_LIBADD = $(LTLIBVLC)
 
@@ -245,21 +245,21 @@ libi422_yuy2_mmx_builtin_la_SOURCES = $(
 libi422_yuy2_mmx_a_CFLAGS = `$(VLC_CONFIG) --cflags builtin pic i422_yuy2_mmx`
 libi422_yuy2_mmx_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags builtin pic i422_yuy2_mmx`
 libi422_yuy2_mmx_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags builtin pic i422_yuy2_mmx`
-libi422_yuy2_mmx_builtin_la_CFLAGS = `$(VLC_CONFIG) --cflags builtin i422_yuy2_mmx`
-libi422_yuy2_mmx_builtin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags builtin i422_yuy2_mmx`
-libi422_yuy2_mmx_builtin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags builtin i422_yuy2_mmx`
+libi422_yuy2_mmx_builtin_la_CFLAGS = `$(VLC_CONFIG) --cflags builtin pic i422_yuy2_mmx`
+libi422_yuy2_mmx_builtin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags builtin pic i422_yuy2_mmx`
+libi422_yuy2_mmx_builtin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags builtin pic i422_yuy2_mmx`
 
 # The i420_ymga plugin
 
 libi420_ymga_plugin_a_SOURCES = $(SOURCES_i420_ymga)
 libi420_ymga_plugin_la_SOURCES = $(SOURCES_i420_ymga)
-libi420_ymga_plugin_a_CFLAGS = `$(VLC_CONFIG) --cflags plugin i420_ymga`
-libi420_ymga_plugin_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin i420_ymga`
-libi420_ymga_plugin_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin i420_ymga`
-libi420_ymga_plugin_la_CFLAGS = `$(VLC_CONFIG) --cflags plugin i420_ymga`
-libi420_ymga_plugin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin i420_ymga`
-libi420_ymga_plugin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin i420_ymga`
-libi420_ymga_plugin_la_LDFLAGS = `$(VLC_CONFIG) --libs plugin i420_ymga` \
+libi420_ymga_plugin_a_CFLAGS = `$(VLC_CONFIG) --cflags plugin pic i420_ymga`
+libi420_ymga_plugin_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin pic i420_ymga`
+libi420_ymga_plugin_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin pic i420_ymga`
+libi420_ymga_plugin_la_CFLAGS = `$(VLC_CONFIG) --cflags plugin pic i420_ymga`
+libi420_ymga_plugin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin pic i420_ymga`
+libi420_ymga_plugin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin pic i420_ymga`
+libi420_ymga_plugin_la_LDFLAGS = `$(VLC_CONFIG) --libs plugin pic i420_ymga` \
 	-rpath '$(libvlcdir)' -avoid-version -module -shrext $(LIBEXT)
 libi420_ymga_plugin_la_LIBADD = $(LTLIBVLC)
 
@@ -268,21 +268,21 @@ libi420_ymga_builtin_la_SOURCES = $(SOUR
 libi420_ymga_a_CFLAGS = `$(VLC_CONFIG) --cflags builtin pic i420_ymga`
 libi420_ymga_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags builtin pic i420_ymga`
 libi420_ymga_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags builtin pic i420_ymga`
-libi420_ymga_builtin_la_CFLAGS = `$(VLC_CONFIG) --cflags builtin i420_ymga`
-libi420_ymga_builtin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags builtin i420_ymga`
-libi420_ymga_builtin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags builtin i420_ymga`
+libi420_ymga_builtin_la_CFLAGS = `$(VLC_CONFIG) --cflags builtin pic i420_ymga`
+libi420_ymga_builtin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags builtin pic i420_ymga`
+libi420_ymga_builtin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags builtin pic i420_ymga`
 
 # The i420_ymga_mmx plugin
 
 libi420_ymga_mmx_plugin_a_SOURCES = $(SOURCES_i420_ymga_mmx)
 libi420_ymga_mmx_plugin_la_SOURCES = $(SOURCES_i420_ymga_mmx)
-libi420_ymga_mmx_plugin_a_CFLAGS = `$(VLC_CONFIG) --cflags plugin i420_ymga_mmx`
-libi420_ymga_mmx_plugin_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin i420_ymga_mmx`
-libi420_ymga_mmx_plugin_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin i420_ymga_mmx`
-libi420_ymga_mmx_plugin_la_CFLAGS = `$(VLC_CONFIG) --cflags plugin i420_ymga_mmx`
-libi420_ymga_mmx_plugin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin i420_ymga_mmx`
-libi420_ymga_mmx_plugin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin i420_ymga_mmx`
-libi420_ymga_mmx_plugin_la_LDFLAGS = `$(VLC_CONFIG) --libs plugin i420_ymga_mmx` \
+libi420_ymga_mmx_plugin_a_CFLAGS = `$(VLC_CONFIG) --cflags plugin pic i420_ymga_mmx`
+libi420_ymga_mmx_plugin_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin pic i420_ymga_mmx`
+libi420_ymga_mmx_plugin_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin pic i420_ymga_mmx`
+libi420_ymga_mmx_plugin_la_CFLAGS = `$(VLC_CONFIG) --cflags plugin pic i420_ymga_mmx`
+libi420_ymga_mmx_plugin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags plugin pic i420_ymga_mmx`
+libi420_ymga_mmx_plugin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags plugin pic i420_ymga_mmx`
+libi420_ymga_mmx_plugin_la_LDFLAGS = `$(VLC_CONFIG) --libs plugin pic i420_ymga_mmx` \
 	-rpath '$(libvlcdir)' -avoid-version -module -shrext $(LIBEXT)
 libi420_ymga_mmx_plugin_la_LIBADD = $(LTLIBVLC)
 
@@ -291,7 +291,7 @@ libi420_ymga_mmx_builtin_la_SOURCES = $(
 libi420_ymga_mmx_a_CFLAGS = `$(VLC_CONFIG) --cflags builtin pic i420_ymga_mmx`
 libi420_ymga_mmx_a_CXXFLAGS = `$(VLC_CONFIG) --cxxflags builtin pic i420_ymga_mmx`
 libi420_ymga_mmx_a_OBJCFLAGS = `$(VLC_CONFIG) --objcflags builtin pic i420_ymga_mmx`
-libi420_ymga_mmx_builtin_la_CFLAGS = `$(VLC_CONFIG) --cflags builtin i420_ymga_mmx`
-libi420_ymga_mmx_builtin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags builtin i420_ymga_mmx`
-libi420_ymga_mmx_builtin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags builtin i420_ymga_mmx`
+libi420_ymga_mmx_builtin_la_CFLAGS = `$(VLC_CONFIG) --cflags builtin pic i420_ymga_mmx`
+libi420_ymga_mmx_builtin_la_CXXFLAGS = `$(VLC_CONFIG) --cxxflags builtin pic i420_ymga_mmx`
+libi420_ymga_mmx_builtin_la_OBJCFLAGS = `$(VLC_CONFIG) --objcflags builtin pic i420_ymga_mmx`
 

vlc-0.8.6f-shared_live555.patch:

--- NEW FILE vlc-0.8.6f-shared_live555.patch ---
diff -up vlc-0.8.6f/configure.ac.shared_live555 vlc-0.8.6f/configure.ac
--- vlc-0.8.6f/configure.ac.shared_live555	2008-05-05 18:24:05.000000000 +0200
+++ vlc-0.8.6f/configure.ac	2008-05-05 18:25:53.000000000 +0200
@@ -1551,7 +1551,7 @@ if test "${enable_live555}" = "yes"; the
       ], [
         AC_CHECK_LIB(liveMedia, main, [
           # We only have -lliveMedia, do builtins
-          VLC_ADD_BUILTINS([live555])
+          VLC_ADD_PLUGINS([live555])
           VLC_ADD_LDFLAGS([live555], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
         ])
       ])

vlc-0.8.6f-wx28iccfixes.patch:

--- NEW FILE vlc-0.8.6f-wx28iccfixes.patch ---
diff -up vlc-0.8.6f/configure.ac.all_plugin vlc-0.8.6f/configure.ac
--- vlc-0.8.6f/configure.ac.wx28iccfixes	2008-05-07 11:28:24.000000000 +0200
+++ vlc-0.8.6f/configure.ac	2008-05-07 11:30:08.000000000 +0200
@@ -4204,7 +4187,7 @@ then
     AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
                     #define ALSA_PCM_NEW_SW_PARAMS_API
                     #include <alsa/asoundlib.h>],
-       [void foo() { snd_pcm_hw_params_get_period_time(0,0,0); }],
+       [void foo(); { snd_pcm_hw_params_get_period_time(0,0,0); }],
         AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
     VLC_ADD_PLUGINS([alsa])
     VLC_ADD_LDFLAGS([alsa],[-lasound -lm -ldl])
diff -up vlc-0.8.6f/include/vlc_common.h.wx28iccfixes vlc-0.8.6f/include/vlc_common.h
--- vlc-0.8.6f/include/vlc_common.h.wx28iccfixes	2008-05-07 11:28:24.000000000 +0200
+++ vlc-0.8.6f/include/vlc_common.h	2008-05-07 11:30:08.000000000 +0200
@@ -604,6 +604,30 @@ static inline int64_t GCD( int64_t a, in
     }                                                                         \
     while( 0 )
 
+/* Special version for C++ code */
+#define REMOVE_ELEM_PP( type_p_ar, p_ar, i_oldsize, i_pos )                   \
+    do                                                                        \
+    {                                                                         \
+        if( (i_oldsize) - (i_pos) - 1 )                                       \
+        {                                                                     \
+            memmove( (p_ar) + (i_pos),                                        \
+                     (p_ar) + (i_pos) + 1,                                    \
+                     ((i_oldsize) - (i_pos) - 1) * sizeof( *(p_ar) ) );       \
+        }                                                                     \
+        if( i_oldsize > 1 )                                                   \
+        {                                                                     \
+            (p_ar) = (type_p_ar)realloc( p_ar, ((i_oldsize) - 1) * sizeof( *(p_ar) ) );  \
+        }                                                                     \
+        else                                                                  \
+        {                                                                     \
+            free( p_ar );                                                     \
+            (p_ar) = NULL;                                                    \
+        }                                                                     \
+        (i_oldsize)--;                                                        \
+    }                                                                         \
+    while( 0 )
+
+
 #define TAB_INIT( count, tab )                  \
   do {                                          \
     (count) = 0;                                \
diff -up vlc-0.8.6f/modules/gui/wxwidgets/dialogs/interaction.cpp.wx28iccfixes vlc-0.8.6f/modules/gui/wxwidgets/dialogs/interaction.cpp
--- vlc-0.8.6f/modules/gui/wxwidgets/dialogs/interaction.cpp.wx28iccfixes	2008-05-07 11:13:14.000000000 +0200
+++ vlc-0.8.6f/modules/gui/wxwidgets/dialogs/interaction.cpp	2008-05-07 11:27:53.000000000 +0200
@@ -245,7 +245,7 @@ void InteractionDialog::OnClear( wxComma
         user_widget_t *p_widget = p_dialog->pp_widgets[i];
         FREE( p_widget->psz_text );
         FREE( p_widget->val.psz_string );
-        REMOVE_ELEM( p_dialog->pp_widgets, p_dialog->i_widgets, i );
+        REMOVE_ELEM_PP( user_widget_t **, p_dialog->pp_widgets, p_dialog->i_widgets, i );
         free( p_widget );
     }
     widgets_panel->DestroyChildren();
diff -up vlc-0.8.6f/modules/gui/wxwidgets/menus.cpp.wx28iccfixes vlc-0.8.6f/modules/gui/wxwidgets/menus.cpp
--- vlc-0.8.6f/modules/gui/wxwidgets/menus.cpp.wx28iccfixes	2008-05-06 22:34:27.000000000 +0200
+++ vlc-0.8.6f/modules/gui/wxwidgets/menus.cpp	2008-05-07 11:02:19.000000000 +0200
@@ -28,7 +28,7 @@
 #include "interface.hpp"
 
 #include <wx/dynarray.h>
-WX_DEFINE_ARRAY(int, ArrayOfInts);
+WX_DEFINE_ARRAY_INT(int, ArrayOfInts);
 WX_DEFINE_ARRAY_PTR(const char *, ArrayOfStrings);
 
 

vlc-0.8.6g-networkstream-seek.patch:

--- NEW FILE vlc-0.8.6g-networkstream-seek.patch ---
diff -ur vlc-0.8.6g.save/modules/access/http.c vlc-0.8.6g/modules/access/http.c
--- vlc-0.8.6g.save/modules/access/http.c	2008-03-28 10:34:11.000000000 -0400
+++ vlc-0.8.6g/modules/access/http.c	2008-06-04 17:17:03.000000000 -0400
@@ -680,7 +680,40 @@
     msg_Dbg( p_access, "trying to seek to "I64Fd, i_pos );
 
     Disconnect( p_access );
+    if( p_access->info.i_pos < 0 )
+    {
+        msg_Err( p_access, "seeking too early" );
+        return Seek( p_access, 0);
+    }
+    else
+    {
+        int64_t i_size = p_access->info.i_size;
+        if(i_size > 0)
+        {
+            if( i_size < i_pos )
+            {
+                msg_Err( p_access, "seeking too far" );
+                // Fix me: This replicates the file.c behavior of returning
+                // success even when seeking too far.
+                return Seek( p_access, i_size );
+            }
+            else if ( i_size == i_pos )
+            {
+                // This is the only way I have found to seek to the end, and
+                // still leave the file handle open.
+                int retval = Seek( p_access, i_pos - 1);
+                if ( retval == VLC_SUCCESS ) {
+                  int8_t p_buffer[2];
+                  Read( p_access, p_buffer, 1 );
+                  // Reset EOF
+                  p_access->info.b_eof = VLC_FALSE;
+                }
+                return retval;
+            }
+        }
+    }
 
+    p_access->info.i_pos = i_pos;
     if( Connect( p_access, i_pos ) )
     {
         msg_Err( p_access, "seek failed" );
@@ -710,7 +743,8 @@
             break;
         case ACCESS_CAN_FASTSEEK:
             pb_bool = (vlc_bool_t*)va_arg( args, vlc_bool_t* );
-            *pb_bool = VLC_FALSE;
+            // http 1.1 should be just as fast as nfs...
+            *pb_bool = p_sys->b_seekable;
             break;
         case ACCESS_CAN_PAUSE:
         case ACCESS_CAN_CONTROL_PACE:


vlc-0.8.6h-ffmpeg-compat.patch:

--- NEW FILE vlc-0.8.6h-ffmpeg-compat.patch ---
diff -up vlc-0.8.6h/configure.ac.compat vlc-0.8.6h/configure.ac
--- vlc-0.8.6h/configure.ac.compat	2008-06-07 17:28:53.000000000 +0200
+++ vlc-0.8.6h/configure.ac	2008-06-07 17:30:16.000000000 +0200
@@ -2703,15 +2714,15 @@ dnl Look for a ffmpeg-config (we are on 
  else
 
 dnl Trying with pkg-config
-   PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat],
+   PKG_CHECK_MODULES(FFMPEG,[libavcodec-compat, libavformat-compat],
     [
      VLC_SAVE_FLAGS
      CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS}"
      CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS}"
-     AC_CHECK_HEADERS(ffmpeg/avcodec.h libavcodec/avcodec.h)
-     AC_CHECK_HEADERS(ffmpeg/avformat.h libavformat/avformat.h)
-     AC_CHECK_HEADERS(ffmpeg/avutil.h libavutil/avutil.h)
-     AC_CHECK_HEADERS(postproc/postprocess.h libpostproc/postprocess.h)
+     AC_CHECK_HEADERS(avcodec.h ffmpeg/avcodec.h)
+     AC_CHECK_HEADERS(avformat.h ffmpeg/avformat.h)
+     AC_CHECK_HEADERS(avutil.h ffmpeg/avutil.h)
+     AC_CHECK_HEADERS(postprocess.h postproc/postprocess.h)
      if test "${SYS}" = "darwin"; then
         VLC_ADD_BUILTINS([ffmpeg])
      else
@@ -2727,7 +2738,7 @@ dnl Trying with pkg-config
      VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}])
      VLC_ADD_LDFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_LIBS}])
      dnl newer ffmpeg have a separate libpostproc
-     PKG_CHECK_MODULES(POSTPROC, libpostproc,[
+     PKG_CHECK_MODULES(POSTPROC, libpostproc-compat,[
        VLC_ADD_LDFLAGS([ffmpeg],[${POSTPROC_LIBS}]) 
        ],[ true ])
      VLC_RESTORE_FLAGS
@@ -2776,8 +2787,8 @@ then
      VLC_SAVE_FLAGS
      CFLAGS="${CFLAGS} ${CFLAGS_ffmpeg}"
      LDFLAGS="${LDFLAGS} ${LDFLAGS_ffmpeg}"
-     AC_CHECK_LIB(avcodec, img_resample, ,
-       [AC_MSG_ERROR([Your FFmpeg library doesn't have the needed img_resample() function. You should rebuild it with software scaler disabled])], -lavutil)
+     AC_CHECK_LIB(avcodec-compat, img_resample, ,
+       [AC_MSG_ERROR([Your FFmpeg library doesn't have the needed img_resample() function. You should rebuild it with software scaler disabled])], -lavutil-compat)
      VLC_RESTORE_FLAGS
 fi
 

vlc-0.8.6h-new_x-content.patch:

--- NEW FILE vlc-0.8.6h-new_x-content.patch ---
diff -up vlc-0.8.6h/share/applications/vlc.desktop.new_x-content vlc-0.8.6h/share/applications/vlc.desktop
--- vlc-0.8.6h/share/applications/vlc.desktop.new_x-content	2008-06-10 14:18:39.000000000 +0200
+++ vlc-0.8.6h/share/applications/vlc.desktop	2008-06-10 14:20:52.000000000 +0200
@@ -13,4 +13,4 @@ Icon=vlc
 Terminal=false
 Type=Application
 Categories=AudioVideo;Player;
-MimeType=video/dv;video/mpeg;video/x-mpeg;video/msvideo;video/quicktime;video/x-anim;video/x-avi;video/x-ms-asf;video/x-ms-wmv;video/x-msvideo;video/x-nsv;video/x-flc;video/x-fli;application/ogg;application/x-ogg;application/x-matroska;audio/x-mp3;audio/x-mpeg;audio/mpeg;audio/x-wav;audio/x-mpegurl;audio/x-scpls;audio/x-m4a;audio/x-ms-asf;audio/x-ms-asx;audio/x-ms-wax;application/vnd.rn-realmedia;audio/x-real-audio;audio/x-pn-realaudio;application/x-flac;audio/x-flac;application/x-shockwave-flash;misc/ultravox;audio/vnd.rn-realaudio;audio/x-pn-aiff;audio/x-pn-au;audio/x-pn-wav;audio/x-pn-windows-acm;image/vnd.rn-realpix;video/vnd.rn-realvideo;audio/x-pn-realaudio-plugin;application/x-extension-mp4;audio/mp4;video/mp4;video/mp4v-es;
+MimeType=video/dv;video/mpeg;video/x-mpeg;video/msvideo;video/quicktime;video/x-anim;video/x-avi;video/x-ms-asf;video/x-ms-wmv;video/x-msvideo;video/x-nsv;video/x-flc;video/x-fli;application/ogg;application/x-ogg;application/x-matroska;audio/x-mp3;audio/x-mpeg;audio/mpeg;audio/x-wav;audio/x-mpegurl;audio/x-scpls;audio/x-m4a;audio/x-ms-asf;audio/x-ms-asx;audio/x-ms-wax;application/vnd.rn-realmedia;audio/x-real-audio;audio/x-pn-realaudio;application/x-flac;audio/x-flac;application/x-shockwave-flash;misc/ultravox;audio/vnd.rn-realaudio;audio/x-pn-aiff;audio/x-pn-au;audio/x-pn-wav;audio/x-pn-windows-acm;image/vnd.rn-realpix;video/vnd.rn-realvideo;audio/x-pn-realaudio-plugin;application/x-extension-mp4;audio/mp4;video/mp4;video/mp4v-es;x-content/video-vcd;x-content/video-svcd;x-content/video-dvd;x-content/audio-cdda;x-content/audio-player;

vlc-trunk-default_font.patch:

--- NEW FILE vlc-trunk-default_font.patch ---
diff -up vlc-0.9.0-svn/modules/misc/freetype.c.default_font vlc-0.9.0-svn/modules/misc/freetype.c
--- vlc-0.9.0-svn/modules/misc/freetype.c.default_font	2007-11-21 22:58:06.000000000 +0100
+++ vlc-0.9.0-svn/modules/misc/freetype.c	2007-11-21 23:00:54.000000000 +0100
@@ -61,7 +61,7 @@
 #define DEFAULT_FONT "" /* Default font found at run-time */
 #define FC_DEFAULT_FONT "Arial"
 #else
-#define DEFAULT_FONT "/usr/share/fonts/truetype/freefont/FreeSerifBold.ttf"
+#define DEFAULT_FONT "/usr/share/fonts/dejavu/DejaVuSerif.ttf"
 #define FC_DEFAULT_FONT "Serif Bold"
 #endif
 

vlc-trunk-dirac_0_8_0-api.patch:

--- NEW FILE vlc-trunk-dirac_0_8_0-api.patch ---
diff -up vlc-0.8.6c/configure.ac.dirac vlc-0.8.6c/configure.ac
--- vlc-0.8.6c/configure.ac.dirac	2007-10-19 23:15:49.000000000 +0200
+++ vlc-0.8.6c/configure.ac	2007-10-19 23:16:55.000000000 +0200
@@ -3342,7 +3346,7 @@ dnl
 AC_ARG_ENABLE(dirac,
 [  --enable-dirac          experimental dirac codec (default disabled)])
 if test "${enable_dirac}" = "yes"; then
-  PKG_CHECK_MODULES(DIRAC,dirac, [
+  PKG_CHECK_MODULES(DIRAC,[dirac >= 0.8.0], [
       VLC_ADD_PLUGINS([dirac])
       VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS])
       VLC_ADD_LDFLAGS([dirac],[$DIRAC_LIBS -lstdc++]) ],[
diff -up vlc-0.8.6c/modules/codec/dirac.c.dirac6 vlc-0.8.6c/modules/codec/dirac.c
--- vlc-0.8.6c/modules/codec/dirac.c.dirac6	2007-06-16 16:25:12.000000000 +0200
+++ vlc-0.8.6c/modules/codec/dirac.c	2007-10-19 23:17:15.000000000 +0200
@@ -144,32 +144,34 @@ static picture_t *GetNewPicture( decoder
     picture_t *p_pic;
     int i_plane;
 
-    p_dec->fmt_out.i_codec =
-        p_sys->p_dirac->seq_params.chroma == format411 ?
-        VLC_FOURCC('I','4','1','1') :
-        p_sys->p_dirac->seq_params.chroma == format420 ?
-        VLC_FOURCC('I','4','2','0') :
-        p_sys->p_dirac->seq_params.chroma == format422 ?
-        VLC_FOURCC('I','4','2','2') : 0;
+    switch( p_sys->p_dirac->src_params.chroma )
+    {
+    case format420: p_dec->fmt_out.i_codec = VLC_FOURCC('I','4','2','0'); break;
+    case format422: p_dec->fmt_out.i_codec = VLC_FOURCC('I','4','2','2'); break;
+    case format444: p_dec->fmt_out.i_codec = VLC_FOURCC('I','4','4','4'); break;    // XXX 0.6 ?
+    default:        
+        p_dec->fmt_out.i_codec = 0;
+        break;
+    }
 
     p_dec->fmt_out.video.i_visible_width =
-    p_dec->fmt_out.video.i_width = p_sys->p_dirac->seq_params.width;
+    p_dec->fmt_out.video.i_width = p_sys->p_dirac->src_params.width;
     p_dec->fmt_out.video.i_visible_height =
-    p_dec->fmt_out.video.i_height = p_sys->p_dirac->seq_params.height;
+    p_dec->fmt_out.video.i_height = p_sys->p_dirac->src_params.height;
     p_dec->fmt_out.video.i_aspect = VOUT_ASPECT_FACTOR * 4 / 3;
 
     p_dec->fmt_out.video.i_frame_rate =
-        p_sys->p_dirac->seq_params.frame_rate.numerator;
+        p_sys->p_dirac->src_params.frame_rate.numerator;
     p_dec->fmt_out.video.i_frame_rate_base =
-        p_sys->p_dirac->seq_params.frame_rate.denominator;
+        p_sys->p_dirac->src_params.frame_rate.denominator;
 
     /* Get a new picture */
     p_pic = p_dec->pf_vout_buffer_new( p_dec );
 
     if( p_pic == NULL ) return NULL;
+    p_pic->b_progressive = !p_sys->p_dirac->src_params.interlace;
+    p_pic->b_top_field_first = p_sys->p_dirac->src_params.topfieldfirst;
 
-    p_pic->b_progressive = !p_sys->p_dirac->seq_params.interlace;
-    p_pic->b_top_field_first = p_sys->p_dirac->seq_params.topfieldfirst;
     p_pic->i_nb_fields = 2;
 
     /* Copy picture stride by stride */
@@ -248,19 +250,19 @@ static picture_t *DecodeBlock( decoder_t
             uint8_t *buf[3];
 
             msg_Dbg( p_dec, "%dx%d, chroma %i, %f fps",
-                     p_sys->p_dirac->seq_params.width,
-                     p_sys->p_dirac->seq_params.height,
-                     p_sys->p_dirac->seq_params.chroma,
-                     (float)p_sys->p_dirac->seq_params.frame_rate.numerator/
-                     p_sys->p_dirac->seq_params.frame_rate.denominator );
+                     p_sys->p_dirac->src_params.width,
+                     p_sys->p_dirac->src_params.height,
+                     p_sys->p_dirac->src_params.chroma,
+                     (float)p_sys->p_dirac->src_params.frame_rate.numerator/
+                     p_sys->p_dirac->src_params.frame_rate.denominator );
 
             FreeFrameBuffer( p_sys->p_dirac );
-            buf[0] = malloc( p_sys->p_dirac->seq_params.width *
-                             p_sys->p_dirac->seq_params.height );
-            buf[1] = malloc( p_sys->p_dirac->seq_params.chroma_width *
-                             p_sys->p_dirac->seq_params.chroma_height );
-            buf[2] = malloc( p_sys->p_dirac->seq_params.chroma_width *
-                             p_sys->p_dirac->seq_params.chroma_height );
+            buf[0] = malloc( p_sys->p_dirac->src_params.width *
+                             p_sys->p_dirac->src_params.height );
+            buf[1] = malloc( p_sys->p_dirac->src_params.chroma_width *
+                             p_sys->p_dirac->src_params.chroma_height );
+            buf[2] = malloc( p_sys->p_dirac->src_params.chroma_width *
+                             p_sys->p_dirac->src_params.chroma_height );
 
             dirac_set_buf( p_sys->p_dirac, buf, NULL );
             break;
@@ -352,20 +354,18 @@ static int OpenEncoder( vlc_object_t *p_
 
     sout_CfgParse( p_enc, ENC_CFG_PREFIX, ppsz_enc_options, p_enc->p_cfg );
 
-    /* Initialse the encoder context with the presets for SD576 - Standard
-     * Definition Digital (some parameters will be overwritten later on) */
-    dirac_encoder_context_init( &p_sys->ctx, SD576 );
-
-    /* Override parameters if required */
-    p_sys->ctx.seq_params.width = p_enc->fmt_in.video.i_width;
-    p_sys->ctx.seq_params.height = p_enc->fmt_in.video.i_height;
-    p_sys->ctx.seq_params.chroma = format420;
-    p_sys->ctx.seq_params.frame_rate.numerator =
+    dirac_encoder_context_init( &p_sys->ctx, VIDEO_FORMAT_CUSTOM );
+    /* */
+    p_sys->ctx.src_params.width = p_enc->fmt_in.video.i_width;
+    p_sys->ctx.src_params.height = p_enc->fmt_in.video.i_height;
+    p_sys->ctx.src_params.chroma = format420;
+    /* */
+    p_sys->ctx.src_params.frame_rate.numerator =
         p_enc->fmt_in.video.i_frame_rate;
-    p_sys->ctx.seq_params.frame_rate.denominator =
+    p_sys->ctx.src_params.frame_rate.denominator =
         p_enc->fmt_in.video.i_frame_rate_base;
-    p_sys->ctx.seq_params.interlace = 0;
-    p_sys->ctx.seq_params.topfieldfirst = 0;
+    p_sys->ctx.src_params.interlace = 0;
+    p_sys->ctx.src_params.topfieldfirst = 0;
 
     var_Get( p_enc, ENC_CFG_PREFIX "quality", &val );
     f_quality = val.f_float;

vlc-trunk-dirac_0_9_0-api.patch:

--- NEW FILE vlc-trunk-dirac_0_9_0-api.patch ---
diff -up vlc-0.8.6d/modules/codec/dirac.c.dirac9 vlc-0.8.6d/modules/codec/dirac.c
--- vlc-0.8.6d/modules/codec/dirac.c.dirac9	2008-02-04 13:25:12.000000000 +0100
+++ vlc-0.8.6d/modules/codec/dirac.c	2008-02-04 13:39:40.000000000 +0100
@@ -79,7 +81,6 @@ vlc_module_begin();
     set_description( _("Dirac video encoder") );
     set_capability( "encoder", 100 );
     set_callbacks( OpenEncoder, CloseEncoder );
-    add_shortcut( "dirac" );
     add_float( ENC_CFG_PREFIX "quality", 7.0, NULL, ENC_QUALITY_TEXT,
                ENC_QUALITY_LONGTEXT, VLC_FALSE );
 
@@ -169,7 +170,7 @@ static picture_t *GetNewPicture( decoder
     p_pic = p_dec->pf_vout_buffer_new( p_dec );
 
     if( p_pic == NULL ) return NULL;
-    p_pic->b_progressive = !p_sys->p_dirac->src_params.interlace;
+    p_pic->b_progressive = !p_sys->p_dirac->src_params.source_sampling;
     p_pic->b_top_field_first = p_sys->p_dirac->src_params.topfieldfirst;
 
     p_pic->i_nb_fields = 2;
@@ -364,7 +365,7 @@ static int OpenEncoder( vlc_object_t *p_
         p_enc->fmt_in.video.i_frame_rate;
     p_sys->ctx.src_params.frame_rate.denominator =
         p_enc->fmt_in.video.i_frame_rate_base;
-    p_sys->ctx.src_params.interlace = 0;
+    p_sys->ctx.src_params.source_sampling = 0;
     p_sys->ctx.src_params.topfieldfirst = 0;
 
     var_Get( p_enc, ENC_CFG_PREFIX "quality", &val );



--- NEW FILE vlc.spec ---
# TODO: libdc1394(juju), java-vlc, modularization (vlc-plugin-foo)
# Patches needed: wxGTK28 - libdc1394-2.0.1
%{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}


%define with_intern_ffmpeg		0
%define with_ffmpeg_compat		1
%define ffmpeg_date	20080113
%define with_internal_live555 		0
%define with_shared_live555 		0
%define live555_date	2008.04.03
%define vlc_git				0
%define vlc_date	20080611
%define with_mozilla	 		1
%define with_python_vlc			1
%define rpmfusion			0
%define with_dc1394			0
%define with_directfb			1
%define with_dirac			1
%define with_vlvc			1


Summary:	Multi-platform MPEG, DVD, and DivX player
Name:		vlc
%if %vlc_git
Version:	0.9.0
%define release_tag   0.2
%define _version %{version}-git
Release:	%{release_tag}.%{vlc_date}git%{?dist}.1
%else
Version:	0.8.6h
%define release_tag   1
%define _version %{version}
Release:	%{release_tag}%{?dist}
%endif
License:	GPLv2+
Group:		Applications/Multimedia
URL:		http://www.videolan.org/
%if %vlc_git
Source0:        http://nightlies.videolan.org/build/source/trunk-%{vlc_date}-0057/vlc-snapshot-%{vlc_date}.tar.bz2
%else
Source0:	http://download.videolan.org/pub/videolan/vlc/%{version}/vlc-%{version}.tar.bz2
%endif
%if %with_intern_ffmpeg
Source1:	http://rpm.greysector.net/livna/ffmpeg-%{ffmpeg_date}.tar.bz2
%endif
%if %with_internal_live555
Source2:	http://www.live555.com/liveMedia/public/live.%{live555_date}.tar.gz
%endif
%if %with_vlvc
Source3:        https://pfe.epitech.net/frs/download.php/747/vlvc_source-0.8.tgz
%endif
Patch1:         vlc-0.8.6h-new_x-content.patch
Patch3:         vlc-0.8.6-wx28compat.patch
Patch4:         vlc-0.8.6f-shared_live555.patch
Patch5:         vlc-0.8.6f-all_plugin.patch
Patch7:         vlc-0.8.6f-wx28iccfixes.patch
Patch9:         vlc-0.8.6c-python_destdir.patch
Patch10:        vlc-0.8.6c-python_libtool.patch
Patch11:        vlc-0.8.6g-networkstream-seek.patch
Patch12:        vlc-0.8.6-font_dejavu.patch
Patch16:        vlc-trunk-dirac_0_8_0-api.patch
Patch17:        vlc-0.8.6c-dts_to_dca_api.patch
Patch19:        vlc-0.8.6e-pulse.patch
Patch20:        vlc-0.8.6e-pulse_default.patch
Patch21:        vlc-0.8.6e-directfb.patch
Patch50:        vlc-0.8.6h-ffmpeg-compat.patch
Patch51:        vlc-0.8.6c-ffmpeg_fix_for_compat.patch
Patch63:        vlc-trunk-dirac_0_9_0-api.patch
Patch80:        vlc-0.8.6e-xulrunner.patch
Patch90:        vlc-0.8.6-vlvc_0.8.patch
Patch91:        vlc-0.8.6-vlvcfix.patch
Patch100:       vlc-trunk-default_font.patch
BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)


BuildRequires:	automake
BuildRequires:	gettext-devel
BuildRequires:	desktop-file-utils
BuildRequires:	libtool

BuildRequires:	a52dec-devel
BuildRequires:	aalib-devel
BuildRequires:	alsa-lib-devel
%{?_with_amr:BuildRequires: amrnb-devel amrwb-devel}
BuildRequires:	avahi-devel
BuildRequires:  cdparanoia-devel
%{?_with_clinkcc:BuildRequires:  clinkcc}
%if %with_dirac
BuildRequires:	dirac-devel >= 0.6.0
%endif
%if %with_directfb
BuildRequires:  directfb-devel
%endif
%if 0%{?fedora} < 9
BuildRequires:	esound-devel
BuildRequires:	arts-devel
%endif
BuildRequires:	faac-devel
BuildRequires:	faad2-devel
BuildRequires:	flac-devel
BuildRequires:	fribidi-devel
# Broken with 0.8.6x
#BuildRequires:  Glide3-devel
#BuildRequires:  Glide3-libGL
BuildRequires:  gnome-vfs2-devel
BuildRequires:	gnutls-devel >= 1.0.17
BuildRequires:	gsm-devel
BuildRequires:  gtk2-devel
BuildRequires:	hal-devel
BuildRequires:	jack-audio-connection-kit-devel
BuildRequires:	lame-devel
BuildRequires:  libavc1394-devel
BuildRequires:	libcaca-devel
BuildRequires:	libcddb-devel
BuildRequires:	libcdio-devel >= 0.77-3
BuildRequires:	libdca-devel
BuildRequires:	libdv-devel
BuildRequires:	libdvbpsi-devel
BuildRequires:	libdvdnav-devel
BuildRequires:  libebml-devel
BuildRequires:	libid3tag-devel
BuildRequires:	libmad-devel
BuildRequires:	libmatroska-devel >= 0.7.6
BuildRequires:	libmodplug-devel
BuildRequires:	libmp4v2-devel
BuildRequires:	libmpcdec-devel
BuildRequires:  libnotify-devel
BuildRequires:  libopendaap-devel
BuildRequires:	libpng-devel
BuildRequires:	librsvg2-devel >= 2.5.0
BuildRequires:	libsysfs-devel
BuildRequires:  libshout-devel
BuildRequires:	libtar-devel
BuildRequires:	libtheora-devel
BuildRequires:  libtiff-devel
BuildRequires:  libupnp-devel
BuildRequires:	libvorbis-devel
BuildRequires:  libxml2-devel
BuildRequires:	lirc-devel
%if %with_internal_live555
BuildConflicts: live-devel
BuildConflicts: live555-devel
%else
%if %with_shared_live555
BuildRequires:	live555-devel >= 0-0.19.2008.04.03
%else
BuildRequires:	live-devel >= 0-0.11.2006.08.07
%endif
%endif
BuildRequires:  kernel-headers >= 2.6.20
BuildRequires:	libGL-devel
BuildRequires:	libGLU-devel
BuildRequires:	mpeg2dec-devel >= 0.3.2
BuildRequires:	ncurses-devel
BuildRequires:	openslp-devel
%if %with_python_vlc
BuildRequires:	python-devel
%endif
BuildRequires:	SDL_image-devel
BuildRequires:	speex-devel >= 1.1.5
%ifarch %{ix86} x86_64
BuildRequires:  svgalib-devel
%endif
BuildRequires:	twolame-devel
BuildRequires:	vcdimager-devel >= 0.7.21
BuildRequires:	wxGTK-devel >= 2.6
BuildRequires:	x264-devel >= 0-0.8.20061028
BuildRequires:	xosd-devel
BuildRequires:	xvidcore-devel
BuildRequires:	zlib-devel

# X-libs
BuildRequires:	libXt-devel
BuildRequires:	libXv-devel
BuildRequires:  libXxf86vm-devel
BuildRequires:  libX11-devel
BuildRequires:  libXext-devel
BuildRequires:  libXpm-devel

%if 0%{?fedora} > 6
BuildRequires:  libsmbclient-devel
%else 
BuildRequires:  samba-common
%endif

%if 0%{?fedora} > 7
BuildRequires:  pulseaudio-libs-devel >= 0.9.8
BuildRequires:  portaudio-devel
%endif

%if %with_mozilla
BuildRequires:  gecko-devel
BuildRequires:  nspr-devel
%else
Obsoletes: mozilla-vlc < %{version}-%{release}
%endif

%if %with_intern_ffmpeg
## Static version already bundle it
BuildConflicts:	ffmpeg-devel
%else
%if %{with_ffmpeg_compat}
BuildRequires:	ffmpeg-compat-devel >= 0.4.9-0
%else
BuildRequires:	ffmpeg-devel >= 0.4.9-0
%endif
%endif


# Now obsoleted as it will be built externally
Obsoletes: java-vlc < %{version}


%if %vlc_git
BuildRequires:  opencv-devel
BuildRequires:  qt4-devel
BuildRequires:  dbus-devel
BuildRequires:  fluidsynth-devel
BuildRequires:  xorg-x11-proto-devel
BuildRequires:  lua-devel
BuildRequires:  libXvMC-devel
BuildRequires:  taglib-devel
BuildRequires:  libmusicbrainz-devel
BuildRequires:  zvbi-devel
%endif

%if %rpmfusion
BuildRequires:  libgoom2-devel
BuildRequires:  libggi-devel
%endif

%if %with_dc1394
BuildRequires:  compat-libdc1394-devel
BuildRequires:  compat-libraw1394-devel
%else
BuildRequires:  libraw1394-devel
%endif

Requires: vlc-core = %{version}-%{release}
Requires: dejavu-fonts


%package devel
Summary:	Development package for %{name}
Group:		Development/Libraries
Requires:	%{name} = %{version}-%{release}


%description
VLC (initially VideoLAN Client) is a highly portable multimedia player
for various audio and video formats (MPEG-1, MPEG-2, MPEG-4, DivX,
mp3, ogg, ...) as well as DVDs, VCDs, and various streaming protocols.
It can also be used as a server to stream in unicast or multicast in
IPv4 or IPv6 on a high-bandwidth network.


%description devel
This package contains development files for VLC Media Player.

VLC (initially VideoLAN Client) is a highly portable multimedia player
for various audio and video formats (MPEG-1, MPEG-2, MPEG-4, DivX,
mp3, ogg, ...) as well as DVDs, VCDs, and various streaming protocols.
It can also be used as a server to stream in unicast or multicast in
IPv4 or IPv6 on a high-bandwidth network.

%if %with_python_vlc
%package -n python-vlc
Summary:	VLC Media Player binding for Python
Group:		Applications/Multimedia	
Requires:	%{name}-core = %{version}-%{release}

%description -n python-vlc
VLC Media Player binding for Python
%endif


%if %with_mozilla
%package -n mozilla-vlc
Summary:	VLC Media Player plugin for Mozilla compatible web browsers
Group:		Applications/Multimedia	
Requires:	%{name} = %{version}-%{release}
Requires:	%{_libdir}/mozilla/plugins

%description -n mozilla-vlc
This package contains a VLC Media Player plugin for Mozilla compatible
web browsers.

VLC (initially VideoLAN Client) is a highly portable multimedia player
for various audio and video formats (MPEG-1, MPEG-2, MPEG-4, DivX,
mp3, ogg, ...) as well as DVDs, VCDs, and various streaming protocols.
It can also be used as a server to stream in unicast or multicast in
IPv4 or IPv6 on a high-bandwidth network.
%endif

%package core
Summary:	VLC Media Player without Xorg
Group:		Applications/Multimedia
Provides:       vlc-nox = %{version}-%{release}

%description core
VLC Media Player without X.org for server

%if %with_dc1394
%package plugins-dc1394
Summary:	VLC Media Player Plugins for dc1394
Group:		Applications/Multimedia
Requires:	%{name}-core = %{version}
Requires:       compat-libdc1394-tools

%description plugins-dc1394
VLC plugins for libdc1394
%endif

%prep
%setup -q -n %{name}-%{_version}
%if %with_intern_ffmpeg
%setup -q -D -T -a 1 -n %{name}-%{_version}
%endif
%if %with_internal_live555
%setup -q -D -T -a 2 -n %{name}-%{_version}
%endif
%if %with_vlvc
%setup -q -D -T -a 3 -n %{name}-%{_version}
find vlvc_source-0.8 -type f -exec chmod 644 {} ";"
cp -pR vlvc_source-0.8/* .
cp -p vlvc_readme-0.8_fr.txt vlvc_readme-0.8_fr.txt.noutf8
iconv -f ISO-8859-1 -t UTF-8 vlvc_readme-0.8_fr.txt.noutf8 > vlvc_readme-0.8_fr.txt
touch -r vlvc_readme-0.8_fr.txt.noutf8 vlvc_readme-0.8_fr.txt
%endif


%if %vlc_git
%patch100 -p1 -b .default_font
%else
%patch1 -p1 -b .new_x-content
%patch3 -p1 -b .wxGTK28compat
%patch4 -p1 -b .shared_live555
%patch5 -p1 -b .all_plugin
%patch7 -p1 -b .wx28iccfixes
%patch9 -p1 -b .python_destdir
%patch10 -p1 -b .python_libtool
%patch11 -p1 -b .networkstream_seek
%patch12 -p1 -b .font_dejavu
%if 0%{?fedora} > 7
%patch16 -p1 -b .dirac8
%patch17 -p1 -b .dts_dca
%patch19 -p1 -b .pulse
%patch20 -p1 -b .pulse_default
%patch21 -p1 -b .directfb
%endif

%if %{with_ffmpeg_compat}
%patch50 -p1 -b .compat
#patch51 -p1 -b .fix_for_compat
%endif

%if 0%{?fedora} > 8
%patch63 -p1 -b .dirac9
%patch80 -p1 -b .libxul
%endif

%if %with_vlvc
%patch90 -p1 -b .vlvc
%patch91 -p1 -b .vlvcfix
%endif

%endif

%{?_with_clinkcc:
#hack for clinkcc support - optional feature - under testing.
mkdir -p clinkcc/{lib/unix,include}
cp -pR %{_includedir}/cybergarage clinkcc/include
cp -pR %{_libdir}/libclink.a clinkcc/lib/unix
sed -i -e 's|MediaServer.h|media/server/MediaServer.h|' configure.ac configure
}

%if %vlc_git
%else
# Fix perms issues
chmod 644 mozilla/control/*
chmod 644 src/control/log.c
sed -i 's/\r//'  mozilla/control/* 


sh bootstrap
%endif


%build
%if %with_intern_ffmpeg
export CFLAGS="%{optflags}"
# Build bundeled ffmpeg first
pushd ffmpeg-%{ffmpeg_date}
./configure \
%ifarch x86_64
	--extra-cflags="-fPIC -DPIC" \
%else
	--extra-cflags="-fPIC -DPIC -fomit-frame-pointer" \
%endif
	--disable-static \
	--enable-pthreads \
	--enable-shared \
	--disable-ffmpeg \
	--disable-ffserver \
	--disable-vhook \
	--disable-ffplay \
	--disable-optimizations \
	--disable-strip \
	--disable-protocols \
	--enable-liba52 \
	--enable-libmp3lame \
	--enable-libfaac \
	--enable-libfaad \
	--enable-libgsm \
	--enable-libtheora \
	--enable-libvorbis \
	--enable-libx264 \
	--enable-libxvid \
	--enable-pp \
	--enable-gpl \
%{?_with_amr:--enable-libamr-nb --enable-libamr-wb } \
%if %vlc_git
	--enable-swscaler \
%endif


# Watch http://trac.videolan.org/vlc/ticket/865
# Planned to be enabled for 0.9.x

	make %{?_smp_mflags}

# Hack for PKG_CONFIG_PATH
for pc in theora vorbis vorbisenc ogg ;do 
  ln -s %{_libdir}/pkgconfig/${pc}.pc
done

popd
%endif


%if %with_internal_live555
# Then bundled live555 - not needed
pushd live
# Force the use of our CFLAGS
%{__perl} -pi -e 's|-O2|%{optflags} -fPIC -DPIC|g' config.linux
# Configure and build
./genMakefiles linux && make
popd
%endif


# Altivec compiler flags aren't set properly (0.8.2)
%ifarch ppc ppc64
export CFLAGS="$CFLAGS -maltivec -mabi=altivec"
%endif

%if %{with_ffmpeg_compat}
mkdir -p temp
# Fake the ffmpeg installation
ln -sf %{_includedir}/ffmpeg-compat temp/ffmpeg
ln -sf %{_includedir}/postproc-compat temp/postproc
export FFMPEG_CFLAGS="-I%{_builddir}/%{name}-%{_version}/temp"
export FFMPEG_LDFLAGS="$(pkg-config --libs libpostproc-compat libavcodec-compat libavutil-compat libavformat-compat)"
%endif

%configure \
	--disable-dependency-tracking		\
	--disable-rpath				\
	--enable-shout				\
	--enable-release			\
	--enable-live555 			\
%if %with_internal_live555
	--with-live555-tree=live		\
%endif
%if %with_dc1394
	--enable-dc1394				\
%endif
	--enable-dv				\
	--enable-ffmpeg --with-ffmpeg-mp3lame --with-ffmpeg-faac \
%if %with_intern_ffmpeg
 	--with-ffmpeg-tree=ffmpeg-%{ffmpeg_date} \
%{?_with_amr:--enable-libamr-nb --enable-libamr-wb } \
	--with-ffmpeg-faac --with-ffmpeg-vorbis \
	--with-ffmpeg-theora --with-ffmpeg-ogg --with-ffmpeg-zlib \
	--with-ffmpeg-a52 --with-ffmpeg-x264 \
%endif
	--enable-libtool 			\
	--with-gnu-ld				\
	--with-PIC				\
	--disable-static			\
	--enable-shared				\
 	--disable-pth				\
	--enable-dvdread			\
	--enable-v4l				\
	--enable-pvr				\
	--enable-libcdio			\
	--enable-cddax 				\
	--enable-vcdx				\
	--enable-dvb				\
	--enable-faad				\
	--enable-twolame			\
	--enable-real				\
	--enable-realrtsp			\
	--enable-flac				\
	--enable-tremor				\
	--enable-speex				\
	--enable-tarkin				\
	--enable-theora				\
%if %with_dirac
	--enable-dirac				\
%endif
	--enable-svg				\
	--enable-snapshot			\
%ifarch %{ix86} x86_64
	--enable-svgalib			\
%endif
%if %with_directfb
	--enable-directfb			\
%endif
	--enable-aa				\
	--enable-caca				\
%if 0%{?fedora} < 9
        --enable-esd                            \
	--enable-arts				\
%endif
	--enable-jack				\
%{?_with_clinkcc:--enable-cyberlink --with-cyberlink-tree=clinkcc }	\
	--enable-upnp				\
%if 0%{?fedora} > 7
        --enable-portaudio                      \
	--enable-pulse				\
%endif
	--enable-ncurses			\
	--enable-xosd				\
	--enable-galaktos			\
%if %rpmfusion
	--enable-goom				\
	--enable-ggi				\
%endif
	--enable-slp				\
	--enable-lirc				\
	--disable-corba				\
%if %with_vlvc
	--enable-vlvc				\
%endif
%if %with_python_vlc
	--enable-mediacontrol-python-bindings	\
%endif
%ifarch %{ix86}
	--enable-loader				\
%endif
	--without-contrib			\
%if %with_mozilla 
	--enable-mozilla			\
%endif
	--with-x264-tree=%{_includedir}		\
%if %vlc_git
	--enable-switcher			\
	--enable-opencv				\
	--enable-v4l				\
	--enable-v4l2				\
	--enable-gnomevfs			\
%if 0%{?fedora} < 9
	--disable-swscale			\
	--enable-imgresample			\
%endif
	--disable-dv				\
        --disable-skins2                        \
        --disable-wxwidgets                     \
	--enable-libcdio			\
	--enable-cddax				\
	--enable-vcdx				\
	--enable-audioscrobbler			\
	--enable-musicbrainz			\
	--enable-taglib				\
	--enable-dbus-control			\
	--enable-qt4				\
	--enable-xvmc				\
	--enable-ncurses
%endif



%if %vlc_git
# remove rpath from libtool
sed -i.rpath 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i.rpath 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
%else
# clean unused-direct-shlib-dependencies
sed -i -e 's! -shared ! -Wl,--as-needed\0!g' libtool
%endif

%if %{with_ffmpeg_compat}
sed -i -e 's|cflags="${cflags} -I/usr/include/ffmpeg-compat"|cflags="${cflags} -I%{_includedir}/ffmpeg-compat -I%{_includedir}/postproc-compat/"|' vlc-config
%else
sed -i -e 's|cflags="${cflags} -I/usr/include/ffmpeg"|cflags="${cflags} -I%{_includedir}/ffmpeg -I%{_includedir}/postproc/"|' vlc-config
%endif



make %{?_smp_mflags}



%install
rm -rf $RPM_BUILD_ROOT

make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p" CPPROG="cp -p"
find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'
find $RPM_BUILD_ROOT -name '*.a' -exec rm -f {} ';'

install -dm 755 $RPM_BUILD_ROOT%{_mandir}/man1
install -pm 644 doc/vlc*.1 $RPM_BUILD_ROOT%{_mandir}/man1

for i in 16x16 32x32 48x48 128x128 ; do
  mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${i}/apps
  install -pm 0644 share/vlc${i}.png \
    $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${i}/apps/vlc.png
done

desktop-file-install --vendor livna			\
	--dir $RPM_BUILD_ROOT%{_datadir}/applications	\
	--delete-original				\
	--mode 644					\
	$RPM_BUILD_ROOT%{_datadir}/applications/vlc.desktop

%if %vlc_git
%else
%if %with_python_vlc
# Fix python shebang
sed -i -e 's|"""Wrapper|#!/usr/bin/python\n"""Wrapper|' $RPM_BUILD_ROOT%{_bindir}/vlcwrapper.py
%endif
%endif


%find_lang %{name}


%clean
rm -rf $RPM_BUILD_ROOT


%post
touch --no-create %{_datadir}/icons/hicolor
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
  %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor
fi 
%{_bindir}/update-desktop-database %{_datadir}/applications || :

%post core -p /sbin/ldconfig

%postun
%{_bindir}/update-desktop-database %{_datadir}/applications
touch --no-create %{_datadir}/icons/hicolor
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
  %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor
fi || :

%postun core -p /sbin/ldconfig


%files
%defattr(-,root,root,-)
%doc AUTHORS COPYING ChangeLog MAINTAINERS NEWS README THANKS
%doc %{_docdir}/vlc/*
%if %with_vlvc
%doc vlvc_readme-0.8_en.txt vlvc_readme-0.8_fr.txt
%endif
%{_datadir}/applications/*%{name}.desktop
%{_datadir}/icons/hicolor/*/apps/vlc.png
%if %vlc_git
%{_bindir}/cvlc
%{_bindir}/nvlc
%{_bindir}/qvlc
%{_bindir}/rvlc
%{_bindir}/vlc-wrapper
%{_libdir}/vlc/gui/libqt4_plugin.so
%else
%{_bindir}/wxvlc
%{_libdir}/vlc/gui/libwxwidgets_plugin.so
%endif
%{_libdir}/vlc/access/libscreen_plugin.so
%{_libdir}/vlc/misc/libsvg_plugin.so
%{_libdir}/vlc/misc/libnotify_plugin.so
%{_libdir}/vlc/video_output/libaa_plugin.so
%{_libdir}/vlc/video_output/libcaca_plugin.so
%{_libdir}/vlc/video_output/libglx_plugin.so
%{_libdir}/vlc/video_output/libopengl_plugin.so
%{_libdir}/vlc/video_output/libx11_plugin.so
%{_libdir}/vlc/video_output/libxvideo_plugin.so
%{_libdir}/vlc/visualization/libgalaktos_plugin.so
%if %vlc_git
%{_libdir}/vlc/misc/libxosd_plugin.so
%{_libdir}/vlc/codec/libxvmc_plugin.so
%{_libdir}/vlc/video_output/libxvmc_plugin.so
%else
%{_libdir}/vlc/visualization/libxosd_plugin.so
%{_libdir}/vlc/gui/libskins2_plugin.so
%{_datadir}/vlc/skins2/
%endif

%files core -f %{name}.lang
%defattr(-,root,root,-)
%{_bindir}/vlc
%{_datadir}/vlc/
%{_libdir}/*.so.*
%if %vlc_git
%exclude %{_libdir}/vlc/gui/libqt4_plugin.so
%else
%{_bindir}/svlc
%exclude %{_libdir}/vlc/gui/libwxwidgets_plugin.so
%exclude %{_libdir}/vlc/gui/libskins2_plugin.so
%exclude %{_datadir}/vlc/skins2
%endif
%exclude %{_libdir}/vlc/access/libscreen_plugin.so
%exclude %{_libdir}/vlc/misc/libsvg_plugin.so
%exclude %{_libdir}/vlc/misc/libnotify_plugin.so
%exclude %{_libdir}/vlc/video_output/libaa_plugin.so
%exclude %{_libdir}/vlc/video_output/libcaca_plugin.so
%exclude %{_libdir}/vlc/video_output/libglx_plugin.so
%exclude %{_libdir}/vlc/video_output/libopengl_plugin.so
%exclude %{_libdir}/vlc/video_output/libx11_plugin.so
%exclude %{_libdir}/vlc/video_output/libxvideo_plugin.so
%exclude %{_libdir}/vlc/visualization/libgalaktos_plugin.so
%if %vlc_git
%exclude %{_libdir}/vlc/misc/libxosd_plugin.so
%exclude %{_libdir}/vlc/codec/libxvmc_plugin.so
%exclude %{_libdir}/vlc/video_output/libxvmc_plugin.so
%else
%exclude %{_libdir}/vlc/visualization/libxosd_plugin.so
%endif
%if %with_dc1394
%exclude %{_libdir}/vlc/access/libdc1394_plugin.so
%endif
%{_libdir}/vlc/
%{_mandir}/man1/vlc.1*

%if %with_dc1394
%files plugins-dc1394
%defattr(-,root,root,-)
%{_libdir}/vlc/access/libdc1394_plugin.so
%endif

%files devel
%defattr(-,root,root,-)
%doc HACKING
%dir %{_includedir}/vlc
%{_includedir}/vlc/*
%{_mandir}/man1/vlc-config.1*
%{_libdir}/*.so
%if %vlc_git
%{_libdir}/pkgconfig/vlc-plugin.pc
%{_libdir}/pkgconfig/libvlc.pc
%else
%{_bindir}/vlc-config
%endif

%if %with_mozilla
%files -n mozilla-vlc
%defattr(-,root,root,-)
%{_libdir}/mozilla/plugins/libvlcplugin.so
%endif

%if %with_python_vlc
%files -n python-vlc
%defattr(-,root,root,-)
%{python_sitearch}/*
%if %vlc_git
%else
%{_bindir}/vlcwrapper.py
%exclude %{_bindir}/vlcwrapper.py?
%endif
%endif



%changelog
* Sat Aug 09 2008 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info - 0.8.6h-1
- rebuild

* Fri Jun 6 2008 kwizart < kwizart at gmail.com > - 0.8.6h-1
- Update to 0.8.6h
- Use hicolor icons
- Add patch for new_x-content
  http://bugzilla.livna.org/show_bug.cgi?id=2003
- Fix VLC: HTTP access: cannot seek AVI
  http://bugzilla.livna.org/show_bug.cgi?id=2014
  
* Sun May 18 2008 kwizart < kwizart at gmail.com > - 0.8.6g-2
- Bump for official release

* Wed May 14 2008 kwizart < kwizart at gmail.com > - 0.8.6g-1
- Update to 0.8.6g
Security updates:
 * Removed VLC variable settings from Mozilla and ActiveX (CVE-2007-6683)
 * Removed loading plugins from the current directory (CVE-2008-2147)

Various bugfixes:
 * Fixed various memory leaks, improving stability when running as a server
 * Fixed compilation with recent versions of FFmpeg
 * Correctly parses SAP announcements from MPEG-TS
 * Fixed AAC resampling
 * The Fullscreen Controller appears correctly on Mac OS X,
   if the 'Always-on-top' video option was selected.

* Tue May 13 2008 kwizart < kwizart at gmail.com > - 0.8.6f-6
- Fix ffmpeg-compat with newest ffmpeg interaction

* Mon May 12 2008 kwizart < kwizart at gmail.com > - 0.8.6f-5
- Introduce 180_all_faad.patch
- Re-enable ffmpeg-compat for F-9

* Mon May 12 2008 Thorsten Leemhuis < fedora at leemhuis dot info > - 0.8.6f-4
- disable patch82 temporary

* Fri May  9 2008 kwizart < kwizart at gmail.com > - 0.8.6f-3
- Bugfixes patches for post f version
- Add vlvc 0.8 plugin support
- Add textrel fix from gentoo patch
- Improve libxul patch 

* Mon Apr  7 2008 kwizart < kwizart at gmail.com > - 0.8.6f-2
- Fix for wxGTK28 compatibility.
 Patch from Dominique Leuenberger <dominique at leuenberger.net

* Mon Apr  7 2008 kwizart < kwizart at gmail.com > - 0.8.6f-1
- Update to 0.8.6f (Final)
Security updates:
 * Really fixed subtitle buffer overflow (CVE-2007-6681)
 * Fixed Real RTSP code execution problem (CVE-2008-0073)
 * Fixed MP4 integer overflows (CVE-2008-1489)
 * Fixed cinepak integer overflow
Various bugfixes:
 * Fixed crashes in H264 packetizer
 * Close MMS access on network timeout
 * Fix some problems with AAC decoder & packetizer
- Remove java-vlc (will be built externally)
- Add clinkcc conditional/experimental support.

* Mon Feb 25 2008 kwizart < kwizart at gmail.com > - 0.8.6e-1
- Update to 0.8.6e (Final)
Security updates:
 * Subtitle demuxers overflow (CVE-2007-6681)
 * HTTP listener format string injection (CVE-2007-6682)
 * Fixed buffer overflow in the SDL_image library (CVE-2006-4484)
 * Real RTSP overflows (CVE-2008-0225, CVE-2008-0295,
   CVE-2008-0296, VideoLAN-SA-0801)
 * Arbitrary memory overwrite in the MP4 demuxer (CORE-2008-0130,
   VideoLAN-SA-0802)


* Mon Feb 25 2008 kwizart < kwizart at gmail.com > - 0.8.6e-0.3
- Update to svn20080225 from bugfix (pre 0.8.6e)

* Thu Feb 21 2008 kwizart < kwizart at gmail.com > - 0.8.6e-0.2
- Update to svn20080221 from bugfix (pre 0.8.6e)
- Updated merged pulseaudio patch
- Raise PA to be used by default.

* Mon Feb 18 2008 kwizart < kwizart at gmail.com > - 0.8.6e-0.1
- Update to pre0.8.6e
- Add pre PA patch (not merged yet)

* Sat Jan 19 2008 kwizart < kwizart at gmail.com > - 0.8.6d-4
- Patches from Jens Petersen <juhpetersen at gmail.com>
- Add wxGTK28 wip patch
- Conditionalize directfb and dirac 
- Change the default font to DejaVuSerif.ttf (dejavu-fonts)
- Add BR missing libmpeg4v2

* Thu Jan 10 2008 kwizart < kwizart at gmail.com > - 0.8.6d-3.1
- Remove BR portaudio arts
- Move skin2 to main vlc package
- Enable libopendaap (included within Fedora)

* Mon Dec  3 2007 kwizart < kwizart at gmail.com > - 0.8.6d-3
- Enable java-vlc (developer use only - java-icedtea).
- Fix arch detection for java headers

* Sat Dec  1 2007 kwizart < kwizart at gmail.com > - 0.8.6d-2
- Improve core/nox split

* Thu Nov 29 2007 kwizart < kwizart at gmail.com > - 0.8.6d-1
- Update to vlc 0.8.6d

* Tue Nov  6 2007 kwizart < kwizart at gmail.com > - 0.8.6c-10
- Split to core/nox package for server use.

* Tue Nov  6 2007 kwizart < kwizart at gmail.com > - 0.8.6c-9
- Raise ESD audio_output to be tried by default 
  (used by pulseaudio-esound-compat )

* Tue Nov  6 2007 kwizart < kwizart at gmail.com > - 0.8.6c-8
- Rebuild for libdca and faad2

* Mon Oct 22 2007 kwizart < kwizart at gmail.com > - 0.8.6c-7
- Rebuild for new libdvbpsi5-0.1.6

* Fri Oct 19 2007 kwizart < kwizart at gmail.com > - 0.8.6c-6
- Rebuild with the GPL compatible faad2
- Update the Dirac patch
- Fix livna #1668

* Sun Sep 23 2007 kwizart < kwizart at gmail.com > - 0.8.6c-5
- Prepare svn version
- Drop the python switch default
- Add BR directfb-devel 
- Improve timestamp
- Allow faad2 to be 2.5 (license change is known GPL compatible).

* Thu Aug 23 2007 kwizart < kwizart at gmail.com > - 0.8.6c-4
- Change default font to dejavu-lgc/DejaVuLGCSerif.ttf
  http://bugzilla.livna.org/show_bug.cgi?id=1605
- Remove unneeded fonts provided by skin2

* Tue Aug 14 2007 kwizart < kwizart at gmail.com > - 0.8.6c-3.2
- clean-up with svn
- patch smb.c for call_open (from rdieter advice)
- Update license field to GPLv2

* Sun Aug 12 2007 kwizart < kwizart at gmail.com > - 0.8.6c-3.1
- Fix libtool with shared libs when python-vlc is used
  http://bugzilla.livna.org/show_bug.cgi?id=1590
- Fix desktop file to be GNOME HIG compliant
  http://bugzilla.livna.org/show_bug.cgi?id=1591

* Tue Jul 31 2007 kwizart < kwizart at gmail.com > - 0.8.6c-3
- Switch for python-vlc
- Add bugfix patch pre_d
- Fix version field for desktop file.
- Fix ivtv support with updated patch for new videodev2.h
- Clean old Obsoletes/Provides for name 8.1
- Rebuild with firefox-devel 2.0.0.5
- Patch/rebuild with libcdio 0.78.2
- Add mesa's BR
- Add BR libXvMC-devel for svn

* Tue Jun 26 2007 kwizart < kwizart at gmail.com > - 0.8.6c-2
- Update to new libupnp

* Sat Jun 16 2007 kwizart < kwizart at gmail.com > - 0.8.6c-1
- Update to 0.8.6c (final)
- Add patch to uses v4l2 header for new v4l2 encoder API.

* Sat Jun 16 2007 kwizart < kwizart at gmail.com > - 0.8.6c-0.1
- Update to 0.8.6c (bugfix) 20060616
- Drop FLAC, automake110, wxGTK for 2.8, faad2
- Uses shared ffmpeg.

* Thu Jun  7 2007 kwizart < kwizart at gmail.com > - 0.8.6b-6
- Rebuild for F-7 (compat-wxGTK26)

* Mon Jun  4 2007 kwizart < kwizart at gmail.com > - 0.8.6b-5.3
- Uses only -fPIC to prevent Selinux context problems...
- Uses compat-wxGTK26-devel on Fedora 7
- Leave libcorba for now...
  (libquicktime_plugin seems also broken - confirmed by upstream)
- Change static_live555 to internal_live555.
  needed for testing - uses live-devel for livna releases.

* Sat May 19 2007 kwizart < kwizart at gmail.com > - 0.8.6b-5
- Removed no more needed Selinux Context:
  fixed in http://bugzilla.redhat.com/237473

* Sun May 13 2007 kwizart < kwizart at gmail.com > - 0.8.6b-4
- Disabled pth (broken) and...
- Build ffmpeg static (since shared ffmpeg is pth enabled).
- Add post & postun update-desktop-database
- Update static ffmpeg to 20070503 (same as shared version)

* Sun May 13 2007 kwizart < kwizart at gmail.com > - 0.8.6b-3.3
- Test static updated live555

* Sat May 12 2007 kwizart < kwizart at gmail.com > - 0.8.6b-3.2
- Update to the new ffmpeg with pth (testing - wip )

* Fri May  4 2007 kwizart < kwizart at gmail.com > - 0.8.6b-3.1
- Add BR libebml-devel
- Add BR Glide3-devel
- Add BR gnome-vfs2-devel
- Add BR libxml2-devel
- Fix BR faad2-devel < 2.5
- Add rpmfusion BR libopendaap-devel
- Add rpmfusion BR libgoom2-devel
- Add rpmfusion BR libdc1394-devel
- Exclude corba plugin (broken)
- Add relatives %%configure options
- Comment Glide3 (don't work now - wip)

* Thu May  3 2007 kwizart < kwizart at gmail.com > - 0.8.6b-3
- Enable --enable-pth with ffmpeg
  bump release in case testing take much time.

* Thu May  3 2007 kwizart < kwizart at gmail.com > - 0.8.6b-1.3
- Fix Selinux remain quiet with semanage

* Tue May  1 2007 kwizart < kwizart at gmail.com > - 0.8.6b-1.2
- Few improvements for svn version
- Add missing BR ORBit2-devel and pyorbit-devel
- Improved post preun postun section with help from Anvil.

* Mon Apr 30 2007 kwizart < kwizart at gmail.com > - 0.8.6b-1.1
- Add missing BR libtiff-devel
- Fix Selinux buglet when Selinux is not activated
  was https://bugzilla.livna.org/show_bug.cgi?id=1484

* Sat Apr 21 2007 kwizart < kwizart at gmail.com > - 0.8.6b-1
- Update to Final 8.6b
- Enable Dirac codec
- Fix mozilla-vlc libXt.so loading 
  (removing mozilla-sdk since using firefox sdk >= 1.5)
- Fix SeLinux context for dmo plugin. Was:
  https://bugzilla.livna.org/show_bug.cgi?id=1404
- Enabled cddax only for x86_64 (broken type).

* Wed Apr 18 2007 kwizart < kwizart at gmail.com > - 0.8.6b-0.3
- Fix BR for libsmbclient-devel for Fedora 7
- Update to 0.8.6-bugfix-20070418
- Add BR libraw1394-devel
- Add BR libavc1394-devel

* Mon Apr 16 2007 kwizart < kwizart at gmail.com > - 0.8.6b-0.2
- Fix svgalib-devel only for x86 x86_64
- Fix firefox-devel headers presence/usability. This remains:
 npapi.h: accepted by the compiler, rejected by the preprocessor!
 npapi.h: proceeding with the compiler's result

* Sat Apr 14 2007 kwizart < kwizart at gmail.com > - 0.8.6b-0.1
- Update to rc 0.8.6b (bugfix)
- Hack configure.ac script (it didn't detect firefox headers)
- Add BR libshout-devel
- Add BR svgalib-devel
- Add BR gtk2-devel
- Add BR directfb-devel (wip)
- Add BR libnotify-devel
- Enabled --enable-speex
- Testing --enable-portaudio not usefull (oss is deprecated)
- Enabled --enable-pda
- Testing --enable-directfb (wip)
- Removed patch5 (was format.c)

* Thu Apr  5 2007 kwizart < kwizart at gmail.com > - 0.8.6a-5
- Use system ffmpeg lib (pth and libtool seems to be incompatible with it)
- Dirac seem to compile fine but testing usability for now.
- Cache isn't usefull for now (and won't be since using system libs)
- Exclude %%{_bindir}/vlcwrapper.py? since this is the guideline about python for now.

* Mon Apr  2 2007 kwizart < kwizart at gmail.com > - 0.8.6a-4.6
- Fix %%{_libdir}/advene directory ownership from: #1458
- Fix .py? presence and perm (644)
- Remove .la after make install
- Add --disable-pth (broken for release and svn)
  
* Sat Mar 24 2007 kwizart < kwizart at gmail.com > - 0.8.6a-4.5
- Test dirac (disabled mozilla )
- Test Updated static live555 to 2007.02.22
- Clean up svn to release changes

* Tue Mar 22 2007 kwizart < kwizart at gmail.com > - 0.8.6a-4.4
- WIP changes - ld.conf is unusefull...

* Wed Mar 21 2007 kwizart < kwizart at gmail.com > - 0.8.6a-4.3
- Revert back to the static vlc version 
 ( will explore this with ld.conf later )

* Wed Mar 21 2007 kwizart < kwizart at gmail.com > - 0.8.6a-4.2
- Fix .desktop file
- Disable broken libtool 
- Quick fixes for svn/cache prepare
- Patch format_c
- Fix rpmlint error with python-vlc

* Tue Mar 20 2007 kwizart < kwizart at gmail.com > - 0.8.6a-4.1
- Enable cache for static compilation - wip

* Fri Mar  9 2007 kwizart < kwizart at gmail.com > - 0.8.6a-4
- Enable conditionnal build for
	* mozilla-vlc, java-vlc, dirac
	* ffmpeg and live static
- Enable pth
- Enable gnu_ld

* Thu Mar  8 2007 kwizart < kwizart at gmail.com > - 0.8.6a-3.1
- Fix firefox-devel detection when avaible both i386 and x86_64
  http://bugzilla.livna.org/show_bug.cgi?id=1442

* Thu Mar  8 2007 kwizart < kwizart at gmail.com > - 0.8.6a-3
- Recover patch3 from Ville Skyttä
- Fix FLAC api change see
 http://bugzilla.livna.org/show_bug.cgi?id=1433

* Thu Mar  8 2007 kwizart < kwizart at gmail.com > - 0.8.6a-2
- Update ffmpeg to 20070308
- Enabled static build for internal ffmpeg (x264 vlc modules)
- Fixed: some configure options has changed for ffmpeg

* Sat Mar  3 2007 Thorsten Leemhuis <fedora at leemhuis dot info> - 0.8.6a-1.2
- Rebuild

* Sun Feb  4 2007 Ville Skyttä <ville.skytta at iki.fi> - 0.8.6a-1.1
- Fix aclocal/automake fix for automake 1.10 without breaking it for earlier.

* Sun Feb  4 2007 Ville Skyttä <ville.skytta at iki.fi> - 0.8.6a-1
- Build internal copy of ffmpeg with $RPM_OPT_FLAGS.
- Don't hardcode path to firefox headers.
- Drop Application and X-Livna categories from desktop entry.
- Clean up some unneeded cruft from specfile.
- Fix aclocal/automake calls during bootstrap.
- Let rpmbuild strip MediaControl.so.

* Sat Feb  3 2007 kwizart < kwizart at gmail.com > - 0.8.6a-0.4.static
- Internal static build of ffmpeg from Matthias version.

* Fri Jan 19 2007 kwizart < kwizart at gmail.com > - 0.8.6a-0.3
- Re-enabled mozilla-vlc
- use ifarch ix86

* Sat Jan 13 2007 kwizart < kwizart at gmail.com > - 0.8.6a-0.2
- Import patches from Matthias version
- try to fix firefox includes for mozilla-vlc -> disabled

* Wed Jan 10 2007 kwizart < kwizart at gmail.com > - 0.8.6a-0.1
- Try to Fix run with libavformat.so.51
- disabled

* Mon Jan  8 2007 kwizart < kwizart at gmail.com > - 0.8.6-5
- Update to BR bugzilla infos.
- Fix perms with python and debug headers.
- Cleaned obsolete-not-provided

* Fri Jan  5 2007 kwizart < kwizart at gmail.com > - 0.8.6-4
- Use BuildConflics with libcdio
- Enabled --enable-cddax
- Enabled --enable-vcdx
-  waiting --enable-quicktime (build fails)

* Fri Jan  5 2007 kwizart < kwizart at gmail.com > - 0.8.6-3
  with help from Rathan
- Update to 0.8.6a (security update!)
  from http://www.videolan.org/sa0701.html - #1342
- Add version to desktop file
- Fix dual shortcuts / Add MimeType

* Wed Jan  3 2007 kwizart < kwizart at gmail.com > - 0.8.6-2
 with help from Rathan
- Enabled --enable-shout
- Enabled --enable-quicktime (x86 only !) 
- Enabled --enable-loader (x86 only !)
- Enabled --with-wine-sdk-path (x86 only !)
- Enabled --enable-corba
-  testing --enable-dirac (libdirac-devel reviewing in extra)
   http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=221405
- Enabled --enable-mediacontrol-python-bindings
- Cosmetic changes in BR

* Mon Dec 11 2006 kwizart < kwizart at gmail.com > - 0.8.6-1.fc6
- Update to 8.6 final
- Change deprecated livdotcom to live555
- build shared librairies is default since 8.6
- Enabled --enable-dvdread
- Enabled --enable-faad
- Enabled --enable-twolame
-   waiting --enable-quicktime (problem finding xqtsdk )
- Enabled --enable-real
- Enabled --enable-realrtsp
- Enabled --enable-tremor
- Enabled --enable-tarkin
-   waiting --enable-dirac (TODO libdirac-devel )
- Enabled --enable-snapshot
- Enabled --enable-portaudio
- Enabled --enable-jack
- Enabled --enable-galaktos
-   waiting --enable-mediacontrol-python-bindings (default install error)
-   waiting --enable-cddax (new version of libcdio 0.78.2)
-   waiting --enable-vcdx (new version of libcdio 0.78.2)

* Mon Dec 04 2006 kwizart < kwizart at gmail.com > - 0.8.6-rc1.1.fc6
- Update to 8.6rc1
- disable components in mozilla-vlc
- disable libvlc_pic.a in devel
- Enable x264-devel for static linking.

* Fri Oct 06 2006 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info> 0.8.5-6
- rebuilt for unwind info generation, broken in gcc-4.1.1-21

* Mon Sep 25 2006 Dams <anvil[AT]livna.org> - 0.8.5-5
- BuildReq:libtool

* Sun Sep 24 2006 Dams <anvil[AT]livna.org> - 0.8.5-4
- Fixed the mozilla plugin damn build 

* Sat Sep  9 2006 Dams <anvil[AT]livna.org> - 0.8.5-3
- sysfsutils-devel -> libsysfs-devel

* Sat Sep  9 2006 Dams <anvil[AT]livna.org> - 0.8.5-1
- Updated to 0.8.5
- Fixed MOZVER value in case more than one mozilla is installed.
- Dropped patches 1, 2 and 3

* Wed Aug 16 2006 Ville Skyttä <ville.skytta at iki.fi> - 0.8.4a-2
- Adjust for new live package, enable it on all archs.

* Fri Apr 14 2006 Ville Skyttä <ville.skytta at iki.fi> - 0.8.4a-1
- Apply upstream patch to fix linking with newer ffmpeg/postproc.
- Drop no longer needed build conditionals and build dependencies.
- Enable Avahi, Musepack, SLP and sysfs support, fix SDL and Xv.
- Install icon to %%{_datadir}/icons/hicolor.
- Drop zero Epoch remainders.
- Fix -devel obsoletes.
- Specfile cleanups.

* Fri Mar 24 2006 Thorsten Leemhuis <fedora[AT]leemhuis.info> 0.8.4-9.a
- rebuild 

* Tue Mar 21 2006 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
0.8.4-8.a
- fix #775

* Mon Mar 20 2006 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
0.8.4-7.a
- add -fPIC for all arches

* Mon Mar 20 2006 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
0.8.4-6.a
- fix build on ppc/i386

* Thu Mar 16 2006 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
0.8.4-5.a
- fix BR

* Wed Mar 15 2006 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
0.8.4-4.a
- make vlc build again

* Tue Mar 14 2006 Thorsten Leemhuis <fedora[AT]leemhuis.info> 0.8.4-3.a
- drop "0.lvn" from release

* Tue Feb 28 2006 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
- add dist

* Mon Jan 09 2006 Thorsten Leemhuis <fedora[AT]leemhuis.info> - 0.8.4-0.lvn.3.a
- add all BRs the new ffmpeg needs

* Fri Jan 06 2006 Thorsten Leemhuis <fedora[AT]leemhuis.info> - 0.8.4-0.lvn.2.a
- add buildoption "--without mkv" -- ebml in FC3 is to old
- add buildoption "--without svg" -- does not build with svg on FC3-x86-64

* Thu Jan 05 2006 Thorsten Leemhuis <fedora[AT]leemhuis.info> - 0.8.4-0.lvn.1.a
- Update to 0.8.4a [with help from che (Rudolf Kastl)]
- Fix x64
- drop Epoch
- drop vlc-0.8.2-test2-altivec.patch, seems they worked on this
- use " --disable-libcdio" until we update to wxGTK2 2.6
- use "--disable-livedotcom" on x86_64 (does not build)

* Sat Aug  6 2005 Ville Skyttä <ville.skytta at iki.fi> - 0:0.8.2-0.lvn.4
- Fix "--without cddb" build when libcddb-devel is installed.
- BuildRequire live-devel instead of live.

* Wed Aug  3 2005 Dams <anvil[AT]livna.org> - 0:0.8.2-0.lvn.3
- Rebuilt *without* libcddb
- Rebuilt against new libdvbpsi

* Thu Jul 28 2005 Dams <anvil[AT]livna.org> - 0:0.8.2-0.lvn.2
- Rebuilt against new libcddb/libcdio

* Sat Jul  9 2005 Dams <anvil[AT]livna.org> - 0:0.8.2-0.lvn.1
- Updated to final 0.8.2

* Mon Jun  6 2005 Ville Skyttä <ville.skytta at iki.fi> 0:0.8.2-0.lvn.0.1.test2
- Update to 0.8.2-test2, rename to vlc, improve summaries and descriptions.
- Enable many more modules, many small improvements and cleanups here and there
- Use unversioned install dir for the Mozilla plugin, rename to mozilla-vlc.
- Drop < FC3 compatiblity due to unavailability of required lib versions.
- Fold wx and ncurses to the main package (upstream has retired the
  VLC Gnome and KDE UI's, so separate UI packages don't have a purpose
  any more).

* Sat Sep 11 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:0.7.2-0.lvn.7
- Remove dependency on libpostproc-devel, it's now in ffmpeg-devel (bug 255).

* Thu Sep  2 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:0.7.2-0.lvn.6
- BuildRequire alsa-lib-devel, was lost in previous update (bug 258).
- Add libcdio and libmodplug build dependencies.
- Tweak descriptions, remove unnecessary conditional sections.
- Disable dependency tracking to speed up the build.

* Sun Aug 29 2004 Ville Skyttä <ville.skytta at iki.fi> - 0:0.7.2-0.lvn.5
- Use system ffmpeg (>= 0.4.9), and make it, ALSA, and fribidi unconditional.
- Build with theora by default.
- Change default font to Vera serif bold.
- Enable pvr support for Hauppauge card users (thanks to Gabriel L. Somlo).

* Mon Jul  5 2004 Dams <anvil[AT]livna.org> 0:0.7.2-0.lvn.4
- Enabled libcddb support

* Wed Jun 30 2004 Dams <anvil[AT]livna.org> 0:0.7.2-0.lvn.3
- speex now conditional and default disabled since vlc requires
  development version. 

* Wed Jun 30 2004 Dams <anvil[AT]livna.org> 0:0.7.2-0.lvn.2
- Optional Fribidi and libtheora support (default disabled)

* Tue May 25 2004 Dams <anvil[AT]livna.org> 0:0.7.2-0.lvn.1
- Updated to 0.7.2

* Fri May  7 2004 Dams <anvil[AT]livna.org> 0:0.7.1-0.lvn.1
- BuildConflicts:ffmpeg
- Build against private ffmpeg snapshot

* Tue Mar  9 2004 Dams <anvil[AT]livna.org> 0:0.7.1-0.lvn.1
- Updated to 0.7.1
- Added live.com libraries support
- Added matroska support

* Sun Jan  4 2004 Dams <anvil[AT]livna.org> 0:0.7.0-0.lvn.1
- Updated to 0.7.0
- s/fdr/lvn

* Wed Dec 10 2003 Dams <anvil[AT]livna.org> 0:0.6.2-0.fdr.7
- Conditional ffmpeg build option (default enabled)

* Fri Sep  5 2003 Dams <anvil[AT]livna.org> 0:0.6.2-0.fdr.6
- pth support now default disabled 

* Fri Sep  5 2003 Dams <anvil[AT]livna.org> 0:0.6.2-0.fdr.5
- slp support can now be not-build with '--without slp'

* Thu Sep  4 2003 Dams <anvil[AT]livna.org> 0:0.6.2-0.fdr.4
- Added missing defattr for subpackages
- Fixed permissions on mozilla plugin
- fixed build failure due to typos in ncurses changes
- Removed useless explicit 'Requires:' in subpackages declarations

* Tue Sep  2 2003 Dams <anvil[AT]livna.org> 0:0.6.2-0.fdr.3
- Added builddep for libpng-devel and openslp-devel 
- Added gnome (default:enabled) and ncurses (default:disabled)
  subpackages
- Removed macros (mkdir/install/perl)
- Modified descriptions
- Removed gtk/gnome2 build deps
- Added conditionnal (default-disabled) build option for alsa
- Added conditionnal builddep for pth-devel

* Fri Aug 22 2003 Dams <anvil[AT]livna.org> 0:0.6.2-0.fdr.2
- Added missing BuildRequires for gtk+-devel

* Thu Aug 14 2003 Dams <anvil[AT]livna.org> 0:0.6.2-0.fdr.1
- Updated to 0.6.2
- Hopefully fixed 'if' conditions for optional buildrequires

* Tue Jul  8 2003 Dams <anvil[AT]livna.org> 0:0.6.0-0.fdr.3
- Providing vlc 

* Tue Jul  8 2003 Dams <anvil[AT]livna.org> 0:0.6.0-0.fdr.2
- Moved desktop entry from devel to main package (stupid me)

* Mon Apr 28 2003 Dams <anvil[AT]livna.org> 
- Initial build.


Index: .cvsignore
===================================================================
RCS file: /cvs/free/rpms/vlc/F-8/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore	22 Jul 2008 16:56:04 -0000	1.1
+++ .cvsignore	9 Aug 2008 18:35:59 -0000	1.2
@@ -0,0 +1,2 @@
+vlc-0.8.6h.tar.bz2
+vlvc_source-0.8.tgz


Index: sources
===================================================================
RCS file: /cvs/free/rpms/vlc/F-8/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources	22 Jul 2008 16:56:04 -0000	1.1
+++ sources	9 Aug 2008 18:35:59 -0000	1.2
@@ -0,0 +1,2 @@
+4a6eece2f56d4ad5dfa786e934d2b4a8  vlc-0.8.6h.tar.bz2
+64521246371c2706eb8375cc38e5233b  vlvc_source-0.8.tgz



More information about the rpmfusion-commits mailing list