From 8217d505cfb724fa9e0bed016ca3a44068772c24 Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Tue, 12 May 2009 13:27:28 +0000 Subject: [PATCH] Update to -rc1 --enable dirac libkate --- .gitignore | 2 +- 0001-Mozilla-SDK-libxul-1.9.1-support.patch | 516 -------------- sources | 2 +- vlc-1.0.0-bugfix_backport.patch | 751 ++++++++++++++++++++ vlc-1.0.0-pre1-libmpeg2_out.patch | 225 ------ vlc-1.0.0-rc1-pkglibd.patch | 15 + vlc.spec | 40 +- 7 files changed, 789 insertions(+), 762 deletions(-) delete mode 100644 0001-Mozilla-SDK-libxul-1.9.1-support.patch create mode 100644 vlc-1.0.0-bugfix_backport.patch delete mode 100644 vlc-1.0.0-pre1-libmpeg2_out.patch create mode 100644 vlc-1.0.0-rc1-pkglibd.patch diff --git a/.gitignore b/.gitignore index f4f9888..5e22f9c 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -vlc-1.0.0-pre1.tar.bz2 +vlc-1.0.0-rc1.tar.bz2 diff --git a/0001-Mozilla-SDK-libxul-1.9.1-support.patch b/0001-Mozilla-SDK-libxul-1.9.1-support.patch deleted file mode 100644 index d13f351..0000000 --- a/0001-Mozilla-SDK-libxul-1.9.1-support.patch +++ /dev/null @@ -1,516 +0,0 @@ -diff --git a/projects/mozilla/support/npmac.cpp b/projects/mozilla/support/npmac.cpp -index ccc3945..43466c0 100644 ---- a/projects/mozilla/support/npmac.cpp -+++ b/projects/mozilla/support/npmac.cpp -@@ -54,7 +54,11 @@ - #undef XP_UNIX - #endif - -+#if (((NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR) < 20) - #include "npupp.h" -+#else -+#include "npfunctions.h" -+#endif - - #ifdef __MWERKS__ - #ifndef powerc -@@ -130,7 +134,7 @@ static inline void* SetupFPtoTVGlue(TFPtoTVGlue* functionGlue, void* fp) - - // glue for mapping netscape TVectors to Macho function pointers - struct TTVtoFPGlue { -- uint32 glue[6]; -+ uint32_t glue[6]; - }; - - static struct { -@@ -252,7 +256,7 @@ NPError NPN_GetURL(NPP instance, const char* url, const char* window) - return CallNPN_GetURLProc(gNetscapeFuncs.geturl, instance, url, window); - } - --NPError NPN_PostURLNotify(NPP instance, const char* url, const char* window, uint32 len, const char* buf, NPBool file, void* notifyData) -+NPError NPN_PostURLNotify(NPP instance, const char* url, const char* window, uint32_t len, const char* buf, NPBool file, void* notifyData) - { - int navMinorVers = gNetscapeFuncs.version & 0xFF; - NPError err; -@@ -269,7 +273,7 @@ NPError NPN_PostURLNotify(NPP instance, const char* url, const char* window, uin - return err; - } - --NPError NPN_PostURL(NPP instance, const char* url, const char* window, uint32 len, const char* buf, NPBool file) -+NPError NPN_PostURL(NPP instance, const char* url, const char* window, uint32_t len, const char* buf, NPBool file) - { - return CallNPN_PostURLProc(gNetscapeFuncs.posturl, instance, url, window, len, buf, file); - } -@@ -295,7 +299,7 @@ NPError NPN_NewStream(NPP instance, NPMIMEType type, const char* window, NPStrea - return err; - } - --int32 NPN_Write(NPP instance, NPStream* stream, int32 len, void* buffer) -+int32_t NPN_Write(NPP instance, NPStream* stream, int32_t len, void* buffer) - { - int navMinorVers = gNetscapeFuncs.version & 0xFF; - NPError err; -@@ -337,7 +341,7 @@ const char* NPN_UserAgent(NPP instance) - return CallNPN_UserAgentProc(gNetscapeFuncs.uagent, instance); - } - --void* NPN_MemAlloc(uint32 size) -+void* NPN_MemAlloc(uint32_t size) - { - return CallNPN_MemAllocProc(gNetscapeFuncs.memalloc, size); - } -@@ -347,7 +351,7 @@ void NPN_MemFree(void* ptr) - CallNPN_MemFreeProc(gNetscapeFuncs.memfree, ptr); - } - --uint32 NPN_MemFlush(uint32 size) -+uint32_t NPN_MemFlush(uint32_t size) - { - return CallNPN_MemFlushProc(gNetscapeFuncs.memflush, size); - } -@@ -594,18 +598,18 @@ void NPN_SetException(NPObject *npobj, const NPUTF8 *message) - - NPError Private_Initialize(void); - void Private_Shutdown(void); --NPError Private_New(NPMIMEType pluginType, NPP instance, uint16 mode, int16 argc, char* argn[], char* argv[], NPSavedData* saved); -+NPError Private_New(NPMIMEType pluginType, NPP instance, uint16_t mode, int16_t argc, char* argn[], char* argv[], NPSavedData* saved); - NPError Private_Destroy(NPP instance, NPSavedData** save); - NPError Private_SetWindow(NPP instance, NPWindow* window); - NPError Private_GetValue( NPP instance, NPPVariable variable, void *value ); - NPError Private_SetValue( NPP instance, NPPVariable variable, void *value ); - NPError Private_NewStream(NPP instance, NPMIMEType type, NPStream* stream, NPBool seekable, uint16* stype); - NPError Private_DestroyStream(NPP instance, NPStream* stream, NPError reason); --int32 Private_WriteReady(NPP instance, NPStream* stream); --int32 Private_Write(NPP instance, NPStream* stream, int32 offset, int32 len, void* buffer); -+int32_t Private_WriteReady(NPP instance, NPStream* stream); -+int32_t Private_Write(NPP instance, NPStream* stream, int32_t offset, int32_t len, void* buffer); - void Private_StreamAsFile(NPP instance, NPStream* stream, const char* fname); - void Private_Print(NPP instance, NPPrint* platformPrint); --int16 Private_HandleEvent(NPP instance, void* event); -+int16_t Private_HandleEvent(NPP instance, void* event); - void Private_URLNotify(NPP instance, const char* url, NPReason reason, void* notifyData); - jobject Private_GetJavaClass(void); - -@@ -633,7 +637,7 @@ void Private_Shutdown(void) - ExitCodeResource(); - } - --NPError Private_New(NPMIMEType pluginType, NPP instance, uint16 mode, int16 argc, char* argn[], char* argv[], NPSavedData* saved) -+NPError Private_New(NPMIMEType pluginType, NPP instance, uint16_t mode, int16_t argc, char* argn[], char* argv[], NPSavedData* saved) - { - EnterCodeResource(); - NPError ret = NPP_New(pluginType, instance, mode, argc, argn, argv, saved); -@@ -692,9 +696,9 @@ NPError Private_NewStream(NPP instance, NPMIMEType type, NPStream* stream, NPBoo - return err; - } - --int32 Private_WriteReady(NPP instance, NPStream* stream) -+int32_t Private_WriteReady(NPP instance, NPStream* stream) - { -- int32 result; -+ int32_t result; - EnterCodeResource(); - PLUGINDEBUGSTR("\pWriteReady;g;"); - result = NPP_WriteReady(instance, stream); -@@ -702,9 +706,9 @@ int32 Private_WriteReady(NPP instance, NPStream* stream) - return result; - } - --int32 Private_Write(NPP instance, NPStream* stream, int32 offset, int32 len, void* buffer) -+int32_t Private_Write(NPP instance, NPStream* stream, int32_t offset, int32_t len, void* buffer) - { -- int32 result; -+ int32_t result; - EnterCodeResource(); - PLUGINDEBUGSTR("\pWrite;g;"); - result = NPP_Write(instance, stream, offset, len, buffer); -@@ -730,9 +734,9 @@ NPError Private_DestroyStream(NPP instance, NPStream* stream, NPError reason) - return err; - } - --int16 Private_HandleEvent(NPP instance, void* event) -+int16_t Private_HandleEvent(NPP instance, void* event) - { -- int16 result; -+ int16_t result; - EnterCodeResource(); - PLUGINDEBUGSTR("\pHandleEvent;g;"); - result = NPP_HandleEvent(instance, event); -@@ -993,6 +997,7 @@ DEFINE_API_C(NPError) main(NPNetscapeFuncs* nsTable, NPPluginFuncs* pluginFuncs, - // - pluginFuncs->version = (NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR; - pluginFuncs->size = sizeof(NPPluginFuncs); -+#if (((NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR) < 20) - pluginFuncs->newp = NewNPP_NewProc(PLUGIN_TO_HOST_GLUE(newp, Private_New)); - pluginFuncs->destroy = NewNPP_DestroyProc(PLUGIN_TO_HOST_GLUE(destroy, Private_Destroy)); - pluginFuncs->setwindow = NewNPP_SetWindowProc(PLUGIN_TO_HOST_GLUE(setwindow, Private_SetWindow)); -@@ -1004,9 +1009,26 @@ DEFINE_API_C(NPError) main(NPNetscapeFuncs* nsTable, NPPluginFuncs* pluginFuncs, - pluginFuncs->print = NewNPP_PrintProc(PLUGIN_TO_HOST_GLUE(print, Private_Print)); - pluginFuncs->event = NewNPP_HandleEventProc(PLUGIN_TO_HOST_GLUE(event, Private_HandleEvent)); - pluginFuncs->getvalue = NewNPP_GetValueProc(PLUGIN_TO_HOST_GLUE(getvalue, Private_GetValue)); -+#else -+ pluginFuncs->newp = (NPP_NewProcPtr)(PLUGIN_TO_HOST_GLUE(newp, Private_New)); -+ pluginFuncs->destroy = (NPP_DestroyProcPtr)(PLUGIN_TO_HOST_GLUE(destroy, Private_Destroy)); -+ pluginFuncs->setwindow = (NPP_SetWindowProcPtr)(PLUGIN_TO_HOST_GLUE(setwindow, Private_SetWindow)); -+ pluginFuncs->newstream = (NPP_NewStreamProcPtr)(PLUGIN_TO_HOST_GLUE(newstream, Private_NewStream)); -+ pluginFuncs->destroystream = (NPP_DestroyStreamProcPtr)(PLUGIN_TO_HOST_GLUE(destroystream, Private_DestroyStream)); -+ pluginFuncs->asfile = (NPP_StreamAsFileProcPtr)(PLUGIN_TO_HOST_GLUE(asfile, Private_StreamAsFile)); -+ pluginFuncs->writeready = (NPP_WriteReadyProcPtr)(PLUGIN_TO_HOST_GLUE(writeready, Private_WriteReady)); -+ pluginFuncs->write = (NPP_WriteProcPtr)(PLUGIN_TO_HOST_GLUE(write, Private_Write)); -+ pluginFuncs->print = (NPP_PrintProcPtr)(PLUGIN_TO_HOST_GLUE(print, Private_Print)); -+ pluginFuncs->event = (NPP_HandleEventProcPtr)(PLUGIN_TO_HOST_GLUE(event, Private_HandleEvent)); -+ pluginFuncs->getvalue = (NPP_GetValueProcPtr)(PLUGIN_TO_HOST_GLUE(getvalue, Private_GetValue)); -+#endif - if( navMinorVers >= NPVERS_HAS_NOTIFICATION ) - { -+#if (((NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR) < 20) - pluginFuncs->urlnotify = NewNPP_URLNotifyProc(PLUGIN_TO_HOST_GLUE(urlnotify, Private_URLNotify)); -+#else -+ pluginFuncs->urlnotify = (NPP_URLNotifyProcPtr)(PLUGIN_TO_HOST_GLUE(urlnotify, Private_URLNotify)); -+#endif - } - #ifdef OJI - if( navMinorVers >= NPVERS_HAS_LIVECONNECT ) -@@ -1016,7 +1038,11 @@ DEFINE_API_C(NPError) main(NPNetscapeFuncs* nsTable, NPPluginFuncs* pluginFuncs, - #else - pluginFuncs->javaClass = NULL; - #endif -+#if (((NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR) < 20) - *unloadUpp = NewNPP_ShutdownProc(PLUGIN_TO_HOST_GLUE(shutdown, Private_Shutdown)); -+#else -+ *unloadUpp = (NPP_ShutdownProcPtr)(PLUGIN_TO_HOST_GLUE(shutdown, Private_Shutdown)); -+#endif - - SetUpQD(); - err = Private_Initialize(); -@@ -1152,6 +1178,7 @@ NPError NP_GetEntryPoints(NPPluginFuncs* pluginFuncs) - - pluginFuncs->version = (NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR; - pluginFuncs->size = sizeof(NPPluginFuncs); -+#if (((NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR) < 20) - pluginFuncs->newp = NewNPP_NewProc(Private_New); - pluginFuncs->destroy = NewNPP_DestroyProc(Private_Destroy); - pluginFuncs->setwindow = NewNPP_SetWindowProc(Private_SetWindow); -@@ -1164,6 +1191,27 @@ NPError NP_GetEntryPoints(NPPluginFuncs* pluginFuncs) - pluginFuncs->event = NewNPP_HandleEventProc(Private_HandleEvent); - pluginFuncs->getvalue = NewNPP_GetValueProc(Private_GetValue); - pluginFuncs->setvalue = NewNPP_SetValueProc(Private_SetValue); -+#else -+ pluginFuncs->newp = (NPP_NewProcPtr)(Private_New); -+ pluginFuncs->destroy = (NPP_DestroyProcPtr)(Private_Destroy); -+ pluginFuncs->setwindow = (NPP_SetWindowProcPtr)(Private_SetWindow); -+ pluginFuncs->newstream = (NPP_NewStreamProcPtr)(Private_NewStream); -+ pluginFuncs->destroystream = (NPP_DestroyStreamProcPtr)(Private_DestroyStream); -+ pluginFuncs->asfile = (NPP_StreamAsFileProcPtr)(Private_StreamAsFile); -+ pluginFuncs->writeready = (NPP_WriteReadyProcPtr)(Private_WriteReady); -+ pluginFuncs->write = (NPP_WriteProcPtr)(Private_Write); -+ pluginFuncs->print = (NPP_PrintProcPtr)(Private_Print); -+ pluginFuncs->event = (NPP_HandleEventProcPtr)(Private_HandleEvent); -+ pluginFuncs->getvalue = (NPP_GetValueProcPtr)(Private_GetValue); -+ pluginFuncs->setvalue = (NPP_SetValueProcPtr)(Private_SetValue); -+#endif -+ if( navMinorVers >= NPVERS_HAS_NOTIFICATION ) -+ { -+#if (((NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR) < 20) -+ pluginFuncs->urlnotify = NewNPP_URLNotifyProc(PLUGIN_TO_HOST_GLUE(urlnotify, Private_URLNotify)); -+#else -+ pluginFuncs->urlnotify = (NPP_URLNotifyProcPtr)(PLUGIN_TO_HOST_GLUE(urlnotify, Private_URLNotify)); -+#endif - if( navMinorVers >= NPVERS_HAS_NOTIFICATION ) - { - pluginFuncs->urlnotify = Private_URLNotify; -diff --git a/projects/mozilla/support/npunix.c b/projects/mozilla/support/npunix.c -index 26c6736..450d627 100644 ---- a/projects/mozilla/support/npunix.c -+++ b/projects/mozilla/support/npunix.c -@@ -43,7 +43,132 @@ - - #include - #include -+#if (((NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR) < 20) - #include -+#else -+#include -+// For 1.9 compatibility -+// ------------------------------------------------ -+typedef NPError (*NPN_GetValueUPP)(NPP instance, NPNVariable variable, void *ret_alue); -+#define NewNPN_GetValueProc(FUNC) \ -+ ((NPN_GetValueUPP) (FUNC)) -+#define CallNPN_GetValueProc(FUNC, ARG1, ARG2, ARG3) \ -+ (*(FUNC))((ARG1), (ARG2), (ARG3)) -+ -+typedef NPError (*NPN_SetValueUPP)(NPP instance, NPPVariable variable, void *ret_alue); -+#define NewNPN_SetValueProc(FUNC) \ -+ ((NPN_SetValueUPP) (FUNC)) -+#define CallNPN_SetValueProc(FUNC, ARG1, ARG2, ARG3) \ -+ (*(FUNC))((ARG1), (ARG2), (ARG3)) -+ -+typedef NPError (*NPN_GetURLUPP)(NPP instance, const char* url, const char* window); -+#define NewNPN_GetURLProc(FUNC) \ -+ ((NPN_GetURLUPP) (FUNC)) -+#define CallNPN_GetURLProc(FUNC, ARG1, ARG2, ARG3) \ -+ (*(FUNC))((ARG1), (ARG2), (ARG3)) -+ -+typedef NPError (*NPN_GetURLNotifyUPP)(NPP instance, const char* url, const char* window, void* notifyData); -+#define NewNPN_GetURLNotifyProc(FUNC) \ -+ ((NPN_GetURLNotifyUPP) (FUNC)) -+#define CallNPN_GetURLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4) \ -+ (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4)) -+ -+typedef NPError (*NPN_PostURLUPP)(NPP instance, const char* url, const char* window, uint32_t len, const char* buf, NPBool file); -+#define NewNPN_PostURLProc(FUNC) \ -+ ((NPN_PostURLUPP) (FUNC)) -+#define CallNPN_PostURLProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6) \ -+ (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6)) -+ -+typedef NPError (*NPN_PostURLNotifyUPP)(NPP instance, const char* url, const char* window, uint32_t len, const char* buf, NPBool file, void* notifyData); -+#define NewNPN_PostURLNotifyProc(FUNC) \ -+ ((NPN_PostURLNotifyUPP) (FUNC)) -+#define CallNPN_PostURLNotifyProc(FUNC, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7) \ -+ (*(FUNC))((ARG1), (ARG2), (ARG3), (ARG4), (ARG5), (ARG6), (ARG7)) -+ -+typedef NPError (*NPN_RequestReadUPP)(NPStream* stream, NPByteRange* rangeList); -+#define NewNPN_RequestReadProc(FUNC) \ -+ ((NPN_RequestReadUPP) (FUNC)) -+#define CallNPN_RequestReadProc(FUNC, stream, range) \ -+ (*(FUNC))((stream), (range)) -+ -+typedef NPError (*NPN_NewStreamUPP)(NPP instance, NPMIMEType type, const char* window, NPStream** stream); -+#define NewNPN_NewStreamProc(FUNC) \ -+ ((NPN_NewStreamUPP) (FUNC)) -+#define CallNPN_NewStreamProc(FUNC, npp, type, window, stream) \ -+ (*(FUNC))((npp), (type), (window), (stream)) -+ -+typedef int32_t (*NPN_WriteUPP)(NPP instance, NPStream* stream, int32_t len, void* buffer); -+#define NewNPN_WriteProc(FUNC) \ -+ ((NPN_WriteUPP) (FUNC)) -+#define CallNPN_WriteProc(FUNC, npp, stream, len, buffer) \ -+ (*(FUNC))((npp), (stream), (len), (buffer)) -+ -+typedef NPError (*NPN_DestroyStreamUPP)(NPP instance, NPStream* stream, NPReason reason); -+#define NewNPN_DestroyStreamProc(FUNC) \ -+ ((NPN_DestroyStreamUPP) (FUNC)) -+#define CallNPN_DestroyStreamProc(FUNC, npp, stream, reason) \ -+ (*(FUNC))((npp), (stream), (reason)) -+ -+typedef void (*NPN_StatusUPP)(NPP instance, const char* message); -+#define NewNPN_StatusProc(FUNC) \ -+ ((NPN_StatusUPP) (FUNC)) -+#define CallNPN_StatusProc(FUNC, npp, msg) \ -+ (*(FUNC))((npp), (msg)) -+ -+typedef const char* (*NPN_UserAgentUPP)(NPP instance); -+#define NewNPN_UserAgentProc(FUNC) \ -+ ((NPN_UserAgentUPP) (FUNC)) -+#define CallNPN_UserAgentProc(FUNC, ARG1) \ -+ (*(FUNC))((ARG1)) -+ -+typedef void* (*NPN_MemAllocUPP)(uint32_t size); -+#define NewNPN_MemAllocProc(FUNC) \ -+ ((NPN_MemAllocUPP) (FUNC)) -+#define CallNPN_MemAllocProc(FUNC, ARG1) \ -+ (*(FUNC))((ARG1)) -+ -+typedef void (*NPN_MemFreeUPP)(void* ptr); -+#define NewNPN_MemFreeProc(FUNC) \ -+ ((NPN_MemFreeUPP) (FUNC)) -+#define CallNPN_MemFreeProc(FUNC, ARG1) \ -+ (*(FUNC))((ARG1)) -+ -+typedef uint32_t (*NPN_MemFlushUPP)(uint32_t size); -+#define NewNPN_MemFlushProc(FUNC) \ -+ ((NPN_MemFlushUPP) (FUNC)) -+#define CallNPN_MemFlushProc(FUNC, ARG1) \ -+ (*(FUNC))((ARG1)) -+ -+typedef void (*NPN_ReloadPluginsUPP)(NPBool reloadPages); -+#define NewNPN_ReloadPluginsProc(FUNC) \ -+ ((NPN_ReloadPluginsUPP) (FUNC)) -+#define CallNPN_ReloadPluginsProc(FUNC, ARG1) \ -+ (*(FUNC))((ARG1)) -+ -+//NPN_GetJavaEnv NPN_GetJavaPeer -+ -+typedef void (*NPN_InvalidateRectUPP)(NPP instance, NPRect *rect); -+#define NewNPN_InvalidateRectProc(FUNC) \ -+ ((NPN_InvalidateRectUPP) (FUNC)) -+#define CallNPN_InvalidateRectProc(FUNC, ARG1, ARG2) \ -+ (*(FUNC))((ARG1), (ARG2)) -+ -+typedef void (*NPN_InvalidateRegionUPP)(NPP instance, NPRegion region); -+#define NewNPN_InvalidateRegionProc(FUNC) \ -+ ((NPN_InvalidateRegionUPP) (FUNC)) -+#define CallNPN_InvalidateRegionProc(FUNC, ARG1, ARG2) \ -+ (*(FUNC))((ARG1), (ARG2)) -+ -+typedef void (*NPN_ForceRedrawUPP)(NPP instance); -+#define NewNPN_ForceRedrawProc(FUNC) \ -+ ((NPN_ForceRedrawUPP) (FUNC)) -+#define CallNPN_ForceRedrawProc(FUNC, ARG1) \ -+ (*(FUNC))((ARG1)) -+ -+//NPN_GetStringIdentifier NPN_GetStringIdentifiers NPN_GetIntIdentifier NPN_IdentifierIsString -+//NPN_UTF8FromIdentifier NPN_IntFromIdentifier NPN_CreateObject -+ -+#endif - - /* - * Define PLUGIN_TRACE to have the wrapper functions print -@@ -117,14 +242,14 @@ NPN_GetURLNotify(NPP instance, const char* url, const char* window, void* notify - - NPError - NPN_PostURL(NPP instance, const char* url, const char* window, -- uint32 len, const char* buf, NPBool file) -+ uint32_t len, const char* buf, NPBool file) - { - return CallNPN_PostURLProc(gNetscapeFuncs.posturl, instance, - url, window, len, buf, file); - } - - NPError --NPN_PostURLNotify(NPP instance, const char* url, const char* window, uint32 len, -+NPN_PostURLNotify(NPP instance, const char* url, const char* window, uint32_t len, - const char* buf, NPBool file, void* notifyData) - { - return CallNPN_PostURLNotifyProc(gNetscapeFuncs.posturlnotify, -@@ -147,7 +272,7 @@ NPN_NewStream(NPP instance, NPMIMEType type, const char *window, - } - - int32 --NPN_Write(NPP instance, NPStream* stream, int32 len, void* buffer) -+NPN_Write(NPP instance, NPStream* stream, int32_t len, void* buffer) - { - return CallNPN_WriteProc(gNetscapeFuncs.write, instance, - stream, len, buffer); -@@ -173,7 +298,7 @@ NPN_UserAgent(NPP instance) - } - - void* --NPN_MemAlloc(uint32 size) -+NPN_MemAlloc(uint32_t size) - { - return CallNPN_MemAllocProc(gNetscapeFuncs.memalloc, size); - } -@@ -183,7 +308,7 @@ void NPN_MemFree(void* ptr) - CallNPN_MemFreeProc(gNetscapeFuncs.memfree, ptr); - } - --uint32 NPN_MemFlush(uint32 size) -+uint32_t NPN_MemFlush(uint32_t size) - { - return CallNPN_MemFlushProc(gNetscapeFuncs.memflush, size); - } -@@ -423,8 +548,8 @@ void NPN_SetException(NPObject *npobj, const NPUTF8 *message) - ***********************************************************************/ - - NPError --Private_New(NPMIMEType pluginType, NPP instance, uint16 mode, -- int16 argc, char* argn[], char* argv[], NPSavedData* saved) -+Private_New(NPMIMEType pluginType, NPP instance, uint16_t mode, -+ int16_t argc, char* argn[], char* argv[], NPSavedData* saved) - { - NPError ret; - PLUGINDEBUGSTR("New"); -@@ -468,7 +593,7 @@ Private_WriteReady(NPP instance, NPStream* stream) - } - - int32 --Private_Write(NPP instance, NPStream* stream, int32 offset, int32 len, -+Private_Write(NPP instance, NPStream* stream, int32_t offset, int32_t len, - void* buffer) - { - unsigned int result; -@@ -685,6 +810,7 @@ NP_Initialize(NPNetscapeFuncs* nsTable, NPPluginFuncs* pluginFuncs) - */ - pluginFuncs->version = (NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR; - pluginFuncs->size = sizeof(NPPluginFuncs); -+#if (((NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR) < 20) - pluginFuncs->newp = NewNPP_NewProc(Private_New); - pluginFuncs->destroy = NewNPP_DestroyProc(Private_Destroy); - pluginFuncs->setwindow = NewNPP_SetWindowProc(Private_SetWindow); -@@ -697,9 +823,27 @@ NP_Initialize(NPNetscapeFuncs* nsTable, NPPluginFuncs* pluginFuncs) - pluginFuncs->event = NULL; - pluginFuncs->getvalue = NewNPP_GetValueProc(Private_GetValue); - pluginFuncs->setvalue = NewNPP_SetValueProc(Private_SetValue); -+#else -+ pluginFuncs->newp = (NPP_NewProcPtr)(Private_New); -+ pluginFuncs->destroy = (NPP_DestroyProcPtr)(Private_Destroy); -+ pluginFuncs->setwindow = (NPP_SetWindowProcPtr)(Private_SetWindow); -+ pluginFuncs->newstream = (NPP_NewStreamProcPtr)(Private_NewStream); -+ pluginFuncs->destroystream = (NPP_DestroyStreamProcPtr)(Private_DestroyStream); -+ pluginFuncs->asfile = (NPP_StreamAsFileProcPtr)(Private_StreamAsFile); -+ pluginFuncs->writeready = (NPP_WriteReadyProcPtr)(Private_WriteReady); -+ pluginFuncs->write = (NPP_WriteProcPtr)(Private_Write); -+ pluginFuncs->print = (NPP_PrintProcPtr)(Private_Print); -+ pluginFuncs->event = NULL; -+ pluginFuncs->getvalue = (NPP_GetValueProcPtr)(Private_GetValue); -+ pluginFuncs->setvalue = (NPP_SetValueProcPtr)(Private_SetValue); -+#endif - if( navMinorVers >= NPVERS_HAS_NOTIFICATION ) - { -+#if (((NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR) < 20) - pluginFuncs->urlnotify = NewNPP_URLNotifyProc(Private_URLNotify); -+#else -+ pluginFuncs->urlnotify = (NPP_URLNotifyProcPtr)(Private_URLNotify); -+#endif - } - #ifdef OJI - if( navMinorVers >= NPVERS_HAS_LIVECONNECT ) -diff --git a/projects/mozilla/support/npwin.cpp b/projects/mozilla/support/npwin.cpp -index c277f84..2d08805 100644 ---- a/projects/mozilla/support/npwin.cpp -+++ b/projects/mozilla/support/npwin.cpp -@@ -42,7 +42,11 @@ - #endif - - #include "npapi.h" -+#if (((NP_VERSION_MAJOR << 8) + NP_VERSION_MINOR) < 20) - #include "npupp.h" -+#else -+#include "npfunctions.h" -+#endif - - //\\// DEFINE - #define NP_EXPORT -@@ -228,7 +232,7 @@ NPError NPN_GetURL(NPP instance, const char *url, const char *target) - return g_pNavigatorFuncs->geturl(instance, url, target); - } - --NPError NPN_PostURLNotify(NPP instance, const char* url, const char* window, uint32 len, const char* buf, NPBool file, void* notifyData) -+NPError NPN_PostURLNotify(NPP instance, const char* url, const char* window, uint32_t len, const char* buf, NPBool file, void* notifyData) - { - int navMinorVers = g_pNavigatorFuncs->version & 0xFF; - NPError err; -@@ -242,7 +246,7 @@ NPError NPN_PostURLNotify(NPP instance, const char* url, const char* window, uin - } - - --NPError NPN_PostURL(NPP instance, const char* url, const char* window, uint32 len, const char* buf, NPBool file) -+NPError NPN_PostURL(NPP instance, const char* url, const char* window, uint32_t len, const char* buf, NPBool file) - { - return g_pNavigatorFuncs->posturl(instance, url, window, len, buf, file); - } -@@ -276,11 +280,11 @@ NPError NPN_NewStream(NPP instance, NPMIMEType type, - - /* Provides len bytes of data. - */ --int32 NPN_Write(NPP instance, NPStream *stream, -- int32 len, void *buffer) -+int32_t NPN_Write(NPP instance, NPStream *stream, -+ int32_t len, void *buffer) - { - int navMinorVersion = g_pNavigatorFuncs->version & 0xFF; -- int32 result; -+ int32_t result; - - if( navMinorVersion >= NPVERS_HAS_STREAMOUTPUT ) { - result = g_pNavigatorFuncs->write(instance, stream, len, buffer); -@@ -327,7 +331,7 @@ const char* NPN_UserAgent(NPP instance) - */ - - --void* NPN_MemAlloc(uint32 size) -+void* NPN_MemAlloc(uint32_t size) - { - return g_pNavigatorFuncs->memalloc(size); - } diff --git a/sources b/sources index c53f4a5..60f9367 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -3397813329f2b962f28ddb1cc6e0242f vlc-1.0.0-pre1.tar.bz2 +42e31b46e6faa3e0ce7aec3790f014a3 vlc-1.0.0-rc1.tar.bz2 diff --git a/vlc-1.0.0-bugfix_backport.patch b/vlc-1.0.0-bugfix_backport.patch new file mode 100644 index 0000000..b43657c --- /dev/null +++ b/vlc-1.0.0-bugfix_backport.patch @@ -0,0 +1,751 @@ +diff --git a/include/vlc/libvlc.h b/include/vlc/libvlc.h +index 4085e25..5794c0a 100644 +--- a/include/vlc/libvlc.h ++++ b/include/vlc/libvlc.h +@@ -1065,7 +1065,7 @@ VLC_PUBLIC_API void libvlc_video_set_track( libvlc_media_player_t *, int, libvlc + * \param i_height the snapshot's height + * \param p_e an initialized exception pointer + */ +-VLC_PUBLIC_API void libvlc_video_take_snapshot( libvlc_media_player_t *, char *,unsigned int, unsigned int, libvlc_exception_t * ); ++VLC_PUBLIC_API void libvlc_video_take_snapshot( libvlc_media_player_t *, const char *,unsigned int, unsigned int, libvlc_exception_t * ); + + /** + * Resize the current video output window. +diff --git a/include/vlc_url.h b/include/vlc_url.h +index dc2a021..448c685 100644 +--- a/include/vlc_url.h ++++ b/include/vlc_url.h +@@ -48,8 +48,9 @@ struct vlc_url_t + VLC_EXPORT( char *, unescape_URI_duplicate, ( const char *psz ) ); + VLC_EXPORT( void, unescape_URI, ( char *psz ) ); + VLC_EXPORT( char *, decode_URI_duplicate, ( const char *psz ) ); +-VLC_EXPORT( void, decode_URI, ( char *psz ) ); ++VLC_EXPORT( char *, decode_URI, ( char *psz ) ); + VLC_EXPORT( char *, encode_URI_component, ( const char *psz ) ); ++VLC_EXPORT( char *, make_URI, ( const char *path ) ); + + /***************************************************************************** + * vlc_UrlParse: +diff --git a/modules/audio_output/pulse.c b/modules/audio_output/pulse.c +index 19e4b75..86bd6dd 100644 +--- a/modules/audio_output/pulse.c ++++ b/modules/audio_output/pulse.c +@@ -176,16 +176,15 @@ static int Open ( vlc_object_t *p_this ) + 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); +- ++ /* Reduce overall latency to 200mS to reduce audible clicks ++ * Also pulse minreq and internal buffers are now 20mS which reduces resampling ++ */ ++ a.tlength = pa_bytes_per_second(&ss)/5; ++ a.maxlength = a.tlength * 2; ++ a.prebuf = a.tlength; ++ a.minreq = a.tlength / 10; ++ ++ /* Buffer size is 20mS */ + p_sys->buffer_size = a.minreq; + + /* Initialise the speaker map setup above */ +@@ -240,7 +239,7 @@ static int Open ( vlc_object_t *p_this ) + 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) { ++ if (pa_stream_connect_playback(p_sys->stream, NULL, &a, PA_STREAM_INTERPOLATE_TIMING|PA_STREAM_AUTO_TIMING_UPDATE|PA_STREAM_ADJUST_LATENCY, NULL, NULL) < 0) { + msg_Err(p_aout, "Failed to connect stream: %s", pa_strerror(pa_context_errno(p_sys->context))); + goto unlock_and_fail; + } +@@ -448,16 +447,11 @@ static void stream_request_cb(pa_stream *s, size_t length, void *userdata) { + latency = 0; + + } ++ + PULSE_DEBUG( "Pulse stream request latency=%"PRId64"", 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); + } + } +diff --git a/modules/control/http/http.c b/modules/control/http/http.c +index 5bce03b..75f24c2 100644 +--- a/modules/control/http/http.c ++++ b/modules/control/http/http.c +@@ -555,18 +555,11 @@ int HandlerCallback( httpd_handler_sys_t *p_args, + int i_env = 0; + char **ppsz_env = NULL; + char *psz_tmp; +- char sep; + size_t i_buffer; + char *p_buffer; + char *psz_cwd, *psz_file = NULL; + int i_ret; + +-#ifdef WIN32 +- sep = '\\'; +-#else +- sep = '/'; +-#endif +- + /* Create environment for the CGI */ + TAB_APPEND( i_env, ppsz_env, strdup("GATEWAY_INTERFACE=CGI/1.1") ); + TAB_APPEND( i_env, ppsz_env, strdup("SERVER_PROTOCOL=HTTP/1.1") ); +@@ -677,7 +670,7 @@ int HandlerCallback( httpd_handler_sys_t *p_args, + } + } + +- psz_file = strrchr( p_args->file.file, sep ); ++ psz_file = strrchr( p_args->file.file, DIR_SEP_CHAR ); + if( psz_file != NULL ) + { + psz_file++; +@@ -694,7 +687,7 @@ int HandlerCallback( httpd_handler_sys_t *p_args, + NULL ); + + psz_tmp = strdup( p_args->file.file ); +- p = strrchr( psz_tmp, sep ); ++ p = strrchr( psz_tmp, DIR_SEP_CHAR ); + if( p != NULL ) + { + *p = '\0'; +diff --git a/modules/control/http/util.c b/modules/control/http/util.c +index a8b7861..69de4a6 100644 +--- a/modules/control/http/util.c ++++ b/modules/control/http/util.c +@@ -120,14 +120,6 @@ int ParseDirectory( intf_thread_t *p_intf, char *psz_root, + + int i_dirlen; + +- char sep; +- +-#if defined( WIN32 ) +- sep = '\\'; +-#else +- sep = '/'; +-#endif +- + if( ( p_dir = utf8_opendir( psz_dir ) ) == NULL ) + { + if( errno != ENOENT && errno != ENOTDIR ) +@@ -145,7 +137,7 @@ int ParseDirectory( intf_thread_t *p_intf, char *psz_root, + + msg_Dbg( p_intf, "dir=%s", psz_dir ); + +- snprintf( dir, sizeof( dir ), "%s%c.access", psz_dir, sep ); ++ snprintf( dir, sizeof( dir ), "%s"DIR_SEP".access", psz_dir ); + if( ( file = utf8_fopen( dir, "r" ) ) != NULL ) + { + char line[1024]; +@@ -179,7 +171,7 @@ int ParseDirectory( intf_thread_t *p_intf, char *psz_root, + fclose( file ); + } + +- snprintf( dir, sizeof( dir ), "%s%c.hosts", psz_dir, sep ); ++ snprintf( dir, sizeof( dir ), "%s"DIR_SEP".hosts", psz_dir ); + p_acl = ACL_Create( p_intf, false ); + if( ACL_LoadFile( p_acl, dir ) ) + { +@@ -210,7 +202,7 @@ int ParseDirectory( intf_thread_t *p_intf, char *psz_root, + continue; + } + +- snprintf( dir, sizeof( dir ), "%s%c%s", psz_dir, sep, psz_filename ); ++ snprintf( dir, sizeof( dir ), "%s"DIR_SEP"%s", psz_dir, psz_filename ); + free( psz_filename ); + + if( ParseDirectory( p_intf, psz_root, dir ) ) +@@ -912,13 +904,12 @@ char *RealPath( const char *psz_src ) + char *psz_dir; + char *p; + int i_len = strlen(psz_src); +- const char sep = DIR_SEP_CHAR; + + psz_dir = malloc( i_len + 2 ); + strcpy( psz_dir, psz_src ); + + /* Add a trailing sep to ease the .. step */ +- psz_dir[i_len] = sep; ++ psz_dir[i_len] = DIR_SEP_CHAR; + psz_dir[i_len + 1] = '\0'; + + #if (DIR_SEP_CHAR != '/') +@@ -926,18 +917,18 @@ char *RealPath( const char *psz_src ) + p = psz_dir; + while( (p = strchr( p, '/' )) != NULL ) + { +- *p = sep; ++ *p = DIR_SEP_CHAR; + } + #endif + + /* FIXME: this could be O(N) rather than O(N²)... */ + /* Remove multiple separators and /./ */ + p = psz_dir; +- while( (p = strchr( p, sep )) != NULL ) ++ while( (p = strchr( p, DIR_SEP_CHAR )) != NULL ) + { +- if( p[1] == sep ) ++ if( p[1] == DIR_SEP_CHAR ) + memmove( &p[1], &p[2], strlen(&p[2]) + 1 ); +- else if( p[1] == '.' && p[2] == sep ) ++ else if( p[1] == '.' && p[2] == DIR_SEP_CHAR ) + memmove( &p[1], &p[3], strlen(&p[3]) + 1 ); + else + p++; +@@ -955,13 +946,13 @@ char *RealPath( const char *psz_src ) + { + /* Fix all .. dir */ + p = psz_dir + 3; +- while( (p = strchr( p, sep )) != NULL ) ++ while( (p = strchr( p, DIR_SEP_CHAR )) != NULL ) + { +- if( p[-1] == '.' && p[-2] == '.' && p[-3] == sep ) ++ if( p[-1] == '.' && p[-2] == '.' && p[-3] == DIR_SEP_CHAR ) + { + char *q; + p[-3] = '\0'; +- if( (q = strrchr( psz_dir, sep )) != NULL ) ++ if( (q = strrchr( psz_dir, DIR_SEP_CHAR )) != NULL ) + { + memmove( q + 1, p + 1, strlen(p + 1) + 1 ); + p = q + 1; +@@ -979,8 +970,8 @@ char *RealPath( const char *psz_src ) + + /* Remove trailing sep if there are at least 2 sep in the string + * (handles the C:\ stuff) */ +- p = strrchr( psz_dir, sep ); +- if( p != NULL && p[1] == '\0' && p != strchr( psz_dir, sep ) ) ++ p = strrchr( psz_dir, DIR_SEP_CHAR ); ++ if( p != NULL && p[1] == '\0' && p != strchr( psz_dir, DIR_SEP_CHAR ) ) + *p = '\0'; + + return psz_dir; +diff --git a/modules/gui/qt4/main_interface.cpp b/modules/gui/qt4/main_interface.cpp +index ab0eb9a..8baf686 100644 +--- a/modules/gui/qt4/main_interface.cpp ++++ b/modules/gui/qt4/main_interface.cpp +@@ -637,7 +637,7 @@ QSize MainInterface::sizeHint() const + */ + void MainInterface::doComponentsUpdate() + { +- if( isFullScreen() ) return; ++ if( isFullScreen() || isMaximized() ) return; + + msg_Dbg( p_intf, "Updating the geometry" ); + /* Here we resize to sizeHint() and not adjustsize because we want +diff --git a/modules/misc/playlist/xspf.c b/modules/misc/playlist/xspf.c +index 9b7ef96..0f5f82c 100644 +--- a/modules/misc/playlist/xspf.c ++++ b/modules/misc/playlist/xspf.c +@@ -34,11 +34,14 @@ + #include + #include + #include +-#include ++#include + #include "xspf.h" + + #include + ++static void xspf_export_item( playlist_item_t *, FILE *, int * ); ++static void xspf_extension_item( playlist_item_t *, FILE *, int * ); ++ + /** + * \brief Prints the XSPF header to file, writes each item by xspf_export_item() + * and closes the open xml elements +@@ -139,7 +142,7 @@ static void xspf_export_item( playlist_item_t *p_item, FILE *p_file, + + if( psz_uri && *psz_uri ) + { +- psz = assertUTF8URI( psz_uri ); ++ psz = make_URI( psz_uri ); + fprintf( p_file, "\t\t\t%s\n", psz ); + free( psz ); + } +@@ -209,7 +212,7 @@ static void xspf_export_item( playlist_item_t *p_item, FILE *p_file, + if( psz == NULL ) psz = strdup( "" ); + if( !EMPTY_STR( psz ) ) + { +- psz_uri = assertUTF8URI( psz ); ++ psz_uri = make_URI( psz ); + fprintf( p_file, "\t\t\t%s\n", psz_uri ); + free( psz_uri ); + } +@@ -284,89 +287,3 @@ static void xspf_extension_item( playlist_item_t *p_item, FILE *p_file, + + return; + } +- +-/** +- * \param psz_name the location of the media ressource (e.g. local file, +- * device, network stream, etc.) +- * \return a new char buffer which asserts that the location is valid UTF-8 +- * and a valid URI +- * \note the returned buffer must be freed, when it isn't used anymore +- */ +-static char *assertUTF8URI( char *psz_name ) +-{ +- char *psz_ret = NULL; /**< the new result buffer to return */ +- char *psz_s = NULL, *psz_d = NULL; /**< src & dest pointers for URI conversion */ +- bool b_uri_is_file = false; /**< we do additional %-encoding if the URI is a file:// one */ +- +- if( !psz_name || !*psz_name ) +- return NULL; +- +- /* check that string is valid UTF-8 */ +- /* XXX: Why do we even need to do that ? (all strings in core are UTF-8 encoded */ +- if( !( psz_s = EnsureUTF8( psz_name ) ) ) +- return NULL; +- +- /* max. 3x for URI conversion (percent escaping) and +- 8 bytes for "file://" and NULL-termination */ +- psz_ret = (char *)malloc( strlen(psz_name)*6*3+8 ); +- if( !psz_ret ) +- return NULL; +- +- /** \todo check for a valid scheme part preceding the colon */ +- if( strstr( psz_s, "://") != NULL ) +- { +- size_t i_delim = strcspn( psz_s, ":" ); +- i_delim++; /* skip the ':' */ +- strncpy( psz_ret, psz_s, i_delim ); +- psz_d = psz_ret + i_delim; +- +- if( !strncmp( psz_s, "file://", 7 ) ) +- b_uri_is_file = true; +- +- psz_s += i_delim; +- } +- /* assume "file" scheme if no scheme-part is included */ +- else +- { +- strcpy( psz_ret, "file://" ); +- psz_d = psz_ret + 7; +- b_uri_is_file = true; +- } +- +- while( *psz_s ) +- { +- /* percent-encode all non-ASCII and the XML special characters and the percent sign itself */ +- if( *psz_s & B10000000 || +- *psz_s == '<' || +- *psz_s == '>' || +- *psz_s == '&' || +- *psz_s == ' ' || +- *psz_s == '+' || +- *psz_s == '%' || +- *psz_s == '\\' || +- ( b_uri_is_file && ( +- *psz_s == ':' || +- *psz_s == '"' || +- *psz_s == '?' || +- *psz_s == '#' || +- *psz_s == '[' || +- *psz_s == ']' || +- *psz_s == '@' ) +- ) +- ) +- { +- *psz_d++ = '%'; +- *psz_d++ = hexchars[(*psz_s >> 4) & B00001111]; +- *psz_d++ = hexchars[*psz_s & B00001111]; +- } +- else +- { +- *psz_d++ = *psz_s; +- } +- +- psz_s++; +- } +- *psz_d = '\0'; +- +- return (char *)realloc( psz_ret, strlen( psz_ret ) + 1 ); +-} +diff --git a/modules/misc/playlist/xspf.h b/modules/misc/playlist/xspf.h +index 9a8ac6b..adfaa90 100644 +--- a/modules/misc/playlist/xspf.h ++++ b/modules/misc/playlist/xspf.h +@@ -33,6 +33,3 @@ const char hexchars[16] = "0123456789ABCDEF"; + + /* prototypes */ + int xspf_export_playlist( vlc_object_t * ); +-static void xspf_export_item( playlist_item_t *, FILE *, int * ); +-static void xspf_extension_item( playlist_item_t *, FILE *, int * ); +-static char *assertUTF8URI( char * ); +diff --git a/modules/misc/screensaver.c b/modules/misc/screensaver.c +index 24448bc..b5d8946 100644 +--- a/modules/misc/screensaver.c ++++ b/modules/misc/screensaver.c +@@ -50,6 +50,10 @@ + #define GS_PATH "/org/gnome/ScreenSaver" + #define GS_INTERFACE "org.gnome.ScreenSaver" + ++#define FDS_SERVICE "org.freedesktop.ScreenSaver" ++#define FDS_PATH "/ScreenSaver" ++#define FDS_INTERFACE "org.freedesktop.ScreenSaver" ++ + #endif + + /***************************************************************************** +@@ -67,8 +71,11 @@ static void poke_screensaver( intf_thread_t *p_intf, + DBusConnection *p_connection ); + static void screensaver_send_message_void ( intf_thread_t *p_intf, + DBusConnection *p_connection, ++ const char *psz_service, ++ const char *psz_path, ++ const char *psz_interface, + const char *psz_name ); +-static bool screensaver_is_running( DBusConnection *p_connection ); ++static bool screensaver_is_running( DBusConnection *p_connection, const char *psz_service ); + + + struct intf_sys_t +@@ -235,34 +242,47 @@ static DBusConnection * dbus_init( intf_thread_t *p_intf ) + static void poke_screensaver( intf_thread_t *p_intf, + DBusConnection *p_connection ) + { +- if( screensaver_is_running( p_connection ) ) ++ if( screensaver_is_running( p_connection, GS_SERVICE ) ) + { + # ifdef SCREENSAVER_DEBUG + msg_Dbg( p_intf, "found a running gnome-screensaver instance" ); + # endif + /* gnome-screensaver changed it's D-Bus interface, so we need both */ +- screensaver_send_message_void( p_intf, p_connection, "Poke" ); +- screensaver_send_message_void( p_intf, p_connection, +- "SimulateUserActivity" ); ++ screensaver_send_message_void( p_intf, p_connection, GS_SERVICE, GS_PATH, ++ GS_INTERFACE, "Poke" ); ++ screensaver_send_message_void( p_intf, p_connection, GS_SERVICE, GS_PATH, ++ GS_INTERFACE, "SimulateUserActivity" ); ++ } ++ else if( screensaver_is_running( p_connection, FDS_SERVICE ) ) ++ { ++# ifdef SCREENSAVER_DEBUG ++ msg_Dbg( p_intf, "found a running freedesktop-screensaver instance" ); ++# endif ++ screensaver_send_message_void( p_intf, p_connection, FDS_SERVICE, FDS_PATH, ++ FDS_INTERFACE, "SimulateUserActivity" ); + } + # ifdef SCREENSAVER_DEBUG + else + { +- msg_Dbg( p_intf, "found no running gnome-screensaver instance" ); ++ msg_Dbg( p_intf, "found no running (gnome|freedesktop)-screensaver instance" ); + } + # endif ++ + } + + static void screensaver_send_message_void ( intf_thread_t *p_intf, + DBusConnection *p_connection, ++ const char *psz_service, ++ const char *psz_path, ++ const char *psz_interface, + const char *psz_name ) + { + DBusMessage *p_message; + + if( !p_connection || !psz_name ) return; + +- p_message = dbus_message_new_method_call( GS_SERVICE, GS_PATH, +- GS_INTERFACE, psz_name ); ++ p_message = dbus_message_new_method_call( psz_service, psz_path, ++ psz_interface, psz_name ); + if( p_message == NULL ) + { + msg_Err( p_intf, "DBUS initialization failed: message initialization" ); +@@ -279,7 +299,7 @@ static void screensaver_send_message_void ( intf_thread_t *p_intf, + dbus_message_unref( p_message ); + } + +-static bool screensaver_is_running( DBusConnection *p_connection ) ++static bool screensaver_is_running( DBusConnection *p_connection, const char *psz_service ) + { + DBusError error; + bool b_return; +@@ -287,7 +307,7 @@ static bool screensaver_is_running( DBusConnection *p_connection ) + if( !p_connection ) return false; + + dbus_error_init( &error ); +- b_return = dbus_bus_name_has_owner( p_connection, GS_SERVICE, &error ); ++ b_return = dbus_bus_name_has_owner( p_connection, psz_service, &error ); + if( dbus_error_is_set( &error ) ) dbus_error_free (&error); + + return b_return; +diff --git a/src/control/video.c b/src/control/video.c +index 567532c..81c0052 100644 +--- a/src/control/video.c ++++ b/src/control/video.c +@@ -104,7 +104,7 @@ void libvlc_toggle_fullscreen( libvlc_media_player_t *p_mi, + } + + void +-libvlc_video_take_snapshot( libvlc_media_player_t *p_mi, char *psz_filepath, ++libvlc_video_take_snapshot( libvlc_media_player_t *p_mi, const char *psz_filepath, + unsigned int i_width, unsigned int i_height, libvlc_exception_t *p_e ) + { + vout_thread_t *p_vout = GetVout( p_mi, p_e ); +diff --git a/src/test/url.c b/src/test/url.c +index a097aca..d03e48c 100644 +--- a/src/test/url.c ++++ b/src/test/url.c +@@ -29,6 +29,7 @@ + + #include + #include ++#include + + typedef char * (*conv_t) (const char *); + +@@ -60,8 +61,15 @@ static inline void test_b64 (const char *in, const char *out) + test (vlc_b64_encode, in, out); + } + ++static inline void test_path (const char *in, const char *out) ++{ ++ test (make_URI, in, out); ++} ++ + int main (void) + { ++ int val; ++ + (void)setvbuf (stdout, NULL, _IONBF, 0); + test_decode ("this_should_not_be_modified_1234", + "this_should_not_be_modified_1234"); +@@ -93,5 +101,24 @@ int main (void) + test_b64 ("fooba", "Zm9vYmE="); + test_b64 ("foobar", "Zm9vYmFy"); + ++ /* Path test */ ++ test_path ("file:///", "file:///"); ++ test_path ("http://www.example.com/%7Ejohn/", ++ "http://www.example.com/%7Ejohn/"); ++ test_path ("/", "file:///"); ++ test_path ("/home/john/", "file:///home/john/"); ++ test_path ("/home/john/music.ogg", "file:///home/john/music.ogg"); ++ //test_path ("\\\\server/pub/music.ogg", "file://server/pub/music.ogg"); ++ ++ /*int fd = open (".", O_RDONLY); ++ assert (fd != -1);*/ ++ val = chdir ("/tmp"); ++ assert (val != -1); ++ test_path ("movie.ogg", "file:///tmp/movie.ogg"); ++ test_path (".", "file:///tmp/."); ++ test_path ("", "file:///tmp/"); ++ /*val = fchdir (fd); ++ assert (val != -1);*/ ++ + return 0; + } +diff --git a/src/text/strings.c b/src/text/strings.c +index 8a0229c..860aae7 100644 +--- a/src/text/strings.c ++++ b/src/text/strings.c +@@ -130,7 +131,7 @@ void unescape_URI( char *psz ) + } + + /** +- * Decode encoded URI string ++ * Decode encoded URI component. See also decode_URI(). + * \return decoded duplicated string + */ + char *decode_URI_duplicate( const char *psz ) +@@ -141,14 +142,23 @@ char *decode_URI_duplicate( const char *psz ) + } + + /** +- * Decode encoded URI string in place +- * \return nothing ++ * Decode an encoded URI component in place. ++ * This function does NOT decode entire URIs. ++ * It decodes components (e.g. host name, directory, file name). ++ * Decoded URIs do not exist in the real world (see RFC3986 §2.4). ++ * Complete URIs are always "encoded" (or they are syntaxically invalid). ++ * ++ * Note that URI encoding is different from Javascript escaping. Especially, ++ * white spaces and Unicode non-ASCII code points are encoded differently. ++ * ++ * \return psz on success, NULL if it was not properly encoded + */ +-void decode_URI( char *psz ) ++char *decode_URI( char *psz ) + { + unsigned char *in = (unsigned char *)psz, *out = in, c; ++ + if( psz == NULL ) +- return; ++ return NULL; + + while( ( c = *in++ ) != '\0' ) + { +@@ -160,14 +170,14 @@ void decode_URI( char *psz ) + + if( ( ( hex[0] = *in++ ) == 0 ) + || ( ( hex[1] = *in++ ) == 0 ) ) +- return; ++ return NULL; + + hex[2] = '\0'; + *out++ = (unsigned char)strtoul( hex, NULL, 0x10 ); + break; + } + +- case '+': ++ case '+': /* This is HTTP forms, not URI decoding... */ + *out++ = ' '; + break; + +@@ -182,6 +192,7 @@ void decode_URI( char *psz ) + } + *out = '\0'; + EnsureUTF8( psz ); ++ return psz; + } + + static inline bool isurisafe( int c ) +@@ -193,23 +204,13 @@ static inline bool isurisafe( int c ) + || ( strchr( "-._~", c ) != NULL ); + } + +-/** +- * Encodes an URI component (RFC3986 §2). +- * +- * @param psz_uri nul-terminated UTF-8 representation of the component. +- * Obviously, you can't pass an URI containing a nul character, but you don't +- * want to do that, do you? +- * +- * @return encoded string (must be free()'d), or NULL for ENOMEM. +- */ +-char *encode_URI_component( const char *psz_uri ) ++static char *encode_URI_bytes (const char *psz_uri, size_t len) + { +- char *psz_enc = malloc ((3 * strlen (psz_uri)) + 1), *out = psz_enc; +- ++ char *psz_enc = malloc (3 * len + 1), *out = psz_enc; + if (psz_enc == NULL) + return NULL; + +- while (*psz_uri) ++ for (size_t i = 0; i < len; i++) + { + static const char hex[16] = "0123456789ABCDEF"; + uint8_t c = *psz_uri; +@@ -232,6 +233,21 @@ char *encode_URI_component( const char *psz_uri ) + return out ? out : psz_enc; /* realloc() can fail (safe) */ + } + ++/** ++ * Encodes an URI component (RFC3986 §2). ++ * ++ * @param psz_uri nul-terminated UTF-8 representation of the component. ++ * Obviously, you can't pass an URI containing a nul character, but you don't ++ * want to do that, do you? ++ * ++ * @return encoded string (must be free()'d), or NULL for ENOMEM. ++ */ ++char *encode_URI_component( const char *psz_uri ) ++{ ++ return encode_URI_bytes (psz_uri, strlen (psz_uri)); ++} ++ ++ + static const struct xml_entity_s + { + char psz_entity[8]; +@@ -1120,3 +1136,78 @@ void path_sanitize( char *str ) + str++; + } + } ++ ++#include ++ ++/** ++ * Convert a file path to an URI. If already an URI, do nothing. ++ */ ++char *make_URI (const char *path) ++{ ++ if (path == NULL) ++ return NULL; ++ if (strstr (path, "://") != NULL) ++ return strdup (path); /* Already an URI */ ++ /* Note: VLC cannot handle URI schemes without double slash after the ++ * scheme name (such as mailto: or news:). */ ++ ++ char *buf; ++#ifdef WIN32 ++ if (isalpha (path[0]) && (path[1] == ':')) ++ { ++ if (asprintf (&buf, "file:///%c:", path[0]) == -1) ++ buf = NULL; ++ path += 2; ++ } ++ else ++#endif ++#if 0 ++ /* Windows UNC paths (file://host/share/path instead of file:///path) */ ++ if (!strncmp (path, "\\\\", 2)) ++ { ++ path += 2; ++ buf = strdup ("file://"); ++ } ++ else ++#endif ++ if (path[0] != DIR_SEP_CHAR) ++ { /* Relative path: prepend the current working directory */ ++ char cwd[PATH_MAX]; ++ ++ if (getcwd (cwd, sizeof (cwd)) == NULL) /* FIXME: UTF8? */ ++ return NULL; ++ if (asprintf (&buf, "%s/%s", cwd, path) == -1) ++ return NULL; ++ char *ret = make_URI (buf); ++ free (buf); ++ return ret; ++ } ++ else ++ buf = strdup ("file://"); ++ if (buf == NULL) ++ return NULL; ++ ++ assert (path[0] == DIR_SEP_CHAR); ++ ++ /* Absolute file path */ ++ for (const char *ptr = path + 1;; ptr++) ++ { ++ size_t len = strcspn (ptr, DIR_SEP); ++ char *component = encode_URI_bytes (ptr, len); ++ if (component == NULL) ++ { ++ free (buf); ++ return NULL; ++ } ++ char *uri; ++ int val = asprintf (&uri, "%s/%s", buf, component); ++ free (component); ++ free (buf); ++ if (val == -1) ++ return NULL; ++ buf = uri; ++ ptr += len; ++ if (*ptr == '\0') ++ return buf; ++ } ++} diff --git a/vlc-1.0.0-pre1-libmpeg2_out.patch b/vlc-1.0.0-pre1-libmpeg2_out.patch deleted file mode 100644 index 1093e63..0000000 --- a/vlc-1.0.0-pre1-libmpeg2_out.patch +++ /dev/null @@ -1,225 +0,0 @@ -diff -up vlc-1.0.0-pre1/modules/codec/xvmc/xxmc.c.libmpeg2_out vlc-1.0.0-pre1/modules/codec/xvmc/xxmc.c ---- vlc-1.0.0-pre1/modules/codec/xvmc/xxmc.c.libmpeg2_out 2009-02-15 12:36:51.000000000 +0100 -+++ vlc-1.0.0-pre1/modules/codec/xvmc/xxmc.c 2009-04-09 21:39:18.000000000 +0200 -@@ -41,9 +41,9 @@ - #endif - - #include "mpeg2.h" --#include "attributes.h" -+//#include "attributes.h" - #include "mpeg2_internal.h" --#include "xvmc_vld.h" -+//#include "xvmc_vld.h" - - /* Aspect ratio (ISO/IEC 13818-2 section 6.3.3, table 6-3) */ - #define AR_SQUARE_PICTURE 1 /* square pixels */ -@@ -277,7 +277,7 @@ static picture_t *DecodeBlock( decoder_t - if ( p_sys->b_slice_i ) - { - decoder_SynchroNewPicture( p_sys->p_synchro, -- I_CODING_TYPE, 2, 0, 0, p_sys->i_current_rate, -+ I_CODING_TYPE, 2, 0, 0, - p_sys->p_info->sequence->flags & SEQ_FLAG_LOW_DELAY ); - decoder_SynchroDecode( p_sys->p_synchro ); - decoder_SynchroEnd( p_sys->p_synchro, I_CODING_TYPE, 0 ); -@@ -396,7 +396,7 @@ static picture_t *DecodeBlock( decoder_t - decoder_SynchroNewPicture( p_sys->p_synchro, - p_sys->p_info->current_picture->flags & PIC_MASK_CODING_TYPE, - p_sys->p_info->current_picture->nb_fields, -- 0, 0, p_sys->i_current_rate, -+ 0, 0, - p_sys->p_info->sequence->flags & SEQ_FLAG_LOW_DELAY ); - - if( p_sys->b_skip ) -@@ -422,7 +422,7 @@ static picture_t *DecodeBlock( decoder_t - /* Intra-slice refresh. Simulate a blank I picture. */ - msg_Dbg( p_dec, "intra-slice refresh stream" ); - decoder_SynchroNewPicture( p_sys->p_synchro, -- I_CODING_TYPE, 2, 0, 0, p_sys->i_current_rate, -+ I_CODING_TYPE, 2, 0, 0, - p_sys->p_info->sequence->flags & SEQ_FLAG_LOW_DELAY ); - decoder_SynchroDecode( p_sys->p_synchro ); - decoder_SynchroEnd( p_sys->p_synchro, I_CODING_TYPE, 0 ); -@@ -457,7 +457,7 @@ static picture_t *DecodeBlock( decoder_t - decoder_SynchroNewPicture( p_sys->p_synchro, - p_sys->p_info->current_picture->flags & PIC_MASK_CODING_TYPE, - p_sys->p_info->current_picture->nb_fields, i_pts, -- 0, p_sys->i_current_rate, -+ 0, - p_sys->p_info->sequence->flags & SEQ_FLAG_LOW_DELAY ); - - if ( !(p_sys->b_slice_i -@@ -486,8 +486,8 @@ static picture_t *DecodeBlock( decoder_t - return NULL; - } - -- p_sys->p_mpeg2dec->ptr_forward_ref_picture = p_sys->p_mpeg2dec->fbuf[2]->id; -- p_sys->p_mpeg2dec->ptr_backward_ref_picture = p_sys->p_mpeg2dec->fbuf[1]->id; -+ //p_sys->p_mpeg2dec->ptr_forward_ref_picture = p_sys->p_mpeg2dec->fbuf[2]->id; -+ //p_sys->p_mpeg2dec->ptr_backward_ref_picture = p_sys->p_mpeg2dec->fbuf[1]->id; - - if ((p_sys->p_info->current_picture->flags & PIC_MASK_CODING_TYPE) != B_CODING_TYPE) - { -@@ -495,9 +495,9 @@ static picture_t *DecodeBlock( decoder_t - // p_sys->p_mpeg2dec->ptr_forward_ref_picture != picture->backward_reference_frame) - // p_pic->forward_reference_frame->free (p_pic->forward_reference_frame); - -- p_sys->p_mpeg2dec->ptr_forward_ref_picture = -- p_sys->p_mpeg2dec->ptr_backward_ref_picture; -- p_sys->p_mpeg2dec->ptr_backward_ref_picture = (void *)p_pic; -+ //p_sys->p_mpeg2dec->ptr_forward_ref_picture = -+ // p_sys->p_mpeg2dec->ptr_backward_ref_picture; -+ //p_sys->p_mpeg2dec->ptr_backward_ref_picture = (void *)p_pic; - } - mpeg2_set_buf( p_sys->p_mpeg2dec, buf, p_pic ); - } -@@ -595,7 +595,7 @@ static picture_t *DecodeBlock( decoder_t - if( p_sys->b_slice_i ) - { - decoder_SynchroNewPicture( p_sys->p_synchro, -- I_CODING_TYPE, 2, 0, 0, p_sys->i_current_rate, -+ I_CODING_TYPE, 2, 0, 0, - p_sys->p_info->sequence->flags & SEQ_FLAG_LOW_DELAY ); - decoder_SynchroDecode( p_sys->p_synchro ); - decoder_SynchroEnd( p_sys->p_synchro, I_CODING_TYPE, 0 ); -@@ -644,7 +644,7 @@ static double get_aspect_ratio( decoder_ - { - /* these hardcoded values are defined on mpeg2 standard for - * aspect ratio. other values are reserved or forbidden. */ -- switch( p_sys->p_mpeg2dec->decoder.aspect_ratio_information ) -+ /*switch( p_sys->p_mpeg2dec->decoder.aspect_ratio_information ) - { - case 2: - ratio = 4.0/3.0; -@@ -656,16 +656,16 @@ static double get_aspect_ratio( decoder_ - ratio = 2.11/1.0; - break; - case 1: -- default: -+ default:*/ - ratio = (double)p_sys->p_mpeg2dec->decoder.width/(double)p_sys->p_mpeg2dec->decoder.height; -- break; -- } -+ /* break; -+ }*/ - } - else - { - /* mpeg1 constants refer to pixel aspect ratio */ - ratio = (double)p_sys->p_mpeg2dec->decoder.width/(double)p_sys->p_mpeg2dec->decoder.height; -- ratio /= mpeg1_pel_ratio[p_sys->p_mpeg2dec->decoder.aspect_ratio_information]; -+ /* ratio /= mpeg1_pel_ratio[p_sys->p_mpeg2dec->decoder.aspect_ratio_information]; */ - } - return ratio; - } -@@ -730,8 +730,8 @@ static picture_t *GetNewPicture( decoder - p_dec->fmt_out.video.i_height, - p_dec->fmt_out.video.i_aspect, - format, flags); --#endif - mpeg2_xxmc_choose_coding( p_dec, &p_sys->p_mpeg2dec->decoder, p_pic, - get_aspect_ratio(p_dec), 0 ); -+#endif - return p_pic; - } -diff -up vlc-1.0.0-pre1/modules/video_output/x11/xcommon.c.libmpeg2_out vlc-1.0.0-pre1/modules/video_output/x11/xcommon.c ---- vlc-1.0.0-pre1/modules/video_output/x11/xcommon.c.libmpeg2_out 2009-03-17 21:06:54.000000000 +0100 -+++ vlc-1.0.0-pre1/modules/video_output/x11/xcommon.c 2009-04-10 01:19:01.000000000 +0200 -@@ -116,16 +116,7 @@ static void DestroyWindow ( vout_thread - static int NewPicture ( vout_thread_t *, picture_t * ); - static void FreePicture ( vout_thread_t *, picture_t * ); - --#ifndef MODULE_NAME_IS_glx --static IMAGE_TYPE *CreateImage ( vout_thread_t *, -- Display *, EXTRA_ARGS, int, int ); --#endif -- - #ifdef HAVE_SYS_SHM_H --#ifndef MODULE_NAME_IS_glx --IMAGE_TYPE *CreateShmImage ( vout_thread_t *, -- Display *, EXTRA_ARGS_SHM, int, int ); --#endif - static int i_shm_major = 0; - #endif - -@@ -428,7 +419,7 @@ int Activate ( vlc_object_t *p_this ) - if( checkXvMCCap( p_vout ) == VLC_EGENERIC ) - { - msg_Err( p_vout, "no XVMC capability found" ); -- Deactivate( p_vout ); -+ Deactivate( p_this ); - return VLC_EGENERIC; - } - subpicture_t sub_pic; -@@ -1076,7 +1067,7 @@ static void DisplayVideo( vout_thread_t - if( p_vout->p_sys->i_shm_opcode ) - { - /* Display rendered image using shared memory extension */ --# if defined(MODULE_NAME_IS_xvideo) || defined(MODULE_NAME_IS_xvmc) -+#if defined(MODULE_NAME_IS_xvideo) || defined(MODULE_NAME_IS_xvmc) - XvShmPutImage( p_vout->p_sys->p_display, p_vout->p_sys->i_xvport, - p_vout->p_sys->p_win->video_window, - p_vout->p_sys->p_win->gc, p_pic->p_sys->p_image, -@@ -1086,7 +1077,7 @@ static void DisplayVideo( vout_thread_t - p_vout->fmt_out.i_visible_height, - 0 /*dest_x*/, 0 /*dest_y*/, i_width, i_height, - False /* Don't put True here or you'll waste your CPU */ ); --# else -+#else - XShmPutImage( p_vout->p_sys->p_display, - p_vout->p_sys->p_win->video_window, - p_vout->p_sys->p_win->gc, p_pic->p_sys->p_image, -@@ -1096,7 +1087,7 @@ static void DisplayVideo( vout_thread_t - p_vout->fmt_out.i_visible_width, - p_vout->fmt_out.i_visible_height, - False /* Don't put True here ! */ ); --# endif -+#endif - } - else - #endif /* HAVE_SYS_SHM_H */ -@@ -1922,13 +1913,13 @@ static int NewPicture( vout_thread_t *p_ - /* Create image using XShm extension */ - p_pic->p_sys->p_image = - CreateShmImage( p_vout, p_vout->p_sys->p_display, --# if defined(MODULE_NAME_IS_xvideo) || defined(MODULE_NAME_IS_xvmc) -+#if defined(MODULE_NAME_IS_xvideo) || defined(MODULE_NAME_IS_xvmc) - p_vout->p_sys->i_xvport, - VLC2X11_FOURCC(p_vout->output.i_chroma), --# else -+#else - p_vout->p_sys->p_visual, - p_vout->p_sys->i_screen_depth, --# endif -+#endif - &p_pic->p_sys->shminfo, - p_vout->output.i_width, p_vout->output.i_height ); - } -diff -up vlc-1.0.0-pre1/modules/video_output/x11/xcommon.h.libmpeg2_out vlc-1.0.0-pre1/modules/video_output/x11/xcommon.h ---- vlc-1.0.0-pre1/modules/video_output/x11/xcommon.h.libmpeg2_out 2009-04-10 00:23:24.000000000 +0200 -+++ vlc-1.0.0-pre1/modules/video_output/x11/xcommon.h 2009-04-10 01:19:07.000000000 +0200 -@@ -395,4 +395,12 @@ typedef struct mwmhints_t - # define MAX_DIRECTBUFFERS 2 - #endif - -+#ifndef MODULE_NAME_IS_glx -+static IMAGE_TYPE *CreateImage ( vout_thread_t *, -+ Display *, EXTRA_ARGS, int, int ); -+#ifdef HAVE_SYS_SHM_H -+IMAGE_TYPE *CreateShmImage ( vout_thread_t *, -+ Display *, EXTRA_ARGS_SHM, int, int ); -+#endif -+#endif - -diff -up vlc-1.0.0-pre1/modules/video_output/x11/xvmc.c.libmpeg2_out vlc-1.0.0-pre1/modules/video_output/x11/xvmc.c ---- vlc-1.0.0-pre1/modules/video_output/x11/xvmc.c.libmpeg2_out 2009-02-14 13:39:08.000000000 +0100 -+++ vlc-1.0.0-pre1/modules/video_output/x11/xvmc.c 2009-04-09 21:39:18.000000000 +0200 -@@ -1304,7 +1304,7 @@ void xxmc_do_update_frame( picture_t *pi - /* Wait a little till frame is being displayed */ - while( status & XVMC_DISPLAYING ) - { -- msleep(1); -+ /* msleep(1); */ - - XvMCGetSurfaceStatus( p_vout->p_sys->p_display, - picture->p_sys->xvmc_surf, diff --git a/vlc-1.0.0-rc1-pkglibd.patch b/vlc-1.0.0-rc1-pkglibd.patch new file mode 100644 index 0000000..addd89d --- /dev/null +++ b/vlc-1.0.0-rc1-pkglibd.patch @@ -0,0 +1,15 @@ +diff -up vlc-1.0.0-rc1/configure.ac.pkglibd vlc-1.0.0-rc1/configure.ac +--- vlc-1.0.0-rc1/configure.ac.pkglibd 2009-05-12 14:39:52.000000000 +0200 ++++ vlc-1.0.0-rc1/configure.ac 2009-05-12 14:40:02.000000000 +0200 +@@ -144,11 +144,6 @@ AC_ARG_WITH(contrib, + CXXFLAGS_save="${CXXFLAGS_save} -I${CONTRIB_DIR}/include" + OBJCFLAGS="${OBJCFLAGS} -I${CONTRIB_DIR}/include" + OBJCFLAGS_save="${OBJCFLAGS_save} -I${CONTRIB_DIR}/include" +- if test $build = $host -o "$PKG_CONFIG_LIBDIR"; then +- export PKG_CONFIG_PATH=${CONTRIB_DIR}/lib/pkgconfig:$PKG_CONFIG_PATH +- else +- export PKG_CONFIG_LIBDIR=${CONTRIB_DIR}/lib/pkgconfig +- fi + LDFLAGS="${LDFLAGS} -L${CONTRIB_DIR}/lib" + LDFLAGS_save="${LDFLAGS_save} -L${CONTRIB_DIR}/lib" + diff --git a/vlc.spec b/vlc.spec index 0406f0d..cf97f19 100644 --- a/vlc.spec +++ b/vlc.spec @@ -1,10 +1,10 @@ # TODO: libdc1394(juju), modularization (vlc-plugin-foo) %define _default_patch_fuzz 2 -%define with_internal_live555 0 +%define with_internal_live555 0 %define live555_date 2008.07.25 %define vlc_git 0 -%define vlc_rc -pre1 +%define vlc_rc -rc1 %define with_mozilla 1 %define with_dc1394 0 %define with_directfb 1 @@ -13,7 +13,7 @@ Summary: Multi-platform MPEG, DVD, and DivX player Name: vlc Version: 1.0.0 -Release: 0.2pre1%{?dist} +Release: 0.4rc1%{?dist} License: GPLv2+ Group: Applications/Multimedia URL: http://www.videolan.org/ @@ -25,13 +25,14 @@ Patch0: vlc-trunk-default_font.patch Patch3: 300_all_pic.patch Patch4: 310_all_mmx_pic.patch Patch5: vlc-1.0.0-pre1-xulrunner-191_support.patch -Patch6: vlc-1.0.0-pre1-libmpeg2_out.patch +Patch6: vlc-1.0.0-bugfix_backport.patch +Patch7: vlc-1.0.0-rc1-pkglibd.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: desktop-file-utils BuildRequires: gettext -%if 0 +%if 1 BuildRequires: gettext-devel BuildRequires: libtool %endif @@ -42,7 +43,7 @@ BuildRequires: alsa-lib-devel BuildRequires: avahi-devel BuildRequires: cdparanoia-devel BuildRequires: dbus-devel -%{?_with_dirac: BuildRequires: dirac-devel >= 1.0.0} +BuildRequires: dirac-devel >= 1.0.0 %if %with_directfb BuildRequires: directfb-devel %endif @@ -67,7 +68,7 @@ BuildRequires: libdvbpsi-devel BuildRequires: libdvdnav-devel BuildRequires: libebml-devel BuildRequires: libid3tag-devel -%{?_with_kate: BuildRequires: libkate-devel} +BuildRequires: libkate-devel BuildRequires: libmad-devel BuildRequires: libmatroska-devel >= 0.7.6 BuildRequires: libmodplug-devel @@ -244,18 +245,12 @@ sed -i.dmo_pic -e 's/fno-PIC/fPIC/' libs/loader/Makefile.in %if 0%{?fedora} >= 11 %patch5 -p1 -b .xul191 %endif -%patch6 -p1 -b .libmpeg2_out - - -#./bootstrap +%patch6 -p1 -b .bp +%patch7 -p1 -b .pkglibd -#Rip out libmpeg2 -rm ./modules/codec/xvmc/{alloc.c,attributes.h,cpu_accel.c,cpu_state.c,decode.c,header.c,motion_comp.c,motion_comp_mmx.c,mpeg2.h,mpeg2_internal.h,slice.c,slice_xvmc_vld.c,vlc.h,xvmc_vld.h} -touch ./modules/codec/xvmc/{alloc.c,attributes.h,cpu_accel.c,cpu_state.c,decode.c,header.c,motion_comp.c,motion_comp_mmx.c,mpeg2.h,mpeg2_internal.h,slice.c,slice_xvmc_vld.c,vlc.h,xvmc_vld.h} -rm ./modules/codec/xvmc/mpeg2.h -ln -sf %{_includedir}/mpeg2dec/mpeg2.h ./modules/codec/xvmc/mpeg2.h -rm ./modules/codec/xvmc/mpeg2_internal.h -ln -sf %{_includedir}/mpeg2dec/mpeg2_internal.h ./modules/codec/xvmc/mpeg2_internal.h +rm autotools/* m4/lib* +cp -p %{_datadir}/gettext/config.rpath autotools +./bootstrap %build @@ -298,7 +293,7 @@ popd --enable-speex \ --enable-tarkin \ --enable-theora \ - %{?_with_dirac:--enable-dirac} \ + --enable-dirac \ --enable-svg \ --enable-snapshot \ %ifarch %{ix86} x86_64 @@ -512,6 +507,13 @@ fi || : %changelog +* Tue May 12 2009 kwizart < kwizart at gmail.com > - 1.0.0-0.4rc1 +- Update to 1.0.0-rc1 +- Add 1.0-bugfix patches + +* Fri Apr 17 2009 kwizart < kwizart at gmail.com > - 1.0.0-0.3pre2 +- Update to 1.0.0-pre2 + * Fri Apr 10 2009 kwizart < kwizart at gmail.com > - 1.0.0-0.2pre1 - Re-enable xxmc - Remove libmpeg2 out