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(a)/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-sna...
%else
Source0:
http://download.videolan.org/pub/videolan/vlc/%{version}/vlc-%{version}.t...
%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(a)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