From d3ck0r at gmail.com Wed Jun 1 04:32:04 2011 From: d3ck0r at gmail.com (J Decker) Date: Tue, 31 May 2011 19:32:04 -0700 Subject: [vlc-devel] 1.1.9 thrown assertion during libvlc_event_attach In-Reply-To: References: Message-ID: Is this assertion really something that should pop up a dialog? Shouldn't it just be forgiving like before an allow non assignment of events that aren't actually registered? On Sun, May 29, 2011 at 7:08 PM, J Decker wrote: > I'm going throw and iterating to hook to all events that I can (just > for diagnositcs mosltly) > > and VLC loaded as libvlc throws > > Assertion Failed > Program: ... > File: ../.././src/control/event.c > line: 362 > > Expression : 0 > > ..... > > what does this mean? ?I thought it was because I was starting from 0, > I changed and start from 1... > > ? ? ? ?for( n = 1; n <= libvlc_MediaStateChanged; n++ ) > ? ? ? ?{ > ? ? ? ? ? ? ? ?vlc.libvlc_event_attach( pmyi->mpev, n, PlayerEvent, pmyi PASS_EXCEPT_PARAM ); > ? ? ? ?} > > none of the parameters are 0. > From jb at videolan.org Wed Jun 1 12:07:53 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Wed, 1 Jun 2011 12:07:53 +0200 Subject: [vlc-devel] [PATCH] ActiveX FullScreen support In-Reply-To: References: Message-ID: <20110601100753.GA6430@videolan.org> On Wed, May 25, 2011 at 10:31:44PM +0700, Sergey Radionov wrote : > Reformated version Review: > +class VLCHolderWnd > +{ > +public: > + static void RegisterWndClassName(HINSTANCE hInstance); > + static void UnRegisterWndClassName(); > + static VLCHolderWnd* CreateHolderWindow(VLCPlugin* p_instance); > + void DestroyWindow() > + {::DestroyWindow(_hWnd);}; Ok. > +private: > + static LPCTSTR getClassName(void) { return TEXT("VLC ActiveX Media Window Holder Class"); }; Text isn't good. "VLC ActiveX Window Holder Class" or something similar. "Media" is out of context here. > +private: Why again a private: ? > +private: idem? > +public: idem? > +HINSTANCE VLCHolderWnd::_hinstance=0; > +ATOM VLCHolderWnd::_holder_wndclass_atom=0; spaces around = , please. > +void VLCHolderWnd::RegisterWndClassName(HINSTANCE hInstance) Shouldn't implementations be in .cpp? > +void VLCHolderWnd::UnRegisterWndClassName() idem > +VLCHolderWnd* VLCHolderWnd::CreateHolderWindow(VLCPlugin* p_instance) idem. > +LRESULT CALLBACK VLCHolderWnd::VLCHolderClassWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) > +{ > + VLCHolderWnd* h_data = reinterpret_cast(GetWindowLongPtr(hWnd, GWLP_USERDATA)); > + VLCPlugin* p_instance = h_data ? h_data->_p_instance : 0; Please use NULL for pointers; > +class VLCFullScreenWnd Exactly the same remarks as above :D > +#define ID_FS_SWITCH_FS 1 > +#define ID_FS_PLAY_PAUSE 2 > +#define ID_FS_VIDEO_POS_SCROLL 3 > +#define ID_FS_MUTE 4 > +#define ID_FS_VOLUME 5 > +#define ID_FS_LABEL 5 No. Use enums. > diff --git a/projects/activex/axvlc.idl b/projects/activex/axvlc.idl > index de7562d..21a3495 100644 > --- a/projects/activex/axvlc.idl > +++ b/projects/activex/axvlc.idl > @@ -644,6 +644,11 @@ library AXVLC > > [propget, helpstring("Returns the audio object.")] > HRESULT video([out, retval] IVLCVideo** obj); > + > + [propget] > + HRESULT NewMessageFlag([out, retval] VARIANT_BOOL* vYes); > + [propput] > + HRESULT NewMessageFlag([in] VARIANT_BOOL vYes); > }; > > [ I still think this part should be in a separate commit, but well... > diff --git a/projects/activex/axvlc_rc.rc.in b/projects/activex/axvlc_rc.rc.in > index f3cf3a8..274aa47 100644 > --- a/projects/activex/axvlc_rc.rc.in > +++ b/projects/activex/axvlc_rc.rc.in > @@ -25,6 +25,12 @@ BEGIN > END > > 2 BITMAP DISCARDABLE "inplace.bmp" > +3 BITMAP DISCARDABLE "defullscreen.bmp" > +4 BITMAP DISCARDABLE "play.bmp" > +5 BITMAP DISCARDABLE "pause.bmp" > +6 BITMAP DISCARDABLE "volume.bmp" > +7 BITMAP DISCARDABLE "volume-muted.bmp" > +8 BITMAP DISCARDABLE "new_message.bmp" > > 1 TYPELIB "axvlc.tlb" Yep. > + case WM_SIZE:{ > + int new_client_width = LOWORD(lParam); > + int new_client_height = HIWORD(lParam); > + //first child will be resized to client area > + HWND hChildWnd = GetWindow(hWnd, GW_CHILD); > + if(hChildWnd){ > + MoveWindow(hChildWnd, 0, 0, new_client_width, new_client_height, FALSE); > + } > + return 0L; > + } > + case WM_LBUTTONDBLCLK:{ > + p_instance->toggleFullscreen(); > + return 0L; > + } Ok, I thnk. I must say that is addition is a really good thing and quite difficult to merge, I know. Thanks many times. Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From jb at videolan.org Wed Jun 1 12:16:52 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Wed, 1 Jun 2011 12:16:52 +0200 Subject: [vlc-devel] [PATCH] Mozilla FullScreen support In-Reply-To: References: Message-ID: <20110601101652.GA10318@videolan.org> On Wed, May 25, 2011 at 10:33:10PM +0700, Sergey Radionov wrote : > Reformated version > + VlcPlugin* p_plugin = getPrivate(); > + > switch( index ) > { > case ID_root_audio: > @@ -144,6 +148,44 @@ LibvlcRootNPObject::getProperty(int index, NPVariant &result) > return INVOKERESULT_NO_ERROR; > case ID_root_VersionInfo: > return invokeResultString(libvlc_get_version(),result); > + case ID_root_NewMessageFlag: > + { > + bool val = p_plugin->getNewMessageFlag(); > + BOOLEAN_TO_NPVARIANT(val, result); > + return INVOKERESULT_NO_ERROR; > + } > + default: > + ; > + } > + } > + return INVOKERESULT_GENERIC_ERROR; > +} > +RuntimeNPObject::InvokeResult > +LibvlcRootNPObject::setProperty(int index, const NPVariant &value) > +{ > + /* is plugin still running */ > + if( isPluginRunning() ) > + { > + VlcPlugin* p_plugin = getPrivate(); > + > + /* > + libvlc_media_player_t *p_md = p_plugin->getMD(); > + if( !p_md ) > + RETURN_ON_ERROR; > + */ > + switch( index ) > + { > + case ID_root_NewMessageFlag: > + { > + if( ! NPVARIANT_IS_BOOLEAN(value) ) > + { > + return INVOKERESULT_INVALID_VALUE; > + } > + > + bool val = NPVARIANT_TO_BOOLEAN(value); > + p_plugin->setNewMessageFlag(val); > + return INVOKERESULT_NO_ERROR; > + } > default: > ; > diff --git a/projects/mozilla/control/npolibvlc.h b/projects/mozilla/control/npolibvlc.h > index c6d8694..70477ee 100644 > --- a/projects/mozilla/control/npolibvlc.h > +++ b/projects/mozilla/control/npolibvlc.h > @@ -46,6 +46,7 @@ protected: > static const NPUTF8 * const propertyNames[]; > > InvokeResult getProperty(int index, NPVariant &result); > + InvokeResult setProperty(int index, const NPVariant &value); > > static const int methodCount; > static const NPUTF8 * const methodNames[]; All this should be in a separate patch, :D > +typedef VlcPlugin VLCPlugin; Why? Exactly the same remarks on the FS controller than on the ActiveX part. How much of the code is identical? Fullscreen part should be ok. Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From sebastien-devel at celeos.eu Wed Jun 1 13:34:08 2011 From: sebastien-devel at celeos.eu (=?ISO-8859-1?Q?S=E9bastien?= Escudier) Date: Wed, 01 Jun 2011 13:34:08 +0200 Subject: [vlc-devel] RTSP trickplay - libvlc_media_player_set_rate support for fast forward/rewind In-Reply-To: <1306847636.1802.19.camel@stim-desktop> References: <20110529090757.GA6384@elivagar.org> <1306847636.1802.19.camel@stim-desktop> Message-ID: <1306928048.8039.5.camel@stim-desktop> Actually, I think we should just remove the "if (rate < 0.)" test from libvlc_media_player_set_rate The rate is validated at the input level, no need to check it at multiple places, it could lead to inconsistencies. Moreover, what if the input is not launched yet ? we don't know if it will accept negative rates. From jb at videolan.org Wed Jun 1 15:01:50 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Wed, 1 Jun 2011 15:01:50 +0200 Subject: [vlc-devel] [RFC] Android OpenSL ES audio output Message-ID: <20110601130149.GA11312@videolan.org> Hello, This is a request for comment on the audio output using OpenSL ES on Android. It has changed quite a lot since the last review, and the comments should have been taken in account (if some didn't, then I am really sorry and will fix ASAP). Most of the code isn't mine, so please avoid personnal attacks. Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device -------------- next part -------------- A non-text attachment was scrubbed... Name: opensles.c Type: text/x-csrc Size: 13681 bytes Desc: not available URL: From rsatom at gmail.com Wed Jun 1 15:22:38 2011 From: rsatom at gmail.com (Sergey Radionov) Date: Wed, 1 Jun 2011 20:22:38 +0700 Subject: [vlc-devel] [PATCH] ActiveX FullScreen support In-Reply-To: <20110601100753.GA6430@videolan.org> References: <20110601100753.GA6430@videolan.org> Message-ID: 2011/6/1 Jean-Baptiste Kempf > On Wed, May 25, 2011 at 10:31:44PM +0700, Sergey Radionov wrote : > > Reformated version > > Review: > > > +class VLCHolderWnd > > +{ > > +public: > > + static void RegisterWndClassName(HINSTANCE hInstance); > > + static void UnRegisterWndClassName(); > > + static VLCHolderWnd* CreateHolderWindow(VLCPlugin* p_instance); > > + void DestroyWindow() > > + {::DestroyWindow(_hWnd);}; > Ok. > > > +private: > > + static LPCTSTR getClassName(void) { return TEXT("VLC ActiveX Media > Window Holder Class"); }; > Text isn't good. "VLC ActiveX Window Holder Class" or something similar. > "Media" is out of context here. > Ok, accepted. > > +private: > Why again a private: ? > > > +private: > idem? > > > +public: > idem? > I am usually split class members into logical groups, and private/protected/public serves as separators... I think it helps understanding code... > > +HINSTANCE VLCHolderWnd::_hinstance=0; > > +ATOM VLCHolderWnd::_holder_wndclass_atom=0; > spaces around = , please. > Ok, accepted. > > > +void VLCHolderWnd::RegisterWndClassName(HINSTANCE hInstance) > Shouldn't implementations be in .cpp? > > > +void VLCHolderWnd::UnRegisterWndClassName() > idem > > > +VLCHolderWnd* VLCHolderWnd::CreateHolderWindow(VLCPlugin* p_instance) > idem. > Ok, accepted. > +LRESULT CALLBACK VLCHolderWnd::VLCHolderClassWndProc(HWND hWnd, UINT > uMsg, WPARAM wParam, LPARAM lParam) > > +{ > > + VLCHolderWnd* h_data = > reinterpret_cast(GetWindowLongPtr(hWnd, GWLP_USERDATA)); > > + VLCPlugin* p_instance = h_data ? h_data->_p_instance : 0; > > Please use NULL for pointers; > Bjarne Stroustrup: http://www2.research.att.com/~bs/bs_faq2.html#null > > +class VLCFullScreenWnd > Exactly the same remarks as above :D > > > +#define ID_FS_SWITCH_FS 1 > > +#define ID_FS_PLAY_PAUSE 2 > > +#define ID_FS_VIDEO_POS_SCROLL 3 > > +#define ID_FS_MUTE 4 > > +#define ID_FS_VOLUME 5 > > +#define ID_FS_LABEL 5 > No. Use enums. > Ok, accepted. > > diff --git a/projects/activex/axvlc.idl b/projects/activex/axvlc.idl > > index de7562d..21a3495 100644 > > --- a/projects/activex/axvlc.idl > > +++ b/projects/activex/axvlc.idl > > @@ -644,6 +644,11 @@ library AXVLC > > > > [propget, helpstring("Returns the audio object.")] > > HRESULT video([out, retval] IVLCVideo** obj); > > + > > + [propget] > > + HRESULT NewMessageFlag([out, retval] VARIANT_BOOL* vYes); > > + [propput] > > + HRESULT NewMessageFlag([in] VARIANT_BOOL vYes); > > }; > > > > [ > > I still think this part should be in a separate commit, but well... > > Ok, I'll try split it to different commits (if I can)... > > diff --git a/projects/activex/axvlc_rc.rc.in b/projects/activex/ > axvlc_rc.rc.in > > index f3cf3a8..274aa47 100644 > > --- a/projects/activex/axvlc_rc.rc.in > > +++ b/projects/activex/axvlc_rc.rc.in > > @@ -25,6 +25,12 @@ BEGIN > > END > > > > 2 BITMAP DISCARDABLE "inplace.bmp" > > +3 BITMAP DISCARDABLE "defullscreen.bmp" > > +4 BITMAP DISCARDABLE "play.bmp" > > +5 BITMAP DISCARDABLE "pause.bmp" > > +6 BITMAP DISCARDABLE "volume.bmp" > > +7 BITMAP DISCARDABLE "volume-muted.bmp" > > +8 BITMAP DISCARDABLE "new_message.bmp" > > > > 1 TYPELIB "axvlc.tlb" > > Yep. > > > + case WM_SIZE:{ > > + int new_client_width = LOWORD(lParam); > > + int new_client_height = HIWORD(lParam); > > + //first child will be resized to client area > > + HWND hChildWnd = GetWindow(hWnd, GW_CHILD); > > + if(hChildWnd){ > > + MoveWindow(hChildWnd, 0, 0, new_client_width, > new_client_height, FALSE); > > + } > > + return 0L; > > + } > > + case WM_LBUTTONDBLCLK:{ > > + p_instance->toggleFullscreen(); > > + return 0L; > > + } > Ok, I thnk. > > I must say that is addition is a really good thing and quite difficult > to merge, I know. > Thanks many times. > > Best Regards, > > -- > Jean-Baptiste Kempf > http://www.jbkempf.com/ - +33 672 704 734 > Sent from my Electronic Device > _______________________________________________ > vlc-devel mailing list > To unsubscribe or modify your subscription options: > http://mailman.videolan.org/listinfo/vlc-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ee05154 at fe.up.pt Wed Jun 1 15:29:20 2011 From: ee05154 at fe.up.pt (Nuno Mota) Date: Wed, 1 Jun 2011 14:29:20 +0100 Subject: [vlc-devel] RTSP trickplay - libvlc_media_player_set_rate support for fast forward/rewind In-Reply-To: <1306928048.8039.5.camel@stim-desktop> References: <20110529090757.GA6384@elivagar.org> <1306847636.1802.19.camel@stim-desktop> <1306928048.8039.5.camel@stim-desktop> Message-ID: Well I actually thought of the input. I placed the input check before the if condition. But didn't know it checked the rate. If the input is not launched then return 0. Maybe not because of inconsistency but it is just another cycle being occupied. My first try out was exactly without the rate and it checked out! Playing from a video file I couldn't fast rewind, while playing from a stream it worked. However there's a big problem when you set rate 0. VLC understood a rate of -31!!! Maybe checking for a 0 value would be nice! I saw previous Patches here in the development list with some work at this set_rate operation but none of them are in the source code. Maybe the work was discontinued because they found to much problems. PLAY rtsp://192.168.1.201:8554/Redbull_720.ts/ RTSP/1.0 CSeq: 7 User-Agent: LibVLC/1.1.9 (LIVE555 Streaming Media v2010.11.17) Session: 45231061 Scale: -31.250000 The problem you mentioned in the forum is kind of a big fail (yes i'm mundu :). When fast rewinding the time gets stuck and then it doesn't update. If you press play it will only start from the time you issued the setRate(negative), and not at the time where I pressed play again. Do you know where vlc actually updates its time? 2011/6/1 S?bastien Escudier > Actually, I think we should just remove the "if (rate < 0.)" test from > libvlc_media_player_set_rate > The rate is validated at the input level, no need to check it at > multiple places, it could lead to inconsistencies. > Moreover, what if the input is not launched yet ? we don't know if it > will accept negative rates. > > > _______________________________________________ > vlc-devel mailing list > To unsubscribe or modify your subscription options: > http://mailman.videolan.org/listinfo/vlc-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jb at videolan.org Wed Jun 1 15:32:13 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Wed, 1 Jun 2011 15:32:13 +0200 Subject: [vlc-devel] [PATCH] ActiveX FullScreen support In-Reply-To: References: <20110601100753.GA6430@videolan.org> Message-ID: <20110601133213.GA17464@videolan.org> On Wed, Jun 01, 2011 at 08:22:38PM +0700, Sergey Radionov wrote : > I am usually split class members into logical groups, and > private/protected/public serves as separators... I think it helps understanding > code... Ok. I don't care. Do as you wish. > > Please use NULL for pointers; > > > Bjarne Stroustrup: http://www2.research.att.com/~bs/bs_faq2.html#null Yeah, but we do that in VLC usually for fast readability. Once again, I don't care. DAYW :D Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From rsatom at gmail.com Wed Jun 1 15:35:45 2011 From: rsatom at gmail.com (Sergey Radionov) Date: Wed, 1 Jun 2011 20:35:45 +0700 Subject: [vlc-devel] [PATCH] Mozilla FullScreen support In-Reply-To: <20110601101652.GA10318@videolan.org> References: <20110601101652.GA10318@videolan.org> Message-ID: 2011/6/1 Jean-Baptiste Kempf > On Wed, May 25, 2011 at 10:33:10PM +0700, Sergey Radionov wrote : > > Reformated version > > > > + VlcPlugin* p_plugin = getPrivate(); > > + > > switch( index ) > > { > > case ID_root_audio: > > @@ -144,6 +148,44 @@ LibvlcRootNPObject::getProperty(int index, NPVariant > &result) > > return INVOKERESULT_NO_ERROR; > > case ID_root_VersionInfo: > > return invokeResultString(libvlc_get_version(),result); > > + case ID_root_NewMessageFlag: > > + { > > + bool val = p_plugin->getNewMessageFlag(); > > + BOOLEAN_TO_NPVARIANT(val, result); > > + return INVOKERESULT_NO_ERROR; > > + } > > + default: > > + ; > > + } > > + } > > + return INVOKERESULT_GENERIC_ERROR; > > +} > > +RuntimeNPObject::InvokeResult > > +LibvlcRootNPObject::setProperty(int index, const NPVariant &value) > > +{ > > + /* is plugin still running */ > > + if( isPluginRunning() ) > > + { > > + VlcPlugin* p_plugin = getPrivate(); > > + > > + /* > > + libvlc_media_player_t *p_md = p_plugin->getMD(); > > + if( !p_md ) > > + RETURN_ON_ERROR; > > + */ > > + switch( index ) > > + { > > + case ID_root_NewMessageFlag: > > + { > > + if( ! NPVARIANT_IS_BOOLEAN(value) ) > > + { > > + return INVOKERESULT_INVALID_VALUE; > > + } > > + > > + bool val = NPVARIANT_TO_BOOLEAN(value); > > + p_plugin->setNewMessageFlag(val); > > + return INVOKERESULT_NO_ERROR; > > + } > > default: > > ; > > > diff --git a/projects/mozilla/control/npolibvlc.h > b/projects/mozilla/control/npolibvlc.h > > index c6d8694..70477ee 100644 > > --- a/projects/mozilla/control/npolibvlc.h > > +++ b/projects/mozilla/control/npolibvlc.h > > @@ -46,6 +46,7 @@ protected: > > static const NPUTF8 * const propertyNames[]; > > > > InvokeResult getProperty(int index, NPVariant &result); > > + InvokeResult setProperty(int index, const NPVariant &value); > > > > static const int methodCount; > > static const NPUTF8 * const methodNames[]; > > All this should be in a separate patch, :D > > > > > +typedef VlcPlugin VLCPlugin; > Why? > To make maximum amount of code identical in ActiveX and Mozilla versions. It helps synchronize changes, cause to match amount of code is identical (and logic is absolutely identical). > > Exactly the same remarks on the FS controller than on the ActiveX part. > Ok, Accepted. > How much of the code is identical? > See comment above. May be I make fullscreen part self-sufficient, so anybody could use it in any project usig libvlc... I'll think whether it is possible or not... > Fullscreen part should be ok. > > Best Regards, > > -- > Jean-Baptiste Kempf > http://www.jbkempf.com/ - +33 672 704 734 > Sent from my Electronic Device > _______________________________________________ > vlc-devel mailing list > To unsubscribe or modify your subscription options: > http://mailman.videolan.org/listinfo/vlc-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jb at videolan.org Wed Jun 1 15:41:33 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Wed, 1 Jun 2011 15:41:33 +0200 Subject: [vlc-devel] [PATCH] Mozilla FullScreen support In-Reply-To: References: <20110601101652.GA10318@videolan.org> Message-ID: <20110601134133.GA19192@videolan.org> 'hi, On Wed, Jun 01, 2011 at 08:35:45PM +0700, Sergey Radionov wrote : > > > +typedef VlcPlugin VLCPlugin; > > Why? > > > To make maximum amount of code identical in ActiveX and Mozilla versions. It > helps synchronize changes, Point taken and accepted. It means that a future commit in one of those repos will be a rename then. > > How much of the code is identical? > > > See comment above. Ok. > May be I make fullscreen part self-sufficient, so anybody could use it in > any project usig libvlc... I'll think whether it is possible or not... I don't think this is really usefull though :D Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From rsatom at gmail.com Wed Jun 1 15:43:50 2011 From: rsatom at gmail.com (Sergey Radionov) Date: Wed, 1 Jun 2011 20:43:50 +0700 Subject: [vlc-devel] [PATCH] ActiveX FullScreen support In-Reply-To: <20110601133213.GA17464@videolan.org> References: <20110601100753.GA6430@videolan.org> <20110601133213.GA17464@videolan.org> Message-ID: 2011/6/1 Jean-Baptiste Kempf > On Wed, Jun 01, 2011 at 08:22:38PM +0700, Sergey Radionov wrote : > > I am usually split class members into logical groups, and > > private/protected/public serves as separators... I think it helps > understanding > > code... > > Ok. I don't care. Do as you wish. > > > > Please use NULL for pointers; > > > > > Bjarne Stroustrup: http://www2.research.att.com/~bs/bs_faq2.html#null > > Yeah, but we do that in VLC usually for fast readability. > Once again, I don't care. DAYW :D > > Don't worry, I always glad to hear wishes and comments :) Best Regards, > > -- > Jean-Baptiste Kempf > http://www.jbkempf.com/ - +33 672 704 734 > Sent from my Electronic Device > _______________________________________________ > vlc-devel mailing list > To unsubscribe or modify your subscription options: > http://mailman.videolan.org/listinfo/vlc-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From rsatom at gmail.com Wed Jun 1 15:49:12 2011 From: rsatom at gmail.com (Sergey Radionov) Date: Wed, 1 Jun 2011 20:49:12 +0700 Subject: [vlc-devel] [PATCH] Mozilla FullScreen support In-Reply-To: <20110601134133.GA19192@videolan.org> References: <20110601101652.GA10318@videolan.org> <20110601134133.GA19192@videolan.org> Message-ID: 2011/6/1 Jean-Baptiste Kempf > 'hi, > > On Wed, Jun 01, 2011 at 08:35:45PM +0700, Sergey Radionov wrote : > > > > +typedef VlcPlugin VLCPlugin; > > > Why? > > > > > To make maximum amount of code identical in ActiveX and Mozilla versions. > It > > helps synchronize changes, > Point taken and accepted. > > It means that a future commit in one of those repos will be a rename > then. > > Great idea! > > How much of the code is identical? > > > > > See comment above. > Ok. > > > May be I make fullscreen part self-sufficient, so anybody could use it in > > any project usig libvlc... I'll think whether it is possible or not... > > I don't think this is really usefull though :D > May be you are right :) but I'll think about it anyway :) > > Best Regards, > > -- > Jean-Baptiste Kempf > http://www.jbkempf.com/ - +33 672 704 734 > Sent from my Electronic Device > _______________________________________________ > vlc-devel mailing list > To unsubscribe or modify your subscription options: > http://mailman.videolan.org/listinfo/vlc-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From remi at remlab.net Wed Jun 1 16:21:25 2011 From: remi at remlab.net (=?UTF-8?Q?R=C3=A9mi_Denis-Courmont?=) Date: Wed, 01 Jun 2011 16:21:25 +0200 Subject: [vlc-devel] [RFC] Android OpenSL ES audio output In-Reply-To: <20110601130149.GA11312@videolan.org> References: <20110601130149.GA11312@videolan.org> Message-ID: Inline > /***************************************************************************** > * opensles.c : audio output for android native code OpenSL ES is a standard. As long as this file is Android-specific, it probably should not be called opensles.c. Otherwise, we are screwed when someone writes a plain standard OpenSL ES plugin. > ***************************************************************************** > * Copyright ? 2011 VideoLAN > * > * Authors: Dominique Martinet > * Hugo Beauz?e-Luyssen > * > * 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 > *****************************************************************************/ > > #ifdef HAVE_CONFIG_H > # include "config.h" > #endif > > #include > #include > #include > #include > #include > > // For native audio > #include > #include > > #define BUFF_QUEUE 42 Undocumented magic number. > > /***************************************************************************** > * aout_sys_t: audio output method descriptor > ***************************************************************************** > * This structure is part of the audio output thread descriptor. > * It describes the direct sound specific properties of an audio device. > *****************************************************************************/ > struct aout_sys_t > { > SLObjectItf engineObject; > SLEngineItf engineEngine; > SLObjectItf outputMixObject; > SLAndroidSimpleBufferQueueItf playerBufferQueue; > SLObjectItf playerObject; > SLPlayItf playerPlay; > aout_buffer_t ** p_buffer_array; Fixed-size array would be simpler. Or even linked list (aout_buffer_t has ->p_next). > int i_toclean_buffer; > int i_toappend_buffer; > SLInterfaceID * SL_IID_ENGINE; > SLInterfaceID * SL_IID_ANDROIDSIMPLEBUFFERQUEUE; > SLInterfaceID * SL_IID_VOLUME; > SLInterfaceID * SL_IID_PLAY; > void * p_so_handle; > }; > > typedef SLresult (*slCreateEngine_t)( > SLObjectItf*, SLuint32, const SLEngineOption*, SLuint32, > const SLInterfaceID*, const SLboolean* ); > > /***************************************************************************** > * Local prototypes. > *****************************************************************************/ > static int Open ( vlc_object_t * ); > static void Close ( vlc_object_t * ); > static void Play ( aout_instance_t * ); > static void PlayedCallback ( SLAndroidSimpleBufferQueueItf caller, void *pContext); > > /***************************************************************************** > * Module descriptor > *****************************************************************************/ > > vlc_module_begin () > set_description( N_("OpenSLES audio output") ) > set_shortname( N_("OpenSLES") ) > set_category( CAT_AUDIO ) > set_subcategory( SUBCAT_AUDIO_AOUT ) > > set_capability( "audio output", 170 ) > add_shortcut( "opensles", "android" ) > set_callbacks( Open, Close ) > vlc_module_end () > > > #define CHECK_OPENSL_ERROR( res, msg ) \ > if( unlikely( res != SL_RESULT_SUCCESS ) ) \ > { \ > msg_Err( p_aout, msg" (%lu)", res ); \ > goto error; \ > } \ > > #define OPENSL_DLSYM( dest, handle, name ) \ > dest = (typeof(dest))dlsym( handle, name ); \ Fine with me here, but this is a GCCism. > if( dest == NULL ) \ > { \ > msg_Err( p_aout, "Failed to load symbol "name ); \ " %s", name would allow the compiler to reuse both strings. > goto error; \ > } \ > > static void Clear( aout_sys_t *p_sys ) > { > // Destroy buffer queue audio player object > // and invalidate all associated interfaces > if( p_sys->playerObject != NULL ) > (*p_sys->playerObject)->Destroy( p_sys->playerObject ); > > // destroy output mix object, and invalidate all associated interfaces > if( p_sys->outputMixObject != NULL ) > (*p_sys->outputMixObject)->Destroy( p_sys->outputMixObject ); > > // destroy engine object, and invalidate all associated interfaces > if( p_sys->engineObject != NULL ) > (*p_sys->engineObject)->Destroy( p_sys->engineObject ); > > free( p_sys->p_buffer_array ); > > if( p_sys->p_so_handle != NULL ) > dlclose( p_sys->p_so_handle ); > > free( p_sys ); > } > > /***************************************************************************** > * Open: open a dummy audio device > *****************************************************************************/ > static int Open( vlc_object_t * p_this ) > { > aout_instance_t *p_aout = (aout_instance_t *)p_this; > SLresult result; > > /* Allocate structure */ > p_aout->output.p_sys = malloc( sizeof( aout_sys_t ) ); > if( unlikely( p_aout->output.p_sys == NULL ) ) > return VLC_ENOMEM; > > p_aout->output.pf_play = Play; You should only set callbacks when you are sure to not fail. > > aout_sys_t * p_sys = p_aout->output.p_sys; > > p_sys->playerObject = NULL; > p_sys->engineObject = NULL; > p_sys->outputMixObject = NULL; > p_sys->i_toclean_buffer = 0; > p_sys->i_toappend_buffer= 0; > p_sys->p_buffer_array = malloc( sizeof( **p_sys->p_buffer_array ) * > BUFF_QUEUE ); sizeof() parameter seems wrong, but see above. > if( unlikely( p_sys->p_buffer_array == NULL ) ) > { > free( p_sys ); > return VLC_ENOMEM; > } > p_sys->p_so_handle = NULL; Unused value. > > //Acquiring LibOpenSLES symbols : > p_sys->p_so_handle = dlopen( "libOpenSLES.so", RTLD_NOW ); > if( p_sys->p_so_handle == NULL ) > { > msg_Err( p_aout, "Failed to load libOpenSLES" ); > goto error; > } > > slCreateEngine_t slCreateEnginePtr = NULL; > > OPENSL_DLSYM( slCreateEnginePtr, p_sys->p_so_handle, "slCreateEngine" ); > OPENSL_DLSYM( p_sys->SL_IID_ANDROIDSIMPLEBUFFERQUEUE, p_sys->p_so_handle, > "SL_IID_ANDROIDSIMPLEBUFFERQUEUE" ); > OPENSL_DLSYM( p_sys->SL_IID_ENGINE, p_sys->p_so_handle, "SL_IID_ENGINE" ); > OPENSL_DLSYM( p_sys->SL_IID_PLAY, p_sys->p_so_handle, "SL_IID_PLAY" ); > OPENSL_DLSYM( p_sys->SL_IID_VOLUME, p_sys->p_so_handle, "SL_IID_VOLUME" ); > > // create engine > result = slCreateEnginePtr( &p_sys->engineObject, 0, NULL, 0, NULL, NULL ); > CHECK_OPENSL_ERROR( result, "Failed to create engine" ); > > // realize the engine in synchronous mode > result = (*p_sys->engineObject)->Realize( p_sys->engineObject, > SL_BOOLEAN_FALSE ); > CHECK_OPENSL_ERROR( result, "Failed to realize engine" ); > > // get the engine interface, needed to create other objects > result = (*p_sys->engineObject)->GetInterface( p_sys->engineObject, > *p_sys->SL_IID_ENGINE, &p_sys->engineEngine ); > CHECK_OPENSL_ERROR( result, "Failed to get the engine interface" ); > > // create output mix, with environmental reverb specified as a non-required interface > const SLInterfaceID ids1[] = { *p_sys->SL_IID_VOLUME }; > const SLboolean req1[] = { SL_BOOLEAN_FALSE }; > result = (*p_sys->engineEngine)->CreateOutputMix( p_sys->engineEngine, > &p_sys->outputMixObject, 1, ids1, req1 ); > CHECK_OPENSL_ERROR( result, "Failed to create output mix" ); > > // realize the output mix in synchronous mode > result = (*p_sys->outputMixObject)->Realize( p_sys->outputMixObject, > SL_BOOLEAN_FALSE ); > CHECK_OPENSL_ERROR( result, "Failed to realize output mix" ); > > > // configure audio source - this defines the number of samples you can enqueue. > SLDataLocator_AndroidSimpleBufferQueue loc_bufq = { > SL_DATALOCATOR_ANDROIDSIMPLEBUFFERQUEUE, > BUFF_QUEUE > }; > > SLDataFormat_PCM format_pcm; > format_pcm.formatType = SL_DATAFORMAT_PCM; > format_pcm.numChannels = 2; > format_pcm.samplesPerSec = ((SLuint32) p_aout->output.output.i_rate * 1000) ; > format_pcm.bitsPerSample = SL_PCMSAMPLEFORMAT_FIXED_16; > format_pcm.containerSize = SL_PCMSAMPLEFORMAT_FIXED_16; > format_pcm.channelMask = SL_SPEAKER_FRONT_LEFT | SL_SPEAKER_FRONT_RIGHT; > format_pcm.endianness = SL_BYTEORDER_LITTLEENDIAN; > > SLDataSource audioSrc = {&loc_bufq, &format_pcm}; > > // configure audio sink > SLDataLocator_OutputMix loc_outmix = { > SL_DATALOCATOR_OUTPUTMIX, > p_sys->outputMixObject > }; > SLDataSink audioSnk = {&loc_outmix, NULL}; > > //create audio player > const SLInterfaceID ids2[] = { *p_sys->SL_IID_ANDROIDSIMPLEBUFFERQUEUE }; > const SLboolean req2[] = { SL_BOOLEAN_TRUE }; > result = (*p_sys->engineEngine)->CreateAudioPlayer( p_sys->engineEngine, > &p_sys->playerObject, &audioSrc, > &audioSnk, sizeof( ids2 ) / sizeof( *ids2 ), > ids2, req2 ); > CHECK_OPENSL_ERROR( result, "Failed to create audio player" ); > > // realize the player > result = (*p_sys->playerObject)->Realize( p_sys->playerObject, > SL_BOOLEAN_FALSE ); > CHECK_OPENSL_ERROR( result, "Failed to realize player object." ); > > // get the play interface > result = (*p_sys->playerObject)->GetInterface( p_sys->playerObject, > *p_sys->SL_IID_PLAY, &p_sys->playerPlay ); > CHECK_OPENSL_ERROR( result, "Failed to get player interface." ); > > // get the buffer queue interface > result = (*p_sys->playerObject)->GetInterface( p_sys->playerObject, > *p_sys->SL_IID_ANDROIDSIMPLEBUFFERQUEUE, > &p_sys->playerBufferQueue ); > CHECK_OPENSL_ERROR( result, "Failed to get buff queue interface" ); > > result = (*p_sys->playerBufferQueue)->RegisterCallback( p_sys->playerBufferQueue, > PlayedCallback, > (void*)p_sys); > CHECK_OPENSL_ERROR( result, "Failed to register buff queue callback." ); > > > // set the player's state to playing > result = (*p_sys->playerPlay)->SetPlayState( p_sys->playerPlay, > SL_PLAYSTATE_PLAYING ); > CHECK_OPENSL_ERROR( result, "Failed to switch to play state" ); I expect this should be inPlay. > > // we want 16bit signed data little endian. > p_aout->output.output.i_format = VLC_CODEC_S16L; > p_aout->output.i_nb_samples = 2048; > p_aout->output.output.i_physical_channels = AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT; > > aout_FormatPrepare( &p_aout->output.output ); > > return VLC_SUCCESS; > error: > Clear( p_sys ); > return VLC_EGENERIC; > } > > /***************************************************************************** > * Close: close our file > *****************************************************************************/ > static void Close( vlc_object_t * p_this ) > { > aout_instance_t *p_aout = (aout_instance_t *)p_this; > aout_sys_t *p_sys = p_aout->output.p_sys; > > msg_Dbg( p_aout, "Closing OpenSLES" ); > > (*p_sys->playerPlay)->SetPlayState( p_sys->playerPlay, SL_PLAYSTATE_STOPPED ); > //Flush remaining buffers if any. > if( p_sys->playerBufferQueue != NULL ) > (*p_sys->playerBufferQueue)->Clear( p_sys->playerBufferQueue ); > Clear( p_sys ); > } > > /***************************************************************************** > * Play: play a sound > *****************************************************************************/ > static void Play( aout_instance_t * p_aout ) > { > aout_sys_t * p_sys = p_aout->output.p_sys; > aout_buffer_t *p_buffer; > > SLresult result; > > p_buffer = aout_FifoPop(p_aout, &p_aout->output.fifo); > if( p_buffer != NULL ) > { > for (;;) > { > result = (*p_sys->playerBufferQueue)->Enqueue( > p_sys->playerBufferQueue, p_buffer->p_buffer, > p_buffer->i_buffer ); > if( result == SL_RESULT_SUCCESS ) > break; > > msg_Err( p_aout, "write error (%lu)", result ); > } > p_sys->p_buffer_array[p_sys->i_toappend_buffer] = p_buffer; > if( ++p_sys->i_toappend_buffer == BUFF_QUEUE ) > p_sys->i_toappend_buffer = 0; You will have some "problems" if toappend_buffer reaches toclean_buffer... > } > else > msg_Err( p_aout, "nothing to play?" ); > } > > static void PlayedCallback (SLAndroidSimpleBufferQueueItf caller, void *pContext ) > { > aout_sys_t *p_sys = (aout_sys_t*)pContext; > > assert (caller == p_sys->playerBufferQueue); > > aout_BufferFree( p_sys->p_buffer_array[p_sys->i_toclean_buffer] ); > if( ++p_sys->i_toclean_buffer == BUFF_QUEUE ) > p_sys->i_toclean_buffer = 0; > } > Trailing line. -- R?mi Denis-Courmont http://www.remlab.net/ From jb at videolan.org Wed Jun 1 16:27:28 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Wed, 1 Jun 2011 16:27:28 +0200 Subject: [vlc-devel] [RFC] Android OpenSL ES audio output In-Reply-To: References: <20110601130149.GA11312@videolan.org> Message-ID: <20110601142728.GA26806@videolan.org> On Wed, Jun 01, 2011 at 04:21:25PM +0200, R?mi Denis-Courmont wrote : > OpenSL ES is a standard. As long as this file is Android-specific, it > probably should not be called opensles.c. Otherwise, we are screwed when > someone writes a plain standard OpenSL ES plugin. Indeed. However, I checked with Hugo that with a minimum number of #ifdef in this code, this module should be working on normal OpenSL ES implementations. I had a hard time to find one though. Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From sebastien-devel at celeos.eu Wed Jun 1 16:30:27 2011 From: sebastien-devel at celeos.eu (=?ISO-8859-1?Q?S=E9bastien?= Escudier) Date: Wed, 01 Jun 2011 16:30:27 +0200 Subject: [vlc-devel] RTSP trickplay - libvlc_media_player_set_rate support for fast forward/rewind In-Reply-To: References: <20110529090757.GA6384@elivagar.org> <1306847636.1802.19.camel@stim-desktop> <1306928048.8039.5.camel@stim-desktop> Message-ID: <1306938627.8039.14.camel@stim-desktop> On Wed, 2011-06-01 at 14:29 +0100, Nuno Mota wrote: > However there's a big problem when you set rate 0. VLC understood a > rate of -31!!! The input checks for <= 0 rate at startup but not in INPUT_CONTROL_SET_RATE. I opened a ticked for this : http://trac.videolan.org/vlc/ticket/4861 > The problem you mentioned in the forum is kind of a big fail (yes i'm > mundu :). When fast rewinding the time gets stuck and then it doesn't > update. If you press play it will only start from the time you issued > the setRate(negative), and not at the time where I pressed play again. > Do you know where vlc actually updates its time? There are several issues with rtsp and time update. In fact the time will always update at 1x speed. That's because rtsp servers re-calculate timestamps, and vlc thinks it receives the pictures at 1x speed. Time update is based on timestamps From jb at videolan.org Wed Jun 1 16:47:34 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Wed, 1 Jun 2011 16:47:34 +0200 Subject: [vlc-devel] [RFO] Android configure detection Message-ID: <20110601144734.GA780@videolan.org> Hey, This is a Request For Opinion about the Android detection in configure. This means, that I am far from sure that this is the best idea, but I wanted a bit of feedback. Android is a linux, so I believe (but might be wrong) that SYS should still be linux. So I declare a HAVE_ flag depending on the presence of the compiler defines. This might be wrong, so please give me ideas. Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device -------------- next part -------------- A non-text attachment was scrubbed... Name: 0001-Detect-Android-in-configure.patch Type: text/x-diff Size: 1071 bytes Desc: not available URL: From jb at videolan.org Wed Jun 1 16:59:22 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Wed, 1 Jun 2011 16:59:22 +0200 Subject: [vlc-devel] [PoC] Android Surface video output Message-ID: <20110601145922.GA3431@videolan.org> Going on with the threads, but with even lower confidence than [RFC] and [RFO], here is a video output using Android::Surface. Same disclaimer as above It does work, even with old devices, but has still some issues. Opinions are welcome :) -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device -------------- next part -------------- A non-text attachment was scrubbed... Name: androidsurface.c Type: text/x-csrc Size: 8143 bytes Desc: not available URL: From remi at remlab.net Wed Jun 1 21:08:19 2011 From: remi at remlab.net (=?iso-8859-15?q?R=E9mi?= Denis-Courmont) Date: Wed, 1 Jun 2011 22:08:19 +0300 Subject: [vlc-devel] [RFO] Android configure detection In-Reply-To: <20110601144734.GA780@videolan.org> References: <20110601144734.GA780@videolan.org> Message-ID: <201106012208.19968.remi@remlab.net> Le mercredi 1 juin 2011 17:47:34 Jean-Baptiste Kempf, vous avez ?crit : > This is a Request For Opinion about the Android detection in configure. > This means, that I am far from sure that this is the best idea, but I > wanted a bit of feedback. PREPROC should be enough for this test. -- R?mi Denis-Courmont http://www.remlab.net/ http://fi.linkedin.com/in/remidenis From remi at remlab.net Wed Jun 1 21:15:04 2011 From: remi at remlab.net (=?iso-8859-15?q?R=E9mi?= Denis-Courmont) Date: Wed, 1 Jun 2011 22:15:04 +0300 Subject: [vlc-devel] [RFO] Android configure detection In-Reply-To: <20110601144734.GA780@videolan.org> References: <20110601144734.GA780@videolan.org> Message-ID: <201106012215.04646.remi@remlab.net> Le mercredi 1 juin 2011 17:47:34 Jean-Baptiste Kempf, vous avez ?crit : > Android is a linux, so I believe (but might be wrong) that SYS should still > be linux. So I declare a HAVE_ flag depending on the presence of the > compiler defines. I would run the test outside (i.e. after) the big case switch for flexibility and readability. You may still use AS_IF([test "$SYS" = linux],...). > This might be wrong, so please give me ideas. I can't think of any cleaner way to determine that in autoconf or in automake. We already do this for Qt4-X11. But please use AC_MSG_... when running tests. -- R?mi Denis-Courmont http://www.remlab.net/ http://fi.linkedin.com/in/remidenis From jb at videolan.org Wed Jun 1 21:17:38 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Wed, 1 Jun 2011 21:17:38 +0200 Subject: [vlc-devel] [RFO] Android configure detection In-Reply-To: <201106012215.04646.remi@remlab.net> References: <20110601144734.GA780@videolan.org> <201106012215.04646.remi@remlab.net> Message-ID: <20110601191738.GA22491@videolan.org> On Wed, Jun 01, 2011 at 10:15:04PM +0300, R?mi Denis-Courmont wrote : > Le mercredi 1 juin 2011 17:47:34 Jean-Baptiste Kempf, vous avez ?crit : > > Android is a linux, so I believe (but might be wrong) that SYS should still > > be linux. So I declare a HAVE_ flag depending on the presence of the > > compiler defines. > > I would run the test outside (i.e. after) the big case switch for flexibility > and readability. You may still use AS_IF([test "$SYS" = linux],...). OK. Will do. > > This might be wrong, so please give me ideas. > > I can't think of any cleaner way to determine that in autoconf or in automake. > We already do this for Qt4-X11. But please use AC_MSG_... when running tests. OK. I planned to use AC_MSG afterwards, when the general idea was ok. I prefer this way that the way ivoire was using before (and was reverted, IIRC) Will update the patch ASAP. Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From jb at videolan.org Wed Jun 1 21:41:38 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Wed, 1 Jun 2011 21:41:38 +0200 Subject: [vlc-devel] [RFO] Android configure detection In-Reply-To: <20110601144734.GA780@videolan.org> References: <20110601144734.GA780@videolan.org> Message-ID: <20110601194138.GA27174@videolan.org> Hello, On Wed, Jun 01, 2011 at 04:47:34PM +0200, Jean-Baptiste Kempf wrote : > This is a Request For Opinion about the Android detection in configure. > This means, that I am far from sure that this is the best idea, but I > wanted a bit of feedback. 2nd version. --- configure.ac | 17 +++++++++++++++++ 1 files changed, 17 insertions(+), 0 deletions(-) diff --git a/configure.ac b/configure.ac index 036f502..8624498 100644 --- a/configure.ac +++ b/configure.ac @@ -403,6 +403,23 @@ case "${build_os}" in ;; esac +dnl Android is linux, but a bit different +AS_IF([test "$SYS" = linux],[ + AC_MSG_CHECKING([for an Android system]) + AC_PREPROC_IFELSE([AC_LANG_PROGRAM( + [[#ifndef __ANDROID__ + # error Not Android + #endif + ]],[[;]]) + ],[ + HAVE_ANDROID="1" + AC_MSG_RESULT([yes]) + ],[ + AC_MSG_RESULT([no]) + ]) + AM_CONDITIONAL(HAVE_ANDROID, test "${HAVE_ANDROID}" = "1") +]) + dnl dnl Libtool dnl It's very bad, but our former custom system was worst Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From remi at remlab.net Wed Jun 1 22:08:57 2011 From: remi at remlab.net (=?iso-8859-1?q?R=E9mi?= Denis-Courmont) Date: Wed, 1 Jun 2011 23:08:57 +0300 Subject: [vlc-devel] [RFO] Android configure detection In-Reply-To: <20110601194138.GA27174@videolan.org> References: <20110601144734.GA780@videolan.org> <20110601194138.GA27174@videolan.org> Message-ID: <201106012308.58167.remi@remlab.net> Le mercredi 1 juin 2011 22:41:38 Jean-Baptiste Kempf, vous avez ?crit : > Hello, > > On Wed, Jun 01, 2011 at 04:47:34PM +0200, Jean-Baptiste Kempf wrote : > > This is a Request For Opinion about the Android detection in configure. > > This means, that I am far from sure that this is the best idea, but I > > wanted a bit of feedback. > > 2nd version. > > --- > configure.ac | 17 +++++++++++++++++ > 1 files changed, 17 insertions(+), 0 deletions(-) > > diff --git a/configure.ac b/configure.ac > index 036f502..8624498 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -403,6 +403,23 @@ case "${build_os}" in > ;; > esac > > +dnl Android is linux, but a bit different > +AS_IF([test "$SYS" = linux],[ > + AC_MSG_CHECKING([for an Android system]) > + AC_PREPROC_IFELSE([AC_LANG_PROGRAM( > + [[#ifndef __ANDROID__ > + # error Not Android > + #endif > + ]],[[;]]) > + ],[ > + HAVE_ANDROID="1" > + AC_MSG_RESULT([yes]) > + ],[ > + AC_MSG_RESULT([no]) > + ]) > + AM_CONDITIONAL(HAVE_ANDROID, test "${HAVE_ANDROID}" = "1") > +]) I don't think AM_CONDITIONAL is specified inside conditional blocks. -- R?mi Denis-Courmont http://www.remlab.net/ http://fi.linkedin.com/in/remidenis From remi at remlab.net Wed Jun 1 22:25:18 2011 From: remi at remlab.net (=?utf-8?q?R=C3=A9mi?= Denis-Courmont) Date: Wed, 1 Jun 2011 23:25:18 +0300 Subject: [vlc-devel] [PoC] Android Surface video output In-Reply-To: <20110601145922.GA3431@videolan.org> References: <20110601145922.GA3431@videolan.org> Message-ID: <201106012325.18871.remi@remlab.net> Inline. > /***************************************************************************** > * androidsurface.c: android video output using Surface Flinger > ***************************************************************************** > * Copyright ? 2011 VideoLAN Encoding? > * > * Authors: Ming Hu > * Ludovic Fauvet > * > * This library is free software; you can redistribute it and/or > * modify it under the terms of the GNU Lesser General Public License > * as published by the Free Software Foundation; either version 2.1 > * of the License, or (at your option) any later version. > * > * This library 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 Lesser General Public > * License along with this library; if not, write to the Free Software > * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA > ****************************************************************************/ > > #ifdef HAVE_CONFIG_H > # include "config.h" > #endif > > #include > #include > #include > #include > > #include > > #ifndef ANDROID_SYM_S_LOCK > # define ANDROID_SYM_S_LOCK "_ZN7android7Surface4lockEPNS0_11SurfaceInfoEb" > #endif > #ifndef ANDROID_SYM_S_UNLOCK > # define ANDROID_SYM_S_UNLOCK "_ZN7android7Surface13unlockAndPostEv" > #endif Vomitive but apparently unavoidable. > > /***************************************************************************** > * Module descriptor > *****************************************************************************/ > > static int Open (vlc_object_t *); > static void Close(vlc_object_t *); > > vlc_module_begin() > set_category(CAT_VIDEO) > set_subcategory(SUBCAT_VIDEO_VOUT) > set_shortname("AndroidSurface") > set_description(N_("Android Surface video output")) > set_capability("vout display", 250) Not according to the "guidelines" set in 73d27a4e. > add_shortcut("androidsurface", "android") > set_callbacks(Open, Close) > vlc_module_end() > > /***************************************************************************** > * JNI prototypes > *****************************************************************************/ > > void *LockAndGetSurface(); > void UnlockSurface(); > void SetSurfaceSize(int width, int height); > > // _ZN7android7Surface4lockEPNS0_11SurfaceInfoEb > typedef void (*Surface_lock)(void *, void *, int); > // _ZN7android7Surface13unlockAndPostEv > typedef void (*Surface_unlockAndPost)(void *); > > /***************************************************************************** > * Local prototypes > *****************************************************************************/ > > static picture_pool_t *Pool (vout_display_t *, unsigned); > static void Display(vout_display_t *, picture_t *, subpicture_t *); > static int Control(vout_display_t *, int, va_list); > > /* */ > struct vout_display_sys_t { > picture_pool_t *pool; > void *p_library; > > uint32_t sw; > uint32_t sh; > }; > > /* */ > typedef struct _SurfaceInfo { > uint32_t w; > uint32_t h; > uint32_t s; > uint32_t a; > uint32_t b; > uint32_t c; > uint32_t reserved[2]; > } SurfaceInfo; > > static Surface_lock s_lock = NULL; > static Surface_unlockAndPost s_unlockAndPost = NULL; > > #define OPENLIB(SO) \ > p_library = dlopen(SO, RTLD_NOW); \ > if (p_library) { \ > s_lock = (Surface_lock)(dlsym(p_library, ANDROID_SYM_S_LOCK)); \ > s_unlockAndPost = (Surface_unlockAndPost)(dlsym(p_library, ANDROID_SYM_S_UNLOCK)); \ > if (s_lock && s_unlockAndPost) { \ > return p_library; \ > } \ > dlclose(p_library); \ > } > > static void *InitLibrary() { > void *p_library; > OPENLIB("libsurfaceflinger_client.so"); > OPENLIB("libui.so"); > return NULL; > } > > #undef OPENLIB > > static int Open(vlc_object_t *p_this) { > vout_display_t *vd = (vout_display_t *)p_this; > vout_display_sys_t *sys; > SurfaceInfo info; > void *surf; > void *p_library; > > /* */ > p_library = InitLibrary(); > if (!p_library) { > msg_Err(vd, "Could not initialize libui.so/libsurfaceflinger_client.so!"); > return VLC_EGENERIC; > } This is not re-entrant. > > /* Get the geometry of the Android surface */ > surf = LockAndGetSurface(); > if (!surf) { > UnlockSurface(); > dlclose(p_library); > msg_Err(vd, "No surface is attached!"); > return VLC_EGENERIC; > } > s_lock(surf, &info, 1); > s_unlockAndPost(surf); > UnlockSurface(); > > /* Setup chroma */ > const char *chroma_format = "RV32"; > vlc_fourcc_t chroma = vlc_fourcc_GetCodecFromString(VIDEO_ES, chroma_format); I don't see the point of that if chroma is constant. > if (!chroma) { > dlclose(p_library); > msg_Err(vd, "Unsupported chroma format %s", chroma_format); > return VLC_EGENERIC; > } > > video_format_t fmt = vd->fmt; > fmt.i_chroma = chroma; > fmt.i_rmask = 0x000000ff; > fmt.i_gmask = 0x0000ff00; > fmt.i_bmask = 0x00ff0000; > video_format_FixRgb(&fmt); > > /* Allocate structure */ > sys = (struct vout_display_sys_t*) calloc(1, sizeof(*sys)); > if (!sys) { > dlclose(p_library); > return VLC_ENOMEM; > } > sys->p_library = p_library; > > /* Setup vout_display */ > vd->sys = sys; > vd->fmt = fmt; > vd->pool = Pool; > vd->display = Display; > vd->control = Control; > vd->prepare = NULL; > vd->manage = NULL; > > /* Fix initial state */ > vout_display_SendEventFullscreen(vd, false); > vout_display_SendEventDisplaySize(vd, info.w, info.h, false); > > return VLC_SUCCESS; > } > > static void Close(vlc_object_t *p_this) { > vout_display_t *vd = (vout_display_t *)p_this; > vout_display_sys_t *sys = vd->sys; > > if (sys->pool) > picture_pool_Delete(sys->pool); > dlclose(sys->p_library); > free(sys); > } > > static picture_pool_t *Pool(vout_display_t *vd, unsigned count) { > vout_display_sys_t *sys = vd->sys; > > if (!sys->pool) > sys->pool = picture_pool_NewFromFormat(&vd->fmt, count); Does it really make sense to have more than one picture in this case? > return sys->pool; > } > > static void Display(vout_display_t *vd, picture_t *picture, subpicture_t *subpicture) { > VLC_UNUSED(subpicture); > vout_display_sys_t *sys = vd->sys; > SurfaceInfo info; > void *surf; > uint32_t sw, sh; > > if (picture->i_planes != 1) > goto out; I believe this cannot happen. > > //XXX This doesn't handle all cases > sw = picture->p[0].i_visible_pitch / picture->p[0].i_pixel_pitch; > sh = picture->p[0].i_visible_lines; > > surf = LockAndGetSurface(); In principles, this should be done by the picture Lock callback. Otherwise, it would be better in Prepare than in Display, except for "post". > if (likely(surf)) { > s_lock(surf, &info, 1); > > if (sw != sys->sw || sh != sys->sh) { > sys->sw = sw; > sys->sh = sh; > SetSurfaceSize(sw, sh); > } > > if (info.w == sw && info.h == sh) { > memcpy((uint32_t*)(info.s >= info.w ? info.c : info.b), > (uint32_t*)(picture->p[0].p_pixels), > sw * sh * 4); > } > > s_unlockAndPost(surf); > } > UnlockSurface(); > out: > picture_Release(picture); > } > > static int Control(vout_display_t *vd, int query, va_list args) { > VLC_UNUSED(args); > > switch (query) { > case VOUT_DISPLAY_CHANGE_FULLSCREEN: > case VOUT_DISPLAY_CHANGE_WINDOW_STATE: > case VOUT_DISPLAY_CHANGE_DISPLAY_SIZE: > case VOUT_DISPLAY_CHANGE_DISPLAY_FILLED: > case VOUT_DISPLAY_CHANGE_ZOOM: > case VOUT_DISPLAY_CHANGE_SOURCE_ASPECT: > case VOUT_DISPLAY_CHANGE_SOURCE_CROP: > case VOUT_DISPLAY_GET_OPENGL: > return VLC_EGENERIC; > case VOUT_DISPLAY_HIDE_MOUSE: > return VLC_SUCCESS; > default: > msg_Err(vd, "Unknown request in android vout display"); > return VLC_EGENERIC; > } > } -- R?mi Denis-Courmont http://www.remlab.net/ http://fi.linkedin.com/in/remidenis From jb at videolan.org Thu Jun 2 00:17:41 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Thu, 2 Jun 2011 00:17:41 +0200 Subject: [vlc-devel] [PoC] Android Surface video output In-Reply-To: <201106012325.18871.remi@remlab.net> References: <20110601145922.GA3431@videolan.org> <201106012325.18871.remi@remlab.net> Message-ID: <20110601221740.GA25529@videolan.org> On Wed, Jun 01, 2011 at 11:25:18PM +0300, R?mi Denis-Courmont wrote : > Inline. Thx > Encoding? aww... crap /me > > #ifndef ANDROID_SYM_S_LOCK > > # define ANDROID_SYM_S_LOCK "_ZN7android7Surface4lockEPNS0_11SurfaceInfoEb" > > #endif > > #ifndef ANDROID_SYM_S_UNLOCK > > # define ANDROID_SYM_S_UNLOCK "_ZN7android7Surface13unlockAndPostEv" > > #endif > > Vomitive but apparently unavoidable. You are polite :D > > set_capability("vout display", 250) > > Not according to the "guidelines" set in 73d27a4e. Indeed, this is wrong.?? > > if (!p_library) { > > msg_Err(vd, "Could not initialize libui.so/libsurfaceflinger_client.so!"); > > return VLC_EGENERIC; > > } > > This is not re-entrant. ok. > > /* Setup chroma */ > > const char *chroma_format = "RV32"; > > vlc_fourcc_t chroma = vlc_fourcc_GetCodecFromString(VIDEO_ES, chroma_format); > > I don't see the point of that if chroma is constant. Yeah, I asked the same, but as this module might evolve, in the future, this was set like this. I can remove it for now though. > > if (!sys->pool) > > sys->pool = picture_pool_NewFromFormat(&vd->fmt, count); > > Does it really make sense to have more than one picture in this case? I'll let other people answer that one. S?bastien? Ludo? > In principles, this should be done by the picture Lock callback. Otherwise, it would be better in Prepare than in Display, except for "post". Ok. Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From jb at videolan.org Thu Jun 2 00:30:55 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Thu, 2 Jun 2011 00:30:55 +0200 Subject: [vlc-devel] [RFC] Android OpenSL ES audio output In-Reply-To: References: <20110601130149.GA11312@videolan.org> Message-ID: <20110601223055.GA26699@videolan.org> On Wed, Jun 01, 2011 at 04:21:25PM +0200, R?mi Denis-Courmont wrote : > > // set the player's state to playing > > result = (*p_sys->playerPlay)->SetPlayState( p_sys->playerPlay, > > SL_PLAYSTATE_PLAYING ); > > CHECK_OPENSL_ERROR( result, "Failed to switch to play state" ); > > I expect this should be inPlay. I am sorry, I don't understand this comment. Could you enlight me? Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From jb at videolan.org Thu Jun 2 00:33:03 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Thu, 2 Jun 2011 00:33:03 +0200 Subject: [vlc-devel] [RFO] Android configure detection In-Reply-To: <201106012308.58167.remi@remlab.net> References: <20110601144734.GA780@videolan.org> <20110601194138.GA27174@videolan.org> <201106012308.58167.remi@remlab.net> Message-ID: <20110601223303.GB26699@videolan.org> On Wed, Jun 01, 2011 at 11:08:57PM +0300, R?mi Denis-Courmont wrote : > I don't think AM_CONDITIONAL is specified inside conditional blocks. Trying again. --- configure.ac | 17 +++++++++++++++++ 1 files changed, 17 insertions(+), 0 deletions(-) diff --git a/configure.ac b/configure.ac index f5c9ee2..a96b82c 100644 --- a/configure.ac +++ b/configure.ac @@ -403,6 +403,23 @@ case "${build_os}" in ;; esac +dnl Android is linux, but a bit different +AS_IF([test "$SYS" = linux],[ + AC_MSG_CHECKING([for an Android system]) + AC_PREPROC_IFELSE([AC_LANG_PROGRAM( + [[#ifndef __ANDROID__ + # error Not Android + #endif + ]],[[;]]) + ],[ + HAVE_ANDROID="1" + AC_MSG_RESULT([yes]) + ],[ + AC_MSG_RESULT([no]) + ]) +]) +AM_CONDITIONAL(HAVE_ANDROID, test "${HAVE_ANDROID}" = "1") + dnl dnl Libtool dnl It's very bad, but our former custom system was worst -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From linuxmeego at gmail.com Thu Jun 2 05:18:40 2011 From: linuxmeego at gmail.com (W W) Date: Thu, 2 Jun 2011 11:18:40 +0800 Subject: [vlc-devel] Hi guys, Does anyone know there are some plugins can make VLC backend with gstreamer? Message-ID: Hi Guys I want to find a media player application which use Phonon and gstreamer. I know VLC is a good media player.But some one told me that it doesn't use gstreamer. There is any way to make it use gstreamer? Please give me some suggestion. Thanks very much BR Simon -------------- next part -------------- An HTML attachment was scrubbed... URL: From remi at remlab.net Thu Jun 2 09:29:53 2011 From: remi at remlab.net (=?iso-8859-1?q?R=E9mi?= Denis-Courmont) Date: Thu, 2 Jun 2011 10:29:53 +0300 Subject: [vlc-devel] [RFC] Android OpenSL ES audio output In-Reply-To: <20110601223055.GA26699@videolan.org> References: <20110601130149.GA11312@videolan.org> <20110601223055.GA26699@videolan.org> Message-ID: <201106021029.54240.remi@remlab.net> Le jeudi 2 juin 2011 01:30:55 Jean-Baptiste Kempf, vous avez ?crit : > On Wed, Jun 01, 2011 at 04:21:25PM +0200, R?mi Denis-Courmont wrote : > > > // set the player's state to playing > > > result = (*p_sys->playerPlay)->SetPlayState( p_sys->playerPlay, > > > > > > SL_PLAYSTATE_PLAYING ); > > > > > > CHECK_OPENSL_ERROR( result, "Failed to switch to play state" ); > > > > I expect this should be inPlay. > > I am sorry, I don't understand this comment. Could you enlight me? I don't see the point in uncorking while there are no audio samples to be played yet. -- R?mi Denis-Courmont http://www.remlab.net/ http://fi.linkedin.com/in/remidenis From jb at videolan.org Thu Jun 2 11:36:27 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Thu, 2 Jun 2011 11:36:27 +0200 Subject: [vlc-devel] Hi guys, Does anyone know there are some plugins can make VLC backend with gstreamer? In-Reply-To: References: Message-ID: <20110602093627.GA509@videolan.org> On Thu, Jun 02, 2011 at 11:18:40AM +0800, W W wrote : > I want to find a media player application which use Phonon and gstreamer. > I know VLC is a good media player.But some one told me that it doesn't use > gstreamer. > There is any way to make it use gstreamer? No. > Please give me some suggestion. Use Phonon:VLC. Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From mustafakuscu at gmail.com Thu Jun 2 12:48:31 2011 From: mustafakuscu at gmail.com (Mustafa Kuscu) Date: Thu, 2 Jun 2011 13:48:31 +0300 Subject: [vlc-devel] codec/encoding settings request In-Reply-To: <354832.56134.qm@web112402.mail.gq1.yahoo.com> References: <364658.88361.qm@web112416.mail.gq1.yahoo.com> <354832.56134.qm@web112402.mail.gq1.yahoo.com> Message-ID: On Tue, May 31, 2011 at 10:06 PM, Soroush Hassani wrote: > Welcome. It is a mysterious bug that I spent much time looking at debug > log, using various releases, using other OS .. etc till found out that the > problem is with changing the original audio sample rate that VLC seems not > like it. the issue also occurs randomly since some have no problem in audio > sync when changing sample rates. > > Hope developers take a look at the issue. > > And hope this finds its way into the wiki, etc. -- Mustafa -------------- next part -------------- An HTML attachment was scrubbed... URL: From jb at videolan.org Thu Jun 2 14:06:16 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Thu, 2 Jun 2011 14:06:16 +0200 Subject: [vlc-devel] Android patches Message-ID: <1307016378-30317-1-git-send-email-jb@videolan.org> A few more patches from the vlc-android tree, since noone seems to care about merging them... From jb at videolan.org Thu Jun 2 14:06:18 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Thu, 2 Jun 2011 14:06:18 +0200 Subject: [vlc-devel] [PATCH 2/2] Android: Fix src/network/udp.c compilation. In-Reply-To: <1307016378-30317-1-git-send-email-jb@videolan.org> References: <1307016378-30317-1-git-send-email-jb@videolan.org> Message-ID: <1307016378-30317-3-git-send-email-jb@videolan.org> From: R?mi Duraffort Fixed and Modified-by: Jean-Baptiste Kempf Signed-off-by: Jean-Baptiste Kempf --- src/network/udp.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/src/network/udp.c b/src/network/udp.c index 80522af..2b46197 100644 --- a/src/network/udp.c +++ b/src/network/udp.c @@ -375,9 +375,15 @@ net_IPv4Join (vlc_object_t *obj, int fd, { # ifdef IP_ADD_SOURCE_MEMBERSHIP cmd = IP_ADD_SOURCE_MEMBERSHIP; +# ifndef __ANDROID__ opt.gsr4.imr_multiaddr = grp->sin_addr; opt.gsr4.imr_sourceaddr = src->sin_addr; opt.gsr4.imr_interface = id; +# else + opt.gsr4.imr_multiaddr = grp->sin_addr.s_addr; + opt.gsr4.imr_sourceaddr = src->sin_addr.s_addr; + opt.gsr4.imr_interface = id.s_addr; +# endif /* __ANDROID__ */ optlen = sizeof (opt.gsr4); # else errno = ENOSYS; -- 1.7.5.3 From jb at videolan.org Thu Jun 2 14:06:17 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Thu, 2 Jun 2011 14:06:17 +0200 Subject: [vlc-devel] [PATCH 1/2] Android: push messages to the android log system In-Reply-To: <1307016378-30317-1-git-send-email-jb@videolan.org> References: <1307016378-30317-1-git-send-email-jb@videolan.org> Message-ID: <1307016378-30317-2-git-send-email-jb@videolan.org> This is a port of the commit from R?mi Duraffort, that is now totally incompatible. Signed-off-by: Jean-Baptiste Kempf --- src/misc/messages.c | 19 ++++++++++++++++++- 1 files changed, 18 insertions(+), 1 deletions(-) diff --git a/src/misc/messages.c b/src/misc/messages.c index 188d763..4e134e8 100644 --- a/src/misc/messages.c +++ b/src/misc/messages.c @@ -434,6 +434,11 @@ static void PrintMsg ( vlc_object_t *p_this, const msg_item_t *p_item ) # define GRAY "\033[0m" static const char msgtype[4][9] = { "", " error", " warning", " debug" }; static const char msgcolor[4][8] = { WHITE, RED, YELLOW, GRAY }; +#ifdef __ANDROID__ +#include + android_LogPriority prioritytype[4] = {ANDROID_LOG_INFO, ANDROID_LOG_ERROR, + ANDROID_LOG_WARN, ANDROID_LOG_DEBUG }; +#endif libvlc_priv_t *priv = libvlc_priv (p_this->p_libvlc); int type = p_item->i_type; @@ -469,8 +474,20 @@ static void PrintMsg ( vlc_object_t *p_this, const msg_item_t *p_item ) fprintf (stream, priv->b_color ? "["GREEN"%p"GRAY"] " : "[%p] ", (void *)p_item->i_object_id); if (p_item->psz_header != NULL) + { +#ifdef __ANDROID__ + __android_log_print (prioritytype[type], "vlc", "[%s] ", p_item->psz_header); +#else utf8_fprintf (stream, "[%s] ", p_item->psz_header); - utf8_fprintf (stream, "%s %s%s: ", p_item->psz_module, objtype, +#endif + } + +#ifdef __ANDROID__ + __android_log_print (prioritytype[type], "vlc", +#else + utf8_fprintf (stream, +#endif + "%s %s%s: ", p_item->psz_module, objtype, msgtype[type]); if (priv->b_color) fputs (msgcolor[type], stream); -- 1.7.5.3 From soroush124 at yahoo.com Thu Jun 2 15:17:24 2011 From: soroush124 at yahoo.com (Soroush Hassani) Date: Thu, 2 Jun 2011 06:17:24 -0700 (PDT) Subject: [vlc-devel] codec/encoding settings request In-Reply-To: References: <364658.88361.qm@web112416.mail.gq1.yahoo.com> <354832.56134.qm@web112402.mail.gq1.yahoo.com> Message-ID: <703675.6406.qm@web112414.mail.gq1.yahoo.com> Now that you do IPTV streaming that may last for long time, please share what you find out about memory leak that get reported occasionally; if you encounter them or, even better, find a solution for it. ________________________________ From: Mustafa Kuscu To: Mailing list for VLC media player developers Sent: Thu, June 2, 2011 3:18:31 PM Subject: Re: [vlc-devel] codec/encoding settings request On Tue, May 31, 2011 at 10:06 PM, Soroush Hassani wrote: Welcome. It is a mysterious bug that I spent much time looking at debug log, using various releases, using other OS .. etc till found out that the problem is with changing the original audio sample rate that VLC seems not like it. the issue also occurs randomly since some have no problem in audio sync when changing sample rates. > > >Hope developers take a look at the issue. > > And hope this finds its way into the wiki, etc. -- Mustafa -------------- next part -------------- An HTML attachment was scrubbed... URL: From remi at remlab.net Thu Jun 2 16:56:10 2011 From: remi at remlab.net (=?utf-8?q?R=C3=A9mi?= Denis-Courmont) Date: Thu, 2 Jun 2011 17:56:10 +0300 Subject: [vlc-devel] [PATCH 2/2] Android: Fix src/network/udp.c compilation. In-Reply-To: <1307016378-30317-3-git-send-email-jb@videolan.org> References: <1307016378-30317-1-git-send-email-jb@videolan.org> <1307016378-30317-3-git-send-email-jb@videolan.org> Message-ID: <201106021756.11815.remi@remlab.net> Le jeudi 2 juin 2011 15:06:18 Jean-Baptiste Kempf, vous avez ?crit : > From: R?mi Duraffort > > Fixed and Modified-by: Jean-Baptiste Kempf > Signed-off-by: Jean-Baptiste Kempf > --- > src/network/udp.c | 6 ++++++ > 1 files changed, 6 insertions(+), 0 deletions(-) > > diff --git a/src/network/udp.c b/src/network/udp.c > index 80522af..2b46197 100644 > --- a/src/network/udp.c > +++ b/src/network/udp.c > @@ -375,9 +375,15 @@ net_IPv4Join (vlc_object_t *obj, int fd, > { > # ifdef IP_ADD_SOURCE_MEMBERSHIP > cmd = IP_ADD_SOURCE_MEMBERSHIP; > +# ifndef __ANDROID__ > opt.gsr4.imr_multiaddr = grp->sin_addr; > opt.gsr4.imr_sourceaddr = src->sin_addr; > opt.gsr4.imr_interface = id; > +# else > + opt.gsr4.imr_multiaddr = grp->sin_addr.s_addr; > + opt.gsr4.imr_sourceaddr = src->sin_addr.s_addr; > + opt.gsr4.imr_interface = id.s_addr; > +# endif /* __ANDROID__ */ > optlen = sizeof (opt.gsr4); This seems to contradict RFC 3678 (and Windows and Linux and every body...). But in any case, I believe this is dead code on Android as on any recent Linux kernel. -- R?mi Denis-Courmont http://www.remlab.net/ http://fi.linkedin.com/in/remidenis From remi at remlab.net Thu Jun 2 17:04:20 2011 From: remi at remlab.net (=?utf-8?q?R=C3=A9mi?= Denis-Courmont) Date: Thu, 2 Jun 2011 18:04:20 +0300 Subject: [vlc-devel] [PATCH 1/2] Android: push messages to the android log system In-Reply-To: <1307016378-30317-2-git-send-email-jb@videolan.org> References: <1307016378-30317-1-git-send-email-jb@videolan.org> <1307016378-30317-2-git-send-email-jb@videolan.org> Message-ID: <201106021804.21194.remi@remlab.net> Le jeudi 2 juin 2011 15:06:17 Jean-Baptiste Kempf, vous avez ?crit : > This is a port of the commit from R?mi Duraffort, that is now totally > incompatible. There is already an internal API to register loggers and it is not #ifdef. -- R?mi Denis-Courmont http://www.remlab.net/ http://fi.linkedin.com/in/remidenis From jb at videolan.org Thu Jun 2 17:33:58 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Thu, 2 Jun 2011 17:33:58 +0200 Subject: [vlc-devel] [PATCH 2/2] Android: Fix src/network/udp.c compilation. In-Reply-To: <201106021756.11815.remi@remlab.net> References: <1307016378-30317-1-git-send-email-jb@videolan.org> <1307016378-30317-3-git-send-email-jb@videolan.org> <201106021756.11815.remi@remlab.net> Message-ID: <20110602153358.GA1970@videolan.org> On Thu, Jun 02, 2011 at 05:56:10PM +0300, R?mi Denis-Courmont wrote : > This seems to contradict RFC 3678 (and Windows and Linux and every body...). lol > But in any case, I believe this is dead code on Android as on any recent Linux > kernel. What do you suggest then? #ifndef __ANDROID__ around this part? Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From jb at videolan.org Thu Jun 2 17:47:48 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Thu, 2 Jun 2011 17:47:48 +0200 Subject: [vlc-devel] compat pthread_cancel Message-ID: <20110602154748.GA4810@videolan.org> Taken from the vlc-android tree, and rebased/merged/fixed, here is the pthread_cancel for compat. Disclaimer: Not my code -------------- next part -------------- A non-text attachment was scrubbed... Name: 0005-Android-add-compatibility-pthread_cancel.patch Type: text/x-diff Size: 14529 bytes Desc: not available URL: From remi at remlab.net Thu Jun 2 17:58:57 2011 From: remi at remlab.net (=?iso-8859-15?q?R=E9mi?= Denis-Courmont) Date: Thu, 2 Jun 2011 18:58:57 +0300 Subject: [vlc-devel] compat pthread_cancel In-Reply-To: <20110602154748.GA4810@videolan.org> References: <20110602154748.GA4810@videolan.org> Message-ID: <201106021858.58149.remi@remlab.net> Le jeudi 2 juin 2011 18:47:48 Jean-Baptiste Kempf, vous avez ?crit : > Taken from the vlc-android tree, and rebased/merged/fixed, here is the > pthread_cancel for compat. This seems to interfere with Win32. And then, either this whole thing makes no sense or it relies on super-POSIX properties of Android libc that I don't know and thus cannot review. -- R?mi Denis-Courmont http://www.remlab.net/ http://fi.linkedin.com/in/remidenis From jb at videolan.org Thu Jun 2 18:03:03 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Thu, 2 Jun 2011 18:03:03 +0200 Subject: [vlc-devel] compat pthread_cancel In-Reply-To: <201106021858.58149.remi@remlab.net> References: <20110602154748.GA4810@videolan.org> <201106021858.58149.remi@remlab.net> Message-ID: <20110602160303.GA7083@videolan.org> On Thu, Jun 02, 2011 at 06:58:57PM +0300, R?mi Denis-Courmont wrote : > Le jeudi 2 juin 2011 18:47:48 Jean-Baptiste Kempf, vous avez ?crit : > > Taken from the vlc-android tree, and rebased/merged/fixed, here is the > > pthread_cancel for compat. > > This seems to interfere with Win32. Hmm... Ok, easy to fix in configure.ac. Will do. > And then, either this whole thing makes no sense or it relies on super-POSIX > properties of Android libc that I don't know and thus cannot review. Arf... What parts seem dubious? Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From remi at remlab.net Thu Jun 2 18:13:59 2011 From: remi at remlab.net (=?iso-8859-1?q?R=E9mi?= Denis-Courmont) Date: Thu, 2 Jun 2011 19:13:59 +0300 Subject: [vlc-devel] compat pthread_cancel In-Reply-To: <20110602160303.GA7083@videolan.org> References: <20110602154748.GA4810@videolan.org> <201106021858.58149.remi@remlab.net> <20110602160303.GA7083@videolan.org> Message-ID: <201106021914.00187.remi@remlab.net> Le jeudi 2 juin 2011 19:03:03 Jean-Baptiste Kempf, vous avez ?crit : > On Thu, Jun 02, 2011 at 06:58:57PM +0300, R?mi Denis-Courmont wrote : > > Le jeudi 2 juin 2011 18:47:48 Jean-Baptiste Kempf, vous avez ?crit : > > > Taken from the vlc-android tree, and rebased/merged/fixed, here is the > > > pthread_cancel for compat. > > > > This seems to interfere with Win32. > > Hmm... Ok, easy to fix in configure.ac. Will do. > > > And then, either this whole thing makes no sense or it relies on > > super-POSIX properties of Android libc that I don't know and thus cannot > > review. > > Arf... What parts seem dubious? In my world: * Signal handlers are (unfortunately) per-process, not per-thread. * Setting thread keys to zero is pointless. * POSIX thread functions are not async-signal-safe, meaning they are not defined within signal handlers. * pthread_setcancelstate() is not a cancellation point. I also don't understand where cancellation cleanup handlers (vlc_cleanup_push and friends) are dealt with. -- R?mi Denis-Courmont http://www.remlab.net/ http://fi.linkedin.com/in/remidenis From jb at videolan.org Thu Jun 2 18:30:07 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Thu, 2 Jun 2011 18:30:07 +0200 Subject: [vlc-devel] [PATCH 2/2] Android: Fix src/network/udp.c compilation. In-Reply-To: <201106021756.11815.remi@remlab.net> References: <1307016378-30317-1-git-send-email-jb@videolan.org> <1307016378-30317-3-git-send-email-jb@videolan.org> <201106021756.11815.remi@remlab.net> Message-ID: <20110602163006.GA13458@videolan.org> On Thu, Jun 02, 2011 at 05:56:10PM +0300, R?mi Denis-Courmont wrote : > But in any case, I believe this is dead code on Android as on any recent Linux > kernel. 2nd try then: Subject: Android: Fix src/network/udp.c compilation. --- src/network/udp.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/network/udp.c b/src/network/udp.c index 80522af..2781313 100644 --- a/src/network/udp.c +++ b/src/network/udp.c @@ -373,7 +373,7 @@ net_IPv4Join (vlc_object_t *obj, int fd, memset (&opt, 0, sizeof (opt)); if (src != NULL) { -# ifdef IP_ADD_SOURCE_MEMBERSHIP +# if defined( IP_ADD_SOURCE_MEMBERSHIP ) && !defined( __ANDROID__ ) cmd = IP_ADD_SOURCE_MEMBERSHIP; opt.gsr4.imr_multiaddr = grp->sin_addr; opt.gsr4.imr_sourceaddr = src->sin_addr; -- 1.7.5.3 From ivoire at videolan.org Thu Jun 2 18:32:28 2011 From: ivoire at videolan.org (=?iso-8859-1?Q?R=E9mi?= Duraffort) Date: Thu, 2 Jun 2011 18:32:28 +0200 Subject: [vlc-devel] [PATCH] Add libvlc_media_list_player_retain() to libvlc. In-Reply-To: <4DE4FC2B.9040908@alexeysokolov.co.cc> References: <4DE4AEB0.1010807@alexeysokolov.co.cc> <4DE4C0F2.2080508@alexeysokolov.co.cc> <4DE4FC2B.9040908@alexeysokolov.co.cc> Message-ID: <20110602163228.GM25260@dinauz.org> Hi, > Well, it's up to people who uses libvlc. > player_t has i_refcount field anyway, the patch just makes it more useful. > > If making a feature is cheap and doesn't break anything, I don't see the > reason why not to have the feature. > (feature here == possibility to have several "objects" using the same > player) IMHO, the code of libvlc_media_list_player claim to be thread-safe (I re-read it really quickly and it seems to be true at least for the main functions) so using the same media_list_player from 2 differents objects is possible. For the reason of such usage I think that's up to the user and it makes the API more consistent (every refcounted object can be created, retained and released). Regards -- R?mi Duraffort | ivoire http://ivoire.dinauz.org/blog/ From remi at remlab.net Thu Jun 2 21:55:46 2011 From: remi at remlab.net (=?iso-8859-1?q?R=E9mi?= Denis-Courmont) Date: Thu, 2 Jun 2011 22:55:46 +0300 Subject: [vlc-devel] [PATCH 2/2] Android: Fix src/network/udp.c compilation. In-Reply-To: <20110602163006.GA13458@videolan.org> References: <1307016378-30317-1-git-send-email-jb@videolan.org> <201106021756.11815.remi@remlab.net> <20110602163006.GA13458@videolan.org> Message-ID: <201106022255.46347.remi@remlab.net> Le jeudi 2 juin 2011 19:30:07 Jean-Baptiste Kempf, vous avez ?crit : > diff --git a/src/network/udp.c b/src/network/udp.c > index 80522af..2781313 100644 > --- a/src/network/udp.c > +++ b/src/network/udp.c > @@ -373,7 +373,7 @@ net_IPv4Join (vlc_object_t *obj, int fd, > memset (&opt, 0, sizeof (opt)); > if (src != NULL) > { > -# ifdef IP_ADD_SOURCE_MEMBERSHIP > +# if defined( IP_ADD_SOURCE_MEMBERSHIP ) && !defined( __ANDROID__ ) > cmd = IP_ADD_SOURCE_MEMBERSHIP; > opt.gsr4.imr_multiaddr = grp->sin_addr; > opt.gsr4.imr_sourceaddr = src->sin_addr; No objections though we might as well drop the entire function on __linux__. -- R?mi Denis-Courmont http://www.remlab.net/ http://fi.linkedin.com/in/remidenis From remi at remlab.net Thu Jun 2 21:59:54 2011 From: remi at remlab.net (=?iso-8859-15?q?R=E9mi?= Denis-Courmont) Date: Thu, 2 Jun 2011 22:59:54 +0300 Subject: [vlc-devel] Hi guys, Does anyone know there are some plugins can make VLC backend with gstreamer? In-Reply-To: References: Message-ID: <201106022259.55325.remi@remlab.net> Le jeudi 2 juin 2011 06:18:40 W W, vous avez ?crit : > Hi Guys > > I want to find a media player application which use Phonon and gstreamer. > I know VLC is a good media player.But some one told me that it doesn't use > gstreamer. What do you mean by good? Do you mean it plays better than other players and which ones? VLC has its own media streaming engine which is probably why it feels better to you than if it were using gstreamer. So it seems your request is a bit self-contradictory. > There is any way to make it use gstreamer? If you really wanted to do that, you'd have to write a massive multipurpose VLC plugin to use the gstreamer. If at all possible. This is probably several man-years worth of effort for dubious benefit. -- R?mi Denis-Courmont http://www.remlab.net/ http://fi.linkedin.com/in/remidenis From jb at videolan.org Thu Jun 2 23:31:08 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Thu, 2 Jun 2011 23:31:08 +0200 Subject: [vlc-devel] [PATCH 2/2] Android: Fix src/network/udp.c compilation. In-Reply-To: <201106022255.46347.remi@remlab.net> References: <1307016378-30317-1-git-send-email-jb@videolan.org> <201106021756.11815.remi@remlab.net> <20110602163006.GA13458@videolan.org> <201106022255.46347.remi@remlab.net> Message-ID: <20110602213108.GA6720@videolan.org> On Thu, Jun 02, 2011 at 10:55:46PM +0300, R?mi Denis-Courmont wrote : > No objections though we might as well drop the entire function on __linux__. OK. But that is a business for later on, as far as I am concerned. Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From jb at videolan.org Fri Jun 3 02:04:09 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Fri, 3 Jun 2011 02:04:09 +0200 Subject: [vlc-devel] Android patches In-Reply-To: <1307016378-30317-1-git-send-email-jb@videolan.org> References: <1307016378-30317-1-git-send-email-jb@videolan.org> Message-ID: <20110603000408.GA5072@videolan.org> On Thu, Jun 02, 2011 at 02:06:16PM +0200, Jean-Baptiste Kempf wrote : > A few more patches from the vlc-android tree, since noone seems to care > about merging them... Going on, in the hope that this will make the project go on... Android doesn't have a working poll, so here is some code. Hoping this makes a little of sense --- From: Dominique Martinet --- include/vlc_fixups.h | 2 +- src/network/poll.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+), 1 deletions(-) diff --git a/include/vlc_fixups.h b/include/vlc_fixups.h index 63fcb20..6040cd8 100644 --- a/include/vlc_fixups.h +++ b/include/vlc_fixups.h @@ -272,7 +272,7 @@ struct pollfd }; # define poll(a, b, c) vlc_poll(a, b, c) -#elif defined (HAVE_MAEMO) +#elif defined (HAVE_MAEMO) || defined (__ANDROID__) # include # define poll(a, b, c) vlc_poll(a, b, c) int vlc_poll (struct pollfd *, unsigned, int); diff --git a/src/network/poll.c b/src/network/poll.c index c1ca900..c87ab1f 100644 --- a/src/network/poll.c +++ b/src/network/poll.c @@ -60,6 +60,77 @@ int vlc_poll (struct pollfd *fds, unsigned nfds, int timeout) return ret; } +#elif defined (__ANDROID__) + +#include + +int vlc_poll(struct pollfd *fds, nfds_t numfds, int timeout) +{ + + /* On Android, an interruption (any signal) will cancel a call to poll, + * setting errno to EINTR. As a consequence, no need to do anything special + * to cancel poll(). + * Since the cancellation mechanism should call pthread_exit() we just + * need to make sure this thread is not cancellable now. + */ + int canc = vlc_savecancel (); + + fd_set read_set; + fd_set write_set; + fd_set exception_set; + nfds_t i; + int n; + int rc; + + FD_ZERO(&read_set); + FD_ZERO(&write_set); + FD_ZERO(&exception_set); + n = -1; + for (i = 0; i < numfds; i++) + { + if (fds[i].fd < 0) + continue; + if (fds[i].fd >= FD_SETSIZE) { + errno = EINVAL; + return -1; + } + if (fds[i].events & POLLIN) FD_SET(fds[i].fd, &read_set); + if (fds[i].events & POLLOUT) FD_SET(fds[i].fd, &write_set); + if (fds[i].events & POLLERR) FD_SET(fds[i].fd, &exception_set); + + if (fds[i].fd > n) + n = fds[i].fd; + }; + if (n == -1) + /* Hey!? Nothing to poll, in fact!!! */ + return 0; + + if (timeout < 0) + rc = select(n+1, &read_set, &write_set, &exception_set, NULL); + else + { + struct timeval tv; + + tv.tv_sec = timeout / 1000; + tv.tv_usec = 1000 * (timeout % 1000); + rc = select(n+1, &read_set, &write_set, &exception_set, &tv); + } + if (rc < 0) + return rc; + for (i = 0; i < numfds; i++) + { + fds[i].revents = 0; + if (FD_ISSET(fds[i].fd, &read_set)) fds[i].revents |= POLLIN; + if (FD_ISSET(fds[i].fd, &write_set)) fds[i].revents |= POLLOUT; + if (FD_ISSET(fds[i].fd, &exception_set)) fds[i].revents |= POLLERR; + } + + vlc_restorecancel (canc); + vlc_testcancel (); + + return rc; +} + #elif defined (HAVE_POLL) # include -- 1.7.5.3 From jb at videolan.org Fri Jun 3 02:06:33 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Fri, 3 Jun 2011 02:06:33 +0200 Subject: [vlc-devel] Android patches In-Reply-To: <1307016378-30317-1-git-send-email-jb@videolan.org> References: <1307016378-30317-1-git-send-email-jb@videolan.org> Message-ID: <20110603000633.GB5072@videolan.org> On Thu, Jun 02, 2011 at 02:06:16PM +0200, Jean-Baptiste Kempf wrote : > A few more patches from the vlc-android tree, since noone seems to care > about merging them... And again, the last one for the series. pthread_rwlock_* functions are defined in the headers, but are absent from the ndk .so. I don't get what is the reasoning of that, so here is some code from bionic, that should fix it. Hope it make at least a bit of sense. --- src/Makefile.am | 6 + src/posix/android_specific.c | 361 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 367 insertions(+), 0 deletions(-) create mode 100644 src/posix/android_specific.c diff --git a/src/Makefile.am b/src/Makefile.am index 6fe8f67..d3851af 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -292,6 +292,12 @@ SOURCES_libvlc_linux = \ posix/linux_specific.c \ $(NULL) +if HAVE_ANDROID +SOURCES_libvlc_linux += \ + posix/android_specific.c \ + $(NULL) +endif + SOURCES_libvlc_win32 = \ win32/dirs.c \ win32/atomic.c \ diff --git a/src/posix/android_specific.c b/src/posix/android_specific.c new file mode 100644 index 0000000..90039c9 --- /dev/null +++ b/src/posix/android_specific.c @@ -0,0 +1,361 @@ +/* + * Copyright (C) 2010 The Android Open Source Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include + +typedef struct pthread_internal_t +{ + struct pthread_internal_t* next; + struct pthread_internal_t** pref; + pthread_attr_t attr; + pid_t kernel_id; + pthread_cond_t join_cond; + int join_count; + void* return_value; + int intern; + __pthread_cleanup_t* cleanup_stack; + void** tls; /* thread-local storage area */ +} pthread_internal_t; + +/* Technical note: + * + * Possible states of a read/write lock: + * + * - no readers and no writer (unlocked) + * - one or more readers sharing the lock at the same time (read-locked) + * - one writer holding the lock (write-lock) + * + * Additionally: + * - trying to get the write-lock while there are any readers blocks + * - trying to get the read-lock while there is a writer blocks + * - a single thread can acquire the lock multiple times in the same mode + * + * - Posix states that behaviour is undefined it a thread tries to acquire + * the lock in two distinct modes (e.g. write after read, or read after write). + * + * - This implementation tries to avoid writer starvation by making the readers + * block as soon as there is a waiting writer on the lock. However, it cannot + * completely eliminate it: each time the lock is unlocked, all waiting threads + * are woken and battle for it, which one gets it depends on the kernel scheduler + * and is semi-random. + * + */ + +#define __likely(cond) __builtin_expect(!!(cond), 1) +#define __unlikely(cond) __builtin_expect(!!(cond), 0) + +#define RWLOCKATTR_DEFAULT 0 +#define RWLOCKATTR_SHARED_MASK 0x0010 + +extern pthread_internal_t* __get_thread(void); + +/* Return a global kernel ID for the current thread */ +static int __get_thread_id(void) +{ + return __get_thread()->kernel_id; +} + +int pthread_rwlockattr_init(pthread_rwlockattr_t *attr) +{ + if (!attr) + return EINVAL; + + *attr = PTHREAD_PROCESS_PRIVATE; + return 0; +} + +int pthread_rwlockattr_destroy(pthread_rwlockattr_t *attr) +{ + if (!attr) + return EINVAL; + + *attr = -1; + return 0; +} + +int pthread_rwlockattr_setpshared(pthread_rwlockattr_t *attr, int pshared) +{ + if (!attr) + return EINVAL; + + switch (pshared) { + case PTHREAD_PROCESS_PRIVATE: + case PTHREAD_PROCESS_SHARED: + *attr = pshared; + return 0; + default: + return EINVAL; + } +} + +int pthread_rwlockattr_getpshared(pthread_rwlockattr_t *attr, int *pshared) +{ + if (!attr || !pshared) + return EINVAL; + + *pshared = *attr; + return 0; +} + +int pthread_rwlock_init(pthread_rwlock_t *rwlock, const pthread_rwlockattr_t *attr) +{ + pthread_mutexattr_t* lock_attr = NULL; + pthread_condattr_t* cond_attr = NULL; + pthread_mutexattr_t lock_attr0; + pthread_condattr_t cond_attr0; + int ret; + + if (rwlock == NULL) + return EINVAL; + + if (attr && *attr == PTHREAD_PROCESS_SHARED) { + lock_attr = &lock_attr0; + pthread_mutexattr_init(lock_attr); + pthread_mutexattr_setpshared(lock_attr, PTHREAD_PROCESS_SHARED); + + cond_attr = &cond_attr0; + pthread_condattr_init(cond_attr); + pthread_condattr_setpshared(cond_attr, PTHREAD_PROCESS_SHARED); + } + + ret = pthread_mutex_init(&rwlock->lock, lock_attr); + if (ret != 0) + return ret; + + ret = pthread_cond_init(&rwlock->cond, cond_attr); + if (ret != 0) { + pthread_mutex_destroy(&rwlock->lock); + return ret; + } + + rwlock->numLocks = 0; + rwlock->pendingReaders = 0; + rwlock->pendingWriters = 0; + rwlock->writerThreadId = 0; + + return 0; +} + +int pthread_rwlock_destroy(pthread_rwlock_t *rwlock) +{ + int ret = 0; + + if (rwlock == NULL) + return EINVAL; + + if (rwlock->numLocks > 0) + return EBUSY; + + pthread_cond_destroy(&rwlock->cond); + pthread_mutex_destroy(&rwlock->lock); + return ret; +} + +/* Returns TRUE iff we can acquire a read lock. */ +static __inline__ int read_precondition(pthread_rwlock_t *rwlock, int thread_id) +{ + /* We can't have the lock if any writer is waiting for it (writer bias). + * This tries to avoid starvation when there are multiple readers racing. + */ + if (rwlock->pendingWriters > 0) + return 0; + + /* We can have the lock if there is no writer, or if we write-own it */ + /* The second test avoids a self-dead lock in case of buggy code. */ + if (rwlock->writerThreadId == 0 || rwlock->writerThreadId == thread_id) + return 1; + + /* Otherwise, we can't have it */ + return 0; +} + +/* returns TRUE iff we can acquire a write lock. */ +static __inline__ int write_precondition(pthread_rwlock_t *rwlock, int thread_id) +{ + /* We can get the lock if nobody has it */ + if (rwlock->numLocks == 0) + return 1; + + /* Or if we already own it */ + if (rwlock->writerThreadId == thread_id) + return 1; + + /* Otherwise, not */ + return 0; +} + +/* This function is used to waken any waiting thread contending + * for the lock. One of them should be able to grab it after + * that. + */ +static void _pthread_rwlock_pulse(pthread_rwlock_t *rwlock) +{ + if (rwlock->pendingReaders > 0 || rwlock->pendingWriters > 0) + pthread_cond_broadcast(&rwlock->cond); +} + + +int pthread_rwlock_rdlock(pthread_rwlock_t *rwlock) +{ + return pthread_rwlock_timedrdlock(rwlock, NULL); +} + +int pthread_rwlock_tryrdlock(pthread_rwlock_t *rwlock) +{ + int ret = 0; + + if (rwlock == NULL) + return EINVAL; + + pthread_mutex_lock(&rwlock->lock); + if (__unlikely(!read_precondition(rwlock, __get_thread_id()))) + ret = EBUSY; + else + rwlock->numLocks ++; + pthread_mutex_unlock(&rwlock->lock); + + return ret; +} + +int pthread_rwlock_timedrdlock(pthread_rwlock_t *rwlock, const struct timespec *abs_timeout) +{ + int thread_id, ret = 0; + + if (rwlock == NULL) + return EINVAL; + + pthread_mutex_lock(&rwlock->lock); + thread_id = __get_thread_id(); + if (__unlikely(!read_precondition(rwlock, thread_id))) { + rwlock->pendingReaders += 1; + do { + ret = pthread_cond_timedwait(&rwlock->cond, &rwlock->lock, abs_timeout); + } while (ret == 0 && !read_precondition(rwlock, thread_id)); + rwlock->pendingReaders -= 1; + if (ret != 0) + goto EXIT; + } + rwlock->numLocks ++; +EXIT: + pthread_mutex_unlock(&rwlock->lock); + return ret; +} + + +int pthread_rwlock_wrlock(pthread_rwlock_t *rwlock) +{ + return pthread_rwlock_timedwrlock(rwlock, NULL); +} + +int pthread_rwlock_trywrlock(pthread_rwlock_t *rwlock) +{ + int thread_id, ret = 0; + + if (rwlock == NULL) + return EINVAL; + + pthread_mutex_lock(&rwlock->lock); + thread_id = __get_thread_id(); + if (__unlikely(!write_precondition(rwlock, thread_id))) { + ret = EBUSY; + } else { + rwlock->numLocks ++; + rwlock->writerThreadId = thread_id; + } + pthread_mutex_unlock(&rwlock->lock); + return ret; +} + +int pthread_rwlock_timedwrlock(pthread_rwlock_t *rwlock, const struct timespec *abs_timeout) +{ + int thread_id, ret = 0; + + if (rwlock == NULL) + return EINVAL; + + pthread_mutex_lock(&rwlock->lock); + thread_id = __get_thread_id(); + if (__unlikely(!write_precondition(rwlock, thread_id))) { + /* If we can't read yet, wait until the rwlock is unlocked + * and try again. Increment pendingReaders to get the + * cond broadcast when that happens. + */ + rwlock->pendingWriters += 1; + do { + ret = pthread_cond_timedwait(&rwlock->cond, &rwlock->lock, abs_timeout); + } while (ret == 0 && !write_precondition(rwlock, thread_id)); + rwlock->pendingWriters -= 1; + if (ret != 0) + goto EXIT; + } + rwlock->numLocks ++; + rwlock->writerThreadId = thread_id; +EXIT: + pthread_mutex_unlock(&rwlock->lock); + return ret; +} + + +int pthread_rwlock_unlock(pthread_rwlock_t *rwlock) +{ + int ret = 0; + + if (rwlock == NULL) + return EINVAL; + + pthread_mutex_lock(&rwlock->lock); + + /* The lock must be held */ + if (rwlock->numLocks == 0) { + ret = EPERM; + goto EXIT; + } + + /* If it has only readers, writerThreadId is 0 */ + if (rwlock->writerThreadId == 0) { + if (--rwlock->numLocks == 0) + _pthread_rwlock_pulse(rwlock); + } + /* Otherwise, it has only a single writer, which + * must be ourselves. + */ + else { + if (rwlock->writerThreadId != __get_thread_id()) { + ret = EPERM; + goto EXIT; + } + if (--rwlock->numLocks == 0) { + rwlock->writerThreadId = 0; + _pthread_rwlock_pulse(rwlock); + } + } +EXIT: + pthread_mutex_unlock(&rwlock->lock); + return ret; +} -- 1.7.5.3 From asmadeus at codewreck.org Fri Jun 3 03:52:55 2011 From: asmadeus at codewreck.org (Dominique Martinet) Date: Fri, 3 Jun 2011 10:52:55 +0900 Subject: [vlc-devel] Android patches In-Reply-To: <20110603000408.GA5072@videolan.org> References: <1307016378-30317-1-git-send-email-jb@videolan.org> <20110603000408.GA5072@videolan.org> Message-ID: <20110603015255.GA28901@nautica> Hi, I don't know why it's said to come to come from me (probably my fault because I moved it or changed the #if or something), but this is mostly the poll function from ffmpeg/libavformat/os_support.c (under LGPL) that wowdd1 (developergf at gmail.com) suggested. I don't know if there is any issue with the license stuff, but this might as well have his name (and maybe say somewhere it's a ripoff, though I don't know the policy here). That being said, android does have a poll function and I have no idea why it wouldn't work, but I can confirm it doesn't and that this seems to fix it, so... -- Asmadeus | Dominique From barletz at gmail.com Fri Jun 3 09:24:42 2011 From: barletz at gmail.com (Tomer Barletz) Date: Fri, 3 Jun 2011 00:24:42 -0700 Subject: [vlc-devel] [PATCH 1/3] Added VLC_CODEC_EBU_STL. Message-ID: <1307085884-11842-1-git-send-email-barletz@gmail.com> From: Laurent Aimar --- include/vlc_fourcc.h | 2 ++ src/misc/fourcc.c | 3 +++ 2 files changed, 5 insertions(+), 0 deletions(-) diff --git a/include/vlc_fourcc.h b/include/vlc_fourcc.h index d6d50a1..c4631fc 100644 --- a/include/vlc_fourcc.h +++ b/include/vlc_fourcc.h @@ -309,6 +309,8 @@ #define VLC_CODEC_CVD VLC_FOURCC('c','v','d',' ') /* Blu-ray Presentation Graphics */ #define VLC_CODEC_BD_PG VLC_FOURCC('b','d','p','g') +/* EBU STL (TECH. 3264-E) */ +#define VLC_CODEC_EBU_STL VLC_FOURCC('S','T','L',' ') /* Special endian dependant values diff --git a/src/misc/fourcc.c b/src/misc/fourcc.c index 392621d..9048722 100644 --- a/src/misc/fourcc.c +++ b/src/misc/fourcc.c @@ -1196,6 +1196,9 @@ static const entry_t p_list_spu[] = { B(VLC_CODEC_BD_PG, "BD subtitles"), A("bdpg"), + B(VLC_CODEC_EBU_STL, "EBU STL subtitles"), + A("STL "), + B(0, "") }; -- 1.7.4.1 From barletz at gmail.com Fri Jun 3 09:24:43 2011 From: barletz at gmail.com (Tomer Barletz) Date: Fri, 3 Jun 2011 00:24:43 -0700 Subject: [vlc-devel] [PATCH 2/3] Added STL demuxer/decoder. In-Reply-To: <1307085884-11842-1-git-send-email-barletz@gmail.com> References: <1307085884-11842-1-git-send-email-barletz@gmail.com> Message-ID: <1307085884-11842-2-git-send-email-barletz@gmail.com> From: Laurent Aimar --- modules/codec/Modules.am | 2 + modules/codec/stl.c | 175 +++++++++++++++++++++++++++++++++ modules/demux/Modules.am | 2 + modules/demux/stl.c | 242 ++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 421 insertions(+), 0 deletions(-) create mode 100644 modules/codec/stl.c create mode 100644 modules/demux/stl.c diff --git a/modules/codec/Modules.am b/modules/codec/Modules.am index 8dff8b7..5e35eda 100644 --- a/modules/codec/Modules.am +++ b/modules/codec/Modules.am @@ -37,6 +37,7 @@ SOURCES_subsdec = subsdec.c substext.h SOURCES_subsusf = subsusf.c SOURCES_t140 = t140.c SOURCES_crystalhd = crystalhd.c +SOURCES_stl = stl.c libvlc_LTLIBRARIES += \ liba52_plugin.la \ @@ -55,4 +56,5 @@ libvlc_LTLIBRARIES += \ libsubsdec_plugin.la \ libsubsusf_plugin.la \ libt140_plugin.la \ + libstl_plugin.la \ $(NULL) diff --git a/modules/codec/stl.c b/modules/codec/stl.c new file mode 100644 index 0000000..5113854 --- /dev/null +++ b/modules/codec/stl.c @@ -0,0 +1,175 @@ +/***************************************************************************** + * stl.c: EBU STL decoder + ***************************************************************************** + * Copyright (C) 2010 Laurent Aimar + * $Id$ + * + * Authors: Laurent Aimar + * + * 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 + *****************************************************************************/ +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif +#include + +#include +#include +#include +#include + +/***************************************************************************** + * Module descriptor + *****************************************************************************/ +static int Open (vlc_object_t *); +static void Close(vlc_object_t *); + +vlc_module_begin() + set_description(N_("EBU STL subtitles decoder")) + set_category(CAT_INPUT) + set_subcategory(SUBCAT_INPUT_SCODEC) + set_capability("decoder", 10) + set_callbacks(Open, Close) +vlc_module_end() + +/***************************************************************************** + * Local definitions/prototypes + *****************************************************************************/ +struct decoder_sys_t { + int dummy; +}; + +static char *ParseText(uint8_t *data, int size) +{ + char *text = strdup(""); + int text_size = 0; + + for (int i = 0; i < size; i++) { + uint8_t code = data[i]; + + if (code == 0x8f) + break; + + char tmp[16] = ""; + char *t = tmp; + if (code >= 0x20 && code <= 0x7f) + snprintf(tmp, sizeof(tmp), "%c", code); +#if 0 + else if (code == 0x80) + snprintf(tmp, sizeof(tmp), ""); + else if (code == 0x81) + snprintf(tmp, sizeof(tmp), ""); + else if (code == 0x82) + snprintf(tmp, sizeof(tmp), ""); + else if (code == 0x83) + snprintf(tmp, sizeof(tmp), ""); +#endif + else if (code == 0x8a) + snprintf(tmp, sizeof(tmp), "\n"); + else { + fprintf(stderr, "--> %2.2x\n", code); + t = NULL; + } + + if (!t) + continue; + size_t t_size = strlen(t); + text = realloc_or_free(text, t_size + text_size + 1); + if (!text) + continue; + memcpy(&text[text_size], t, t_size); + text_size += t_size; + text[text_size] = '\0'; + } + return text; +} + +static subpicture_t *Decode(decoder_t *dec, block_t **block) +{ + if (block == NULL || *block == NULL) + return NULL; + + subpicture_t *sub = NULL; + + block_t *b = *block; *block = NULL; + if (b->i_flags & (BLOCK_FLAG_DISCONTINUITY|BLOCK_FLAG_CORRUPTED)) + goto exit; + if (b->i_buffer < 128) + goto exit; + + int payload_size = (b->i_buffer / 128) * 112; + uint8_t *payload = malloc(payload_size); + if (!payload) + goto exit; + for (int i = 0; i < b->i_buffer / 128; i++) + memcpy(&payload[112 * i], &b->p_buffer[128 * i + 16], 112); + + sub = decoder_NewSubpicture(dec, NULL); + if (!sub) { + free(payload); + goto exit; + } + sub->i_start = b->i_pts; + sub->i_stop = b->i_pts + b->i_length; + sub->b_ephemer = b->i_length == 0; + sub->b_absolute = false; + //sub->i_original_picture_width = 0; + //sub->i_original_picture_height = 0; + + video_format_t fmt; + video_format_Init(&fmt, VLC_CODEC_TEXT); + sub->p_region = subpicture_region_New(&fmt); + video_format_Clean(&fmt); + + if (sub->p_region) { + sub->p_region->psz_text = ParseText(payload, payload_size); + sub->p_region->psz_html = NULL; + } + + free(payload); + +exit: + block_Release(b); + return sub; +} + +static int Open(vlc_object_t *object) +{ + decoder_t *dec = (decoder_t*)object; + + if (dec->fmt_in.i_codec != VLC_CODEC_EBU_STL) + return VLC_EGENERIC; + + decoder_sys_t *sys = malloc(sizeof(*sys)); + + dec->p_sys = sys; + dec->pf_decode_sub = Decode; + dec->fmt_out.i_cat = SPU_ES; + dec->fmt_out.i_codec = 0; + return VLC_SUCCESS; +} + +static void Close(vlc_object_t *object) +{ + decoder_t *dec = (decoder_t*)object; + decoder_sys_t *sys = dec->p_sys; + + free(sys); +} + diff --git a/modules/demux/Modules.am b/modules/demux/Modules.am index c17947c..eae4be9 100644 --- a/modules/demux/Modules.am +++ b/modules/demux/Modules.am @@ -32,6 +32,7 @@ SOURCES_gme = gme.c dummy.cpp SOURCES_sid = sid.cpp SOURCES_dirac = dirac.c SOURCES_image = image.c +SOURCES_demux_stl = stl.c libvlc_LTLIBRARIES += \ libaiff_plugin.la \ @@ -60,6 +61,7 @@ libvlc_LTLIBRARIES += \ libwav_plugin.la \ libxa_plugin.la \ libimage_plugin.la \ + libdemux_stl_plugin.la \ $(NULL) libts_plugin_la_SOURCES = ts.c ../mux/mpeg/csa.c dvb-text.h diff --git a/modules/demux/stl.c b/modules/demux/stl.c new file mode 100644 index 0000000..3b6c7dd --- /dev/null +++ b/modules/demux/stl.c @@ -0,0 +1,242 @@ +/***************************************************************************** + * stl.c: EBU STL demuxer + ***************************************************************************** + * Copyright (C) 2010 Laurent Aimar + * $Id$ + * + * Authors: Laurent Aimar + * + * 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 + *****************************************************************************/ +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif +#include + +#include +#include +#include + +/***************************************************************************** + * Module descriptor + *****************************************************************************/ +static int Open (vlc_object_t *); +static void Close(vlc_object_t *); + +vlc_module_begin() + set_description(N_("EBU STL subtitles parser")) + set_category(CAT_INPUT) + set_subcategory(SUBCAT_INPUT_DEMUX) + set_capability("demux", 1) + set_callbacks(Open, Close) + add_shortcut("stl", "subtitle") +vlc_module_end() + +/***************************************************************************** + * Local definitions/prototypes + *****************************************************************************/ +typedef struct { + mtime_t start; + mtime_t stop; + int index; + int count; +} stl_entry_t; + +struct demux_sys_t { + int count; + stl_entry_t *index; + + es_out_id_t *es; + + int current; + int64_t next_date; +}; + +static int ParseInteger(uint8_t *data, int size) +{ + char tmp[16]; + assert(size < sizeof(tmp)); + memcpy(tmp, data, size); + tmp[size] = '\0'; + + return strtol(tmp, NULL, 10); +} +static int64_t ParseTimeCode(uint8_t *data, double fps) +{ + return INT64_C(1000000) * (data[0] * 3600 + + data[1] * 60 + + data[2] * 1 + + data[3] / fps); +} +static int64_t ParseTextTimeCode(uint8_t *data, double fps) +{ + uint8_t tmp[4]; + for (int i = 0; i < 4; i++) + tmp[i] = ParseInteger(&data[2 * i], 2); + return ParseTimeCode(tmp, fps); +} + +static int Control(demux_t *demux, int query, va_list args) +{ + demux_sys_t *sys = demux->p_sys; + switch(query) { + case DEMUX_GET_LENGTH: { + int64_t *l = va_arg(args, int64_t *); + *l = sys->count > 0 ? sys->index[sys->count-1].stop : 0; + return VLC_SUCCESS; + } + case DEMUX_GET_TIME: { + int64_t *t = va_arg(args, int64_t *); + *t = sys->current < sys->count ? sys->index[sys->count-1].start : 0; + return VLC_SUCCESS; + } + case DEMUX_SET_NEXT_DEMUX_TIME: { + sys->next_date = va_arg(args, int64_t); + return VLC_SUCCESS; + } + case DEMUX_SET_TIME: { + int64_t t = va_arg(args, int64_t); + sys->current = 0; + while (sys->current < sys->count) { + if (sys->index[sys->current].stop > t) { + stream_Seek(demux->s, 1024 + 128LL * sys->index[sys->current].index); + break; + } + sys->current++; + } + return VLC_SUCCESS; + } + case DEMUX_SET_POSITION: + case DEMUX_GET_POSITION: + default: + return VLC_EGENERIC; + } +} + +static int Demux(demux_t *demux) +{ + demux_sys_t *sys = demux->p_sys; + + while(sys->current < sys->count) { + stl_entry_t *s = &sys->index[sys->current]; + if (s->start > sys->next_date) + break; + + block_t *b = stream_Block(demux->s, 128 * s->count); + if (b) { + b->i_dts = + b->i_pts = VLC_TS_0 + s->start; + if (s->stop > s->start) + b->i_length = s->stop - s->start; + es_out_Send(demux->out, sys->es, b); + } + sys->current++; + } + return sys->current < sys->count ? 1 : 0; +} + +static int Open(vlc_object_t *object) +{ + demux_t *demux = (demux_t*)object; + + const uint8_t *peek; + if (stream_Peek(demux->s, &peek, 11) != 11) + return VLC_EGENERIC; + + bool is_stl_25 = !memcmp(&peek[3], "STL25.01", 8); + bool is_stl_30 = !memcmp(&peek[3], "STL30.01", 8); + if (!is_stl_25 && !is_stl_30) + return VLC_EGENERIC; + const double fps = is_stl_25 ? 25 : 30; + + uint8_t header[1024]; + if (stream_Read(demux->s, header, sizeof(header)) != sizeof(header)) { + msg_Err(demux, "Incomplete EBU STL header"); + return VLC_EGENERIC; + } + const int cct = ParseInteger(&header[12], 2); + const mtime_t program_start = ParseTextTimeCode(&header[256], fps); + const int tti_count = ParseInteger(&header[238], 5); + msg_Err(demux, "Detected EBU STL : CCT=%d TTI=%d start=%8.8s %lld", cct, tti_count, &header[256], program_start); + + demux_sys_t *sys = malloc(sizeof(*sys)); + sys->next_date = 0; + sys->current = 0; + sys->count = 0; + sys->index = calloc(tti_count, sizeof(*sys->index)); + + + bool comment = false; + stl_entry_t *s = &sys->index[0]; + s->count = 0; + + for (int i = 0; i < tti_count; i++) { + uint8_t tti[16]; + if (stream_Read(demux->s, tti, 16) != 16 || + stream_Read(demux->s, NULL, 112) != 112) { + msg_Warn(demux, "Incomplete EBU STL file"); + break; + } + const int ebn = tti[3]; + if (ebn >= 0xf0 && ebn <= 0xfd) + continue; + if (ebn == 0xfe) + continue; + + if (s->count <= 0) { + comment = tti[15] != 0; + s->start = ParseTimeCode(&tti[5], fps) - program_start; + s->stop = ParseTimeCode(&tti[9], fps) - program_start; + s->index = i; + } + s->count++; + if (ebn == 0xff && !comment) + s = &sys->index[++sys->count]; + if (ebn == 0xff && sys->count < tti_count) + s->count = 0; + } + if (sys->count > 0) + stream_Seek(demux->s, 1024 + 128LL * sys->index[0].index); + + es_format_t fmt; + es_format_Init(&fmt, SPU_ES, VLC_CODEC_EBU_STL); + fmt.i_extra = sizeof(header); + fmt.p_extra = header; + + sys->es = es_out_Add(demux->out, &fmt); + + fmt.i_extra = NULL; + fmt.p_extra = NULL; + es_format_Clean(&fmt); + + demux->p_sys = sys; + demux->pf_demux = Demux; + demux->pf_control = Control; + return VLC_SUCCESS; +} + +static void Close(vlc_object_t *object) +{ + demux_t *demux = (demux_t*)object; + demux_sys_t *sys = demux->p_sys; + + free(sys->index); + free(sys); +} + -- 1.7.4.1 From barletz at gmail.com Fri Jun 3 09:24:44 2011 From: barletz at gmail.com (Tomer Barletz) Date: Fri, 3 Jun 2011 00:24:44 -0700 Subject: [vlc-devel] [PATCH 3/3] Use CCT to format subtitiles text properly. In-Reply-To: <1307085884-11842-1-git-send-email-barletz@gmail.com> References: <1307085884-11842-1-git-send-email-barletz@gmail.com> Message-ID: <1307085884-11842-3-git-send-email-barletz@gmail.com> --- modules/codec/stl.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 65 insertions(+), 6 deletions(-) diff --git a/modules/codec/stl.c b/modules/codec/stl.c index 5113854..1f4078e 100644 --- a/modules/codec/stl.c +++ b/modules/codec/stl.c @@ -33,6 +33,7 @@ #include #include #include +#include /***************************************************************************** * Module descriptor @@ -51,11 +52,33 @@ vlc_module_end() /***************************************************************************** * Local definitions/prototypes *****************************************************************************/ +#define GSI_BLOCK_SIZE 1024 + +typedef enum { + CCT_ISO_6937_2 = 0x3030, CCT_BEGIN = CCT_ISO_6937_2, + CCT_ISO_8859_5 = 0x3031, + CCT_ISO_8859_6 = 0x3032, + CCT_ISO_8859_7 = 0x3033, + CCT_ISO_8859_8 = 0x3034, CCT_END = CCT_ISO_8859_8 +} cct_number_value_t; + +typedef struct { + cct_number_value_t value; + const char *str; +} cct_number_t; + struct decoder_sys_t { - int dummy; + cct_number_value_t cct; }; -static char *ParseText(uint8_t *data, int size) +static cct_number_t cct_nums[] = { {CCT_ISO_6937_2, "ISO_6937-2"}, + {CCT_ISO_8859_5, "ISO_8859-5"}, + {CCT_ISO_8859_6, "ISO_8859-6"}, + {CCT_ISO_8859_7, "ISO_8859-7"}, + {CCT_ISO_8859_8, "ISO_8859-8"} }; + + +static char *ParseText(uint8_t *data, int size, const char *charset) { char *text = strdup(""); int text_size = 0; @@ -68,7 +91,8 @@ static char *ParseText(uint8_t *data, int size) char tmp[16] = ""; char *t = tmp; - if (code >= 0x20 && code <= 0x7f) + if ((code >= 0x20 && code <= 0x7e) || + (code >= 0xa0 && code <= 0xff) ) snprintf(tmp, sizeof(tmp), "%c", code); #if 0 else if (code == 0x80) @@ -79,9 +103,9 @@ static char *ParseText(uint8_t *data, int size) snprintf(tmp, sizeof(tmp), ""); else if (code == 0x83) snprintf(tmp, sizeof(tmp), ""); -#endif else if (code == 0x8a) snprintf(tmp, sizeof(tmp), "\n"); +#endif else { fprintf(stderr, "--> %2.2x\n", code); t = NULL; @@ -97,7 +121,7 @@ static char *ParseText(uint8_t *data, int size) text_size += t_size; text[text_size] = '\0'; } - return text; + return FromCharset(charset, text, text_size); } static subpicture_t *Decode(decoder_t *dec, block_t **block) @@ -138,8 +162,11 @@ static subpicture_t *Decode(decoder_t *dec, block_t **block) video_format_Clean(&fmt); if (sub->p_region) { - sub->p_region->psz_text = ParseText(payload, payload_size); + sub->p_region->psz_text = ParseText(payload, + payload_size, + cct_nums[dec->p_sys->cct - CCT_BEGIN].str); sub->p_region->psz_html = NULL; + sub->p_region->i_align = SUBPICTURE_ALIGN_BOTTOM; } free(payload); @@ -149,6 +176,30 @@ exit: return sub; } +static int ExtractCCT(const es_format_t *fmt, decoder_sys_t *sys) +{ + uint8_t *header = fmt->p_extra; + if (!header) { + fprintf(stderr, "NULL EBU header (GSI block)\n"); + return VLC_EGENERIC; + } + + if (GSI_BLOCK_SIZE != fmt->i_extra) { + fprintf(stderr, "EBU header is not in expected size (%d)\n", fmt->i_extra); + return VLC_EGENERIC; + } + + int cct = (header[12] << 8) | header[13]; + if (CCT_BEGIN > cct || CCT_END < cct) { + fprintf(stderr, "EBU header contains illegal CCT (0x%x)\n", cct); + return VLC_EGENERIC; + } + + sys->cct = cct; + + return VLC_SUCCESS; +} + static int Open(vlc_object_t *object) { decoder_t *dec = (decoder_t*)object; @@ -157,6 +208,14 @@ static int Open(vlc_object_t *object) return VLC_EGENERIC; decoder_sys_t *sys = malloc(sizeof(*sys)); + if (!sys) + return VLC_ENOMEM; + + int rc = ExtractCCT(&dec->fmt_in, sys); + if (VLC_SUCCESS != rc) + return rc; + + msg_Info(dec, "CCT=0x%x", sys->cct); dec->p_sys = sys; dec->pf_decode_sub = Decode; -- 1.7.4.1 From remi at remlab.net Fri Jun 3 09:25:06 2011 From: remi at remlab.net (=?UTF-8?Q?R=C3=A9mi_Denis-Courmont?=) Date: Fri, 03 Jun 2011 09:25:06 +0200 Subject: [vlc-devel] Android patches In-Reply-To: <20110603015255.GA28901@nautica> References: <1307016378-30317-1-git-send-email-jb@videolan.org> <20110603000408.GA5072@videolan.org> <20110603015255.GA28901@nautica> Message-ID: On Fri, 3 Jun 2011 10:52:55 +0900, Dominique Martinet wrote: > That being said, android does have a poll function and I have no idea > why it wouldn't work, but I can confirm it doesn't and that this seems > to fix it, so... poll() is a system call on Linux, as are select(), pselect() and Linux-specific ppoll(). So mismatching calling convention is the only way that it wouldn't work is (in the broadest sense): wrong call number, wrong structure packing, wrong constant values, etc... -- R?mi Denis-Courmont http://www.remlab.net/ From barletz at gmail.com Fri Jun 3 09:27:01 2011 From: barletz at gmail.com (Tomer Barletz) Date: Fri, 3 Jun 2011 00:27:01 -0700 Subject: [vlc-devel] [PATCH 1/3] Added VLC_CODEC_EBU_STL. Message-ID: <1307086023-11882-1-git-send-email-barletz@gmail.com> From: Laurent Aimar --- include/vlc_fourcc.h | 2 ++ src/misc/fourcc.c | 3 +++ 2 files changed, 5 insertions(+), 0 deletions(-) diff --git a/include/vlc_fourcc.h b/include/vlc_fourcc.h index d6d50a1..c4631fc 100644 --- a/include/vlc_fourcc.h +++ b/include/vlc_fourcc.h @@ -309,6 +309,8 @@ #define VLC_CODEC_CVD VLC_FOURCC('c','v','d',' ') /* Blu-ray Presentation Graphics */ #define VLC_CODEC_BD_PG VLC_FOURCC('b','d','p','g') +/* EBU STL (TECH. 3264-E) */ +#define VLC_CODEC_EBU_STL VLC_FOURCC('S','T','L',' ') /* Special endian dependant values diff --git a/src/misc/fourcc.c b/src/misc/fourcc.c index 392621d..9048722 100644 --- a/src/misc/fourcc.c +++ b/src/misc/fourcc.c @@ -1196,6 +1196,9 @@ static const entry_t p_list_spu[] = { B(VLC_CODEC_BD_PG, "BD subtitles"), A("bdpg"), + B(VLC_CODEC_EBU_STL, "EBU STL subtitles"), + A("STL "), + B(0, "") }; -- 1.7.4.1 From barletz at gmail.com Fri Jun 3 09:27:02 2011 From: barletz at gmail.com (Tomer Barletz) Date: Fri, 3 Jun 2011 00:27:02 -0700 Subject: [vlc-devel] [PATCH 2/3] Added STL demuxer/decoder. In-Reply-To: <1307086023-11882-1-git-send-email-barletz@gmail.com> References: <1307086023-11882-1-git-send-email-barletz@gmail.com> Message-ID: <1307086023-11882-2-git-send-email-barletz@gmail.com> From: Laurent Aimar --- modules/codec/Modules.am | 2 + modules/codec/stl.c | 175 +++++++++++++++++++++++++++++++++ modules/demux/Modules.am | 2 + modules/demux/stl.c | 242 ++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 421 insertions(+), 0 deletions(-) create mode 100644 modules/codec/stl.c create mode 100644 modules/demux/stl.c diff --git a/modules/codec/Modules.am b/modules/codec/Modules.am index 8dff8b7..5e35eda 100644 --- a/modules/codec/Modules.am +++ b/modules/codec/Modules.am @@ -37,6 +37,7 @@ SOURCES_subsdec = subsdec.c substext.h SOURCES_subsusf = subsusf.c SOURCES_t140 = t140.c SOURCES_crystalhd = crystalhd.c +SOURCES_stl = stl.c libvlc_LTLIBRARIES += \ liba52_plugin.la \ @@ -55,4 +56,5 @@ libvlc_LTLIBRARIES += \ libsubsdec_plugin.la \ libsubsusf_plugin.la \ libt140_plugin.la \ + libstl_plugin.la \ $(NULL) diff --git a/modules/codec/stl.c b/modules/codec/stl.c new file mode 100644 index 0000000..5113854 --- /dev/null +++ b/modules/codec/stl.c @@ -0,0 +1,175 @@ +/***************************************************************************** + * stl.c: EBU STL decoder + ***************************************************************************** + * Copyright (C) 2010 Laurent Aimar + * $Id$ + * + * Authors: Laurent Aimar + * + * 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 + *****************************************************************************/ +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif +#include + +#include +#include +#include +#include + +/***************************************************************************** + * Module descriptor + *****************************************************************************/ +static int Open (vlc_object_t *); +static void Close(vlc_object_t *); + +vlc_module_begin() + set_description(N_("EBU STL subtitles decoder")) + set_category(CAT_INPUT) + set_subcategory(SUBCAT_INPUT_SCODEC) + set_capability("decoder", 10) + set_callbacks(Open, Close) +vlc_module_end() + +/***************************************************************************** + * Local definitions/prototypes + *****************************************************************************/ +struct decoder_sys_t { + int dummy; +}; + +static char *ParseText(uint8_t *data, int size) +{ + char *text = strdup(""); + int text_size = 0; + + for (int i = 0; i < size; i++) { + uint8_t code = data[i]; + + if (code == 0x8f) + break; + + char tmp[16] = ""; + char *t = tmp; + if (code >= 0x20 && code <= 0x7f) + snprintf(tmp, sizeof(tmp), "%c", code); +#if 0 + else if (code == 0x80) + snprintf(tmp, sizeof(tmp), ""); + else if (code == 0x81) + snprintf(tmp, sizeof(tmp), ""); + else if (code == 0x82) + snprintf(tmp, sizeof(tmp), ""); + else if (code == 0x83) + snprintf(tmp, sizeof(tmp), ""); +#endif + else if (code == 0x8a) + snprintf(tmp, sizeof(tmp), "\n"); + else { + fprintf(stderr, "--> %2.2x\n", code); + t = NULL; + } + + if (!t) + continue; + size_t t_size = strlen(t); + text = realloc_or_free(text, t_size + text_size + 1); + if (!text) + continue; + memcpy(&text[text_size], t, t_size); + text_size += t_size; + text[text_size] = '\0'; + } + return text; +} + +static subpicture_t *Decode(decoder_t *dec, block_t **block) +{ + if (block == NULL || *block == NULL) + return NULL; + + subpicture_t *sub = NULL; + + block_t *b = *block; *block = NULL; + if (b->i_flags & (BLOCK_FLAG_DISCONTINUITY|BLOCK_FLAG_CORRUPTED)) + goto exit; + if (b->i_buffer < 128) + goto exit; + + int payload_size = (b->i_buffer / 128) * 112; + uint8_t *payload = malloc(payload_size); + if (!payload) + goto exit; + for (int i = 0; i < b->i_buffer / 128; i++) + memcpy(&payload[112 * i], &b->p_buffer[128 * i + 16], 112); + + sub = decoder_NewSubpicture(dec, NULL); + if (!sub) { + free(payload); + goto exit; + } + sub->i_start = b->i_pts; + sub->i_stop = b->i_pts + b->i_length; + sub->b_ephemer = b->i_length == 0; + sub->b_absolute = false; + //sub->i_original_picture_width = 0; + //sub->i_original_picture_height = 0; + + video_format_t fmt; + video_format_Init(&fmt, VLC_CODEC_TEXT); + sub->p_region = subpicture_region_New(&fmt); + video_format_Clean(&fmt); + + if (sub->p_region) { + sub->p_region->psz_text = ParseText(payload, payload_size); + sub->p_region->psz_html = NULL; + } + + free(payload); + +exit: + block_Release(b); + return sub; +} + +static int Open(vlc_object_t *object) +{ + decoder_t *dec = (decoder_t*)object; + + if (dec->fmt_in.i_codec != VLC_CODEC_EBU_STL) + return VLC_EGENERIC; + + decoder_sys_t *sys = malloc(sizeof(*sys)); + + dec->p_sys = sys; + dec->pf_decode_sub = Decode; + dec->fmt_out.i_cat = SPU_ES; + dec->fmt_out.i_codec = 0; + return VLC_SUCCESS; +} + +static void Close(vlc_object_t *object) +{ + decoder_t *dec = (decoder_t*)object; + decoder_sys_t *sys = dec->p_sys; + + free(sys); +} + diff --git a/modules/demux/Modules.am b/modules/demux/Modules.am index c17947c..eae4be9 100644 --- a/modules/demux/Modules.am +++ b/modules/demux/Modules.am @@ -32,6 +32,7 @@ SOURCES_gme = gme.c dummy.cpp SOURCES_sid = sid.cpp SOURCES_dirac = dirac.c SOURCES_image = image.c +SOURCES_demux_stl = stl.c libvlc_LTLIBRARIES += \ libaiff_plugin.la \ @@ -60,6 +61,7 @@ libvlc_LTLIBRARIES += \ libwav_plugin.la \ libxa_plugin.la \ libimage_plugin.la \ + libdemux_stl_plugin.la \ $(NULL) libts_plugin_la_SOURCES = ts.c ../mux/mpeg/csa.c dvb-text.h diff --git a/modules/demux/stl.c b/modules/demux/stl.c new file mode 100644 index 0000000..3b6c7dd --- /dev/null +++ b/modules/demux/stl.c @@ -0,0 +1,242 @@ +/***************************************************************************** + * stl.c: EBU STL demuxer + ***************************************************************************** + * Copyright (C) 2010 Laurent Aimar + * $Id$ + * + * Authors: Laurent Aimar + * + * 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 + *****************************************************************************/ +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif +#include + +#include +#include +#include + +/***************************************************************************** + * Module descriptor + *****************************************************************************/ +static int Open (vlc_object_t *); +static void Close(vlc_object_t *); + +vlc_module_begin() + set_description(N_("EBU STL subtitles parser")) + set_category(CAT_INPUT) + set_subcategory(SUBCAT_INPUT_DEMUX) + set_capability("demux", 1) + set_callbacks(Open, Close) + add_shortcut("stl", "subtitle") +vlc_module_end() + +/***************************************************************************** + * Local definitions/prototypes + *****************************************************************************/ +typedef struct { + mtime_t start; + mtime_t stop; + int index; + int count; +} stl_entry_t; + +struct demux_sys_t { + int count; + stl_entry_t *index; + + es_out_id_t *es; + + int current; + int64_t next_date; +}; + +static int ParseInteger(uint8_t *data, int size) +{ + char tmp[16]; + assert(size < sizeof(tmp)); + memcpy(tmp, data, size); + tmp[size] = '\0'; + + return strtol(tmp, NULL, 10); +} +static int64_t ParseTimeCode(uint8_t *data, double fps) +{ + return INT64_C(1000000) * (data[0] * 3600 + + data[1] * 60 + + data[2] * 1 + + data[3] / fps); +} +static int64_t ParseTextTimeCode(uint8_t *data, double fps) +{ + uint8_t tmp[4]; + for (int i = 0; i < 4; i++) + tmp[i] = ParseInteger(&data[2 * i], 2); + return ParseTimeCode(tmp, fps); +} + +static int Control(demux_t *demux, int query, va_list args) +{ + demux_sys_t *sys = demux->p_sys; + switch(query) { + case DEMUX_GET_LENGTH: { + int64_t *l = va_arg(args, int64_t *); + *l = sys->count > 0 ? sys->index[sys->count-1].stop : 0; + return VLC_SUCCESS; + } + case DEMUX_GET_TIME: { + int64_t *t = va_arg(args, int64_t *); + *t = sys->current < sys->count ? sys->index[sys->count-1].start : 0; + return VLC_SUCCESS; + } + case DEMUX_SET_NEXT_DEMUX_TIME: { + sys->next_date = va_arg(args, int64_t); + return VLC_SUCCESS; + } + case DEMUX_SET_TIME: { + int64_t t = va_arg(args, int64_t); + sys->current = 0; + while (sys->current < sys->count) { + if (sys->index[sys->current].stop > t) { + stream_Seek(demux->s, 1024 + 128LL * sys->index[sys->current].index); + break; + } + sys->current++; + } + return VLC_SUCCESS; + } + case DEMUX_SET_POSITION: + case DEMUX_GET_POSITION: + default: + return VLC_EGENERIC; + } +} + +static int Demux(demux_t *demux) +{ + demux_sys_t *sys = demux->p_sys; + + while(sys->current < sys->count) { + stl_entry_t *s = &sys->index[sys->current]; + if (s->start > sys->next_date) + break; + + block_t *b = stream_Block(demux->s, 128 * s->count); + if (b) { + b->i_dts = + b->i_pts = VLC_TS_0 + s->start; + if (s->stop > s->start) + b->i_length = s->stop - s->start; + es_out_Send(demux->out, sys->es, b); + } + sys->current++; + } + return sys->current < sys->count ? 1 : 0; +} + +static int Open(vlc_object_t *object) +{ + demux_t *demux = (demux_t*)object; + + const uint8_t *peek; + if (stream_Peek(demux->s, &peek, 11) != 11) + return VLC_EGENERIC; + + bool is_stl_25 = !memcmp(&peek[3], "STL25.01", 8); + bool is_stl_30 = !memcmp(&peek[3], "STL30.01", 8); + if (!is_stl_25 && !is_stl_30) + return VLC_EGENERIC; + const double fps = is_stl_25 ? 25 : 30; + + uint8_t header[1024]; + if (stream_Read(demux->s, header, sizeof(header)) != sizeof(header)) { + msg_Err(demux, "Incomplete EBU STL header"); + return VLC_EGENERIC; + } + const int cct = ParseInteger(&header[12], 2); + const mtime_t program_start = ParseTextTimeCode(&header[256], fps); + const int tti_count = ParseInteger(&header[238], 5); + msg_Err(demux, "Detected EBU STL : CCT=%d TTI=%d start=%8.8s %lld", cct, tti_count, &header[256], program_start); + + demux_sys_t *sys = malloc(sizeof(*sys)); + sys->next_date = 0; + sys->current = 0; + sys->count = 0; + sys->index = calloc(tti_count, sizeof(*sys->index)); + + + bool comment = false; + stl_entry_t *s = &sys->index[0]; + s->count = 0; + + for (int i = 0; i < tti_count; i++) { + uint8_t tti[16]; + if (stream_Read(demux->s, tti, 16) != 16 || + stream_Read(demux->s, NULL, 112) != 112) { + msg_Warn(demux, "Incomplete EBU STL file"); + break; + } + const int ebn = tti[3]; + if (ebn >= 0xf0 && ebn <= 0xfd) + continue; + if (ebn == 0xfe) + continue; + + if (s->count <= 0) { + comment = tti[15] != 0; + s->start = ParseTimeCode(&tti[5], fps) - program_start; + s->stop = ParseTimeCode(&tti[9], fps) - program_start; + s->index = i; + } + s->count++; + if (ebn == 0xff && !comment) + s = &sys->index[++sys->count]; + if (ebn == 0xff && sys->count < tti_count) + s->count = 0; + } + if (sys->count > 0) + stream_Seek(demux->s, 1024 + 128LL * sys->index[0].index); + + es_format_t fmt; + es_format_Init(&fmt, SPU_ES, VLC_CODEC_EBU_STL); + fmt.i_extra = sizeof(header); + fmt.p_extra = header; + + sys->es = es_out_Add(demux->out, &fmt); + + fmt.i_extra = NULL; + fmt.p_extra = NULL; + es_format_Clean(&fmt); + + demux->p_sys = sys; + demux->pf_demux = Demux; + demux->pf_control = Control; + return VLC_SUCCESS; +} + +static void Close(vlc_object_t *object) +{ + demux_t *demux = (demux_t*)object; + demux_sys_t *sys = demux->p_sys; + + free(sys->index); + free(sys); +} + -- 1.7.4.1 From barletz at gmail.com Fri Jun 3 09:27:03 2011 From: barletz at gmail.com (Tomer Barletz) Date: Fri, 3 Jun 2011 00:27:03 -0700 Subject: [vlc-devel] [PATCH 3/3] Use CCT to format subtitiles text properly. In-Reply-To: <1307086023-11882-1-git-send-email-barletz@gmail.com> References: <1307086023-11882-1-git-send-email-barletz@gmail.com> Message-ID: <1307086023-11882-3-git-send-email-barletz@gmail.com> --- modules/codec/stl.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 65 insertions(+), 6 deletions(-) diff --git a/modules/codec/stl.c b/modules/codec/stl.c index 5113854..1f4078e 100644 --- a/modules/codec/stl.c +++ b/modules/codec/stl.c @@ -33,6 +33,7 @@ #include #include #include +#include /***************************************************************************** * Module descriptor @@ -51,11 +52,33 @@ vlc_module_end() /***************************************************************************** * Local definitions/prototypes *****************************************************************************/ +#define GSI_BLOCK_SIZE 1024 + +typedef enum { + CCT_ISO_6937_2 = 0x3030, CCT_BEGIN = CCT_ISO_6937_2, + CCT_ISO_8859_5 = 0x3031, + CCT_ISO_8859_6 = 0x3032, + CCT_ISO_8859_7 = 0x3033, + CCT_ISO_8859_8 = 0x3034, CCT_END = CCT_ISO_8859_8 +} cct_number_value_t; + +typedef struct { + cct_number_value_t value; + const char *str; +} cct_number_t; + struct decoder_sys_t { - int dummy; + cct_number_value_t cct; }; -static char *ParseText(uint8_t *data, int size) +static cct_number_t cct_nums[] = { {CCT_ISO_6937_2, "ISO_6937-2"}, + {CCT_ISO_8859_5, "ISO_8859-5"}, + {CCT_ISO_8859_6, "ISO_8859-6"}, + {CCT_ISO_8859_7, "ISO_8859-7"}, + {CCT_ISO_8859_8, "ISO_8859-8"} }; + + +static char *ParseText(uint8_t *data, int size, const char *charset) { char *text = strdup(""); int text_size = 0; @@ -68,7 +91,8 @@ static char *ParseText(uint8_t *data, int size) char tmp[16] = ""; char *t = tmp; - if (code >= 0x20 && code <= 0x7f) + if ((code >= 0x20 && code <= 0x7e) || + (code >= 0xa0 && code <= 0xff) ) snprintf(tmp, sizeof(tmp), "%c", code); #if 0 else if (code == 0x80) @@ -79,9 +103,9 @@ static char *ParseText(uint8_t *data, int size) snprintf(tmp, sizeof(tmp), ""); else if (code == 0x83) snprintf(tmp, sizeof(tmp), ""); -#endif else if (code == 0x8a) snprintf(tmp, sizeof(tmp), "\n"); +#endif else { fprintf(stderr, "--> %2.2x\n", code); t = NULL; @@ -97,7 +121,7 @@ static char *ParseText(uint8_t *data, int size) text_size += t_size; text[text_size] = '\0'; } - return text; + return FromCharset(charset, text, text_size); } static subpicture_t *Decode(decoder_t *dec, block_t **block) @@ -138,8 +162,11 @@ static subpicture_t *Decode(decoder_t *dec, block_t **block) video_format_Clean(&fmt); if (sub->p_region) { - sub->p_region->psz_text = ParseText(payload, payload_size); + sub->p_region->psz_text = ParseText(payload, + payload_size, + cct_nums[dec->p_sys->cct - CCT_BEGIN].str); sub->p_region->psz_html = NULL; + sub->p_region->i_align = SUBPICTURE_ALIGN_BOTTOM; } free(payload); @@ -149,6 +176,30 @@ exit: return sub; } +static int ExtractCCT(const es_format_t *fmt, decoder_sys_t *sys) +{ + uint8_t *header = fmt->p_extra; + if (!header) { + fprintf(stderr, "NULL EBU header (GSI block)\n"); + return VLC_EGENERIC; + } + + if (GSI_BLOCK_SIZE != fmt->i_extra) { + fprintf(stderr, "EBU header is not in expected size (%d)\n", fmt->i_extra); + return VLC_EGENERIC; + } + + int cct = (header[12] << 8) | header[13]; + if (CCT_BEGIN > cct || CCT_END < cct) { + fprintf(stderr, "EBU header contains illegal CCT (0x%x)\n", cct); + return VLC_EGENERIC; + } + + sys->cct = cct; + + return VLC_SUCCESS; +} + static int Open(vlc_object_t *object) { decoder_t *dec = (decoder_t*)object; @@ -157,6 +208,14 @@ static int Open(vlc_object_t *object) return VLC_EGENERIC; decoder_sys_t *sys = malloc(sizeof(*sys)); + if (!sys) + return VLC_ENOMEM; + + int rc = ExtractCCT(&dec->fmt_in, sys); + if (VLC_SUCCESS != rc) + return rc; + + msg_Info(dec, "CCT=0x%x", sys->cct); dec->p_sys = sys; dec->pf_decode_sub = Decode; -- 1.7.4.1 From asmadeus at codewreck.org Fri Jun 3 10:02:54 2011 From: asmadeus at codewreck.org (Dominique Martinet) Date: Fri, 3 Jun 2011 17:02:54 +0900 Subject: [vlc-devel] Android patches In-Reply-To: References: <1307016378-30317-1-git-send-email-jb@videolan.org> <20110603000408.GA5072@videolan.org> <20110603015255.GA28901@nautica> Message-ID: <20110603080254.GA14111@nautica> R?mi Denis-Courmont wrote on Fri, Jun 03, 2011 : > poll() is a system call on Linux, as are select(), pselect() and > Linux-specific ppoll(). So mismatching calling convention is the only way > that it wouldn't work is (in the broadest sense): wrong call number, wrong > structure packing, wrong constant values, etc... Yeah, this much I know, but after spending some time browsing bionic's source, but the syscall number looks right for arm, all the constant values I could find are the same as in glibc, the structure packaging is the same... I really just can't see what's wrong. I would normally do a test application that does just a simple poll to check, but I'm not bored enough to bother when there's already another, admitedly ugly, solution. (The problem is more than even if we find what's wrong where, it'll take android devs some time to fix it and it won't ever work on current devices anyway..) Regards, -- Asmadeus | Dominique Martinet From asmadeus at codewreck.org Fri Jun 3 11:22:15 2011 From: asmadeus at codewreck.org (Dominique Martinet) Date: Fri, 3 Jun 2011 18:22:15 +0900 Subject: [vlc-devel] [RFC] Android OpenSL ES audio output In-Reply-To: References: <20110601130149.GA11312@videolan.org> Message-ID: <20110603092215.GA17656@nautica> Hi, Cut a whole lot to answer to everything at once, everything I didn't quote I agree with and will fix what hasn't been already. R?mi Denis-Courmont wrote on Wed, Jun 01, 2011 : > > #define BUFF_QUEUE 42 > > Undocumented magic number. [...] > > aout_buffer_t ** p_buffer_array; > > Fixed-size array would be simpler. Or even linked list (aout_buffer_t has > ->p_next). [...] > > p_sys->p_buffer_array = malloc( sizeof( **p_sys->p_buffer_array > > ) * > > BUFF_QUEUE ); > sizeof() parameter seems wrong, but see above. [...] > > // configure audio source - this defines the number of samples you > can enqueue. > > SLDataLocator_AndroidSimpleBufferQueue loc_bufq = { > > SL_DATALOCATOR_ANDROIDSIMPLEBUFFERQUEUE, > > BUFF_QUEUE > > }; [...] > > p_sys->p_buffer_array[p_sys->i_toappend_buffer] = p_buffer; > > if( ++p_sys->i_toappend_buffer == BUFF_QUEUE ) > > p_sys->i_toappend_buffer = 0; > > You will have some "problems" if toappend_buffer reaches toclean_buffer... p_buffer_array is actually fixed-size, I just can't code, I'll replace it with a "aout_buffer_t * p_buffer_array[BUFF_QUEUE]" that should also hopefully fix the malloc since it's no longer needed. (this doesn't mean I don't want to think about the list) the loc_bufq variable (hopefully) ensure that OpenSL ES will refuse to enqueue further buffers, and the play function will try to enqueue it again immediately (it might be wise to insert some sleep here, but I did not take the time to look what time delay is appropriate), so toappend_buffer will never reach toclean_buffer. I could change p_buffer_array to a queue, but since the number of buffers is fixed I figured it couldn't hurt, I was in a mindset to do something that might work quickly when I wrote this. The only advantage I see to the linked list is that we can decide the number of buffers we want to append based on the size of a sample for example.. but I'm not sure how helpful it is though (it's only the maximum size and it's only the audio core which decides when to enqueue, I would need to check how far ahead it actually is but probably not much) So if I do that, I could really used suggestions for common values, especially since I think it's better to have a slightly oversized buffer than to try to enqueue multiple times until it fits (and this would need quite more modifications) Regards, -- Asmadeus | Dominique Martinet From zhushisongzhu at yahoo.com Fri Jun 3 12:37:20 2011 From: zhushisongzhu at yahoo.com (zhu shi song) Date: Fri, 3 Jun 2011 03:37:20 -0700 (PDT) Subject: [vlc-devel] How can DIV cover VLC ActiveX control transparently Message-ID: <361511.95377.qm@web125708.mail.ne1.yahoo.com> Flash Player has one parameter "wmode", when 'wmode' is set to 'transparent',DIV element can cover flash video transparently. How can VLC ActiveX control support this function? That is we can put a DIV element on VLC ActiveX control transparently. Hope someone can give me some guide. Thanks zhu From remi at remlab.net Fri Jun 3 12:37:30 2011 From: remi at remlab.net (=?UTF-8?Q?R=C3=A9mi_Denis-Courmont?=) Date: Fri, 03 Jun 2011 12:37:30 +0200 Subject: [vlc-devel] [RFC] Android OpenSL ES audio output In-Reply-To: <20110603092215.GA17656@nautica> References: <20110601130149.GA11312@videolan.org> <20110603092215.GA17656@nautica> Message-ID: <988471195f6d58935772407439ccab4e@chewa.net> On Fri, 3 Jun 2011 18:22:15 +0900, Dominique Martinet wrote: > The only advantage I see to the linked list is that we can decide the > number of buffers we want to append based on the size of a sample for > example.. but I'm not sure how helpful it is though (it's only the > maximum size and it's only the audio core which decides when to enqueue, > I would need to check how far ahead it actually is but probably not > much) The audio core does not currently decide much. It just resamples as required by the audio output speed relative to the input clock, then cuts the audio blocks coming from the decoder into audio blocks of the exact size requested by the audio output. In fact, I would very much like to remove that, aout_instance_t.output.i_nb_samples. Most if not all audio outputs can cope with arbitrary-sized buffers, as they will anyway copy samples _again_ from the VLC mixed buffers into the hardware buffers. Thus, this resizing of audio buffers just adds one extra memory and extra latency into the audio pipeline. The net effect is an increase the likelihood of hardware output under-runs. -- R?mi Denis-Courmont http://www.remlab.net/ From remi at remlab.net Fri Jun 3 12:39:52 2011 From: remi at remlab.net (=?UTF-8?Q?R=C3=A9mi_Denis-Courmont?=) Date: Fri, 03 Jun 2011 12:39:52 +0200 Subject: [vlc-devel] How can DIV cover VLC ActiveX control transparently In-Reply-To: <361511.95377.qm@web125708.mail.ne1.yahoo.com> References: <361511.95377.qm@web125708.mail.ne1.yahoo.com> Message-ID: On Fri, 3 Jun 2011 03:37:20 -0700 (PDT), zhu shi song wrote: > Flash Player has one parameter "wmode", when 'wmode' is set to > 'transparent',DIV element can cover flash video transparently. > How can VLC ActiveX control support this function? That is we can put a > DIV element on VLC ActiveX control transparently. Hope someone can give > me some guide. I can only guess you need to select a video output plug-in that supports composite. I am not aware of any effort, within the VideoLAN project to do this so far. Thus you should not expect any ready-made technical solution. -- R?mi Denis-Courmont http://www.remlab.net/ From ee05154 at fe.up.pt Sat Jun 4 04:50:30 2011 From: ee05154 at fe.up.pt (Nuno Mota) Date: Sat, 4 Jun 2011 03:50:30 +0100 Subject: [vlc-devel] RTSP trickplay - libvlc_media_player_set_rate support for fast forward/rewind In-Reply-To: <1306938627.8039.14.camel@stim-desktop> References: <20110529090757.GA6384@elivagar.org> <1306847636.1802.19.camel@stim-desktop> <1306928048.8039.5.camel@stim-desktop> <1306938627.8039.14.camel@stim-desktop> Message-ID: 2011/6/1 S?bastien Escudier > On Wed, 2011-06-01 at 14:29 +0100, Nuno Mota wrote: > > However there's a big problem when you set rate 0. VLC understood a > > rate of -31!!! > The input checks for <= 0 rate at startup but not in > INPUT_CONTROL_SET_RATE. I opened a ticked for this : > http://trac.videolan.org/vlc/ticket/4861 > > > The problem you mentioned in the forum is kind of a big fail (yes i'm > > mundu :). When fast rewinding the time gets stuck and then it doesn't > > update. If you press play it will only start from the time you issued > > the setRate(negative), and not at the time where I pressed play again. > > Do you know where vlc actually updates its time? > > There are several issues with rtsp and time update. In fact the time > will always update at 1x speed. > That's because rtsp servers re-calculate timestamps, and vlc thinks it > receives the pictures at 1x speed. > Time update is based on timestamps > Whenever the timestamp changes it means it's rate times ahead or behind the original time! Unfortunatly i'm currently writing my thesis and have no time to dwell into the VLC source code again. However VLC knows at which rate the video is playing, which means everytime it updates the video time (whenever the timestamp changes) it should check first for the specific rate! I think that playing from a local file VLC plays correctly. But not when receiving from a stream! > > > _______________________________________________ > vlc-devel mailing list > To unsubscribe or modify your subscription options: > http://mailman.videolan.org/listinfo/vlc-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mehrotra.akash at gmail.com Sat Jun 4 21:37:20 2011 From: mehrotra.akash at gmail.com (akash mehrotra) Date: Sun, 5 Jun 2011 01:07:20 +0530 Subject: [vlc-devel] http interface can now change and view audio delay Message-ID: patch attached -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 0001-http-interface-can-now-change-and-view-audio-delay.patch Type: application/octet-stream Size: 4751 bytes Desc: not available URL: From mehrotra.akash at gmail.com Sat Jun 4 21:40:31 2011 From: mehrotra.akash at gmail.com (akash mehrotra) Date: Sun, 5 Jun 2011 01:10:31 +0530 Subject: [vlc-devel] [PATCH] http interface can now change and view audio delay In-Reply-To: References: Message-ID: http interface can now change and view audio delay -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 0001-http-interface-can-now-change-and-view-audio-delay.patch Type: application/octet-stream Size: 4751 bytes Desc: not available URL: From mehrotra.akash at gmail.com Sat Jun 4 21:40:51 2011 From: mehrotra.akash at gmail.com (akash mehrotra) Date: Sun, 5 Jun 2011 01:10:51 +0530 Subject: [vlc-devel] http interface can now change and view audio delay In-Reply-To: References: Message-ID: resent with correct formatting. Pls ignore this one On Sun, Jun 5, 2011 at 1:07 AM, akash mehrotra wrote: > patch attached > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mehrotra.akash at gmail.com Sat Jun 4 22:52:14 2011 From: mehrotra.akash at gmail.com (akash mehrotra) Date: Sun, 5 Jun 2011 02:22:14 +0530 Subject: [vlc-devel] [PATCH 2/2] Allow http interface to set the playback rate. Message-ID: Allows http interface to set the playback rate. Playback rate must be > 0 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 0002-Allows-http-interface-to-set-the-playback-rate.patch Type: application/octet-stream Size: 5151 bytes Desc: not available URL: From mohameeed2010 at hotmail.com Sun Jun 5 15:19:57 2011 From: mohameeed2010 at hotmail.com (Mohamed AbdElwahed) Date: Sun, 5 Jun 2011 13:19:57 +0000 Subject: [vlc-devel] (no subject) Message-ID: http://allstars-sanjose.com/enterin.html -------------- next part -------------- An HTML attachment was scrubbed... URL: From fenrir at elivagar.org Sun Jun 5 16:42:41 2011 From: fenrir at elivagar.org (Laurent Aimar) Date: Sun, 5 Jun 2011 16:42:41 +0200 Subject: [vlc-devel] [PATCH 3/3] Use CCT to format subtitiles text properly. In-Reply-To: <1307086023-11882-3-git-send-email-barletz@gmail.com> References: <1307086023-11882-1-git-send-email-barletz@gmail.com> <1307086023-11882-3-git-send-email-barletz@gmail.com> Message-ID: <20110605144241.GA8443@elivagar.org> Hi, On Fri, Jun 03, 2011 at 12:27:03AM -0700, Tomer Barletz wrote: > +#define GSI_BLOCK_SIZE 1024 > + > +typedef enum { > + CCT_ISO_6937_2 = 0x3030, CCT_BEGIN = CCT_ISO_6937_2, > + CCT_ISO_8859_5 = 0x3031, > + CCT_ISO_8859_6 = 0x3032, > + CCT_ISO_8859_7 = 0x3033, > + CCT_ISO_8859_8 = 0x3034, CCT_END = CCT_ISO_8859_8 > +} cct_number_value_t; > + > +typedef struct { > + cct_number_value_t value; > + const char *str; > +} cct_number_t; > + > struct decoder_sys_t { > - int dummy; > + cct_number_value_t cct; > }; > > -static char *ParseText(uint8_t *data, int size) > +static cct_number_t cct_nums[] = { {CCT_ISO_6937_2, "ISO_6937-2"}, > + {CCT_ISO_8859_5, "ISO_8859-5"}, > + {CCT_ISO_8859_6, "ISO_8859-6"}, > + {CCT_ISO_8859_7, "ISO_8859-7"}, > + {CCT_ISO_8859_8, "ISO_8859-8"} }; > + > + > +static char *ParseText(uint8_t *data, int size, const char *charset) > { > char *text = strdup(""); > int text_size = 0; > @@ -68,7 +91,8 @@ static char *ParseText(uint8_t *data, int size) > > char tmp[16] = ""; > char *t = tmp; > - if (code >= 0x20 && code <= 0x7f) > + if ((code >= 0x20 && code <= 0x7e) || > + (code >= 0xa0 && code <= 0xff) ) > snprintf(tmp, sizeof(tmp), "%c", code); > #if 0 > else if (code == 0x80) > @@ -79,9 +103,9 @@ static char *ParseText(uint8_t *data, int size) > snprintf(tmp, sizeof(tmp), ""); > else if (code == 0x83) > snprintf(tmp, sizeof(tmp), ""); > -#endif > else if (code == 0x8a) > snprintf(tmp, sizeof(tmp), "\n"); Why do you disable this code mapping? > +#endif > else { > fprintf(stderr, "--> %2.2x\n", code); > t = NULL; > @@ -97,7 +121,7 @@ static char *ParseText(uint8_t *data, int size) > text_size += t_size; > text[text_size] = '\0'; > } > - return text; > + return FromCharset(charset, text, text_size); > } > > static subpicture_t *Decode(decoder_t *dec, block_t **block) > @@ -138,8 +162,11 @@ static subpicture_t *Decode(decoder_t *dec, block_t **block) > video_format_Clean(&fmt); > > if (sub->p_region) { > - sub->p_region->psz_text = ParseText(payload, payload_size); > + sub->p_region->psz_text = ParseText(payload, > + payload_size, > + cct_nums[dec->p_sys->cct - CCT_BEGIN].str); > sub->p_region->psz_html = NULL; > + sub->p_region->i_align = SUBPICTURE_ALIGN_BOTTOM; It doesn't really belong to this patch but not really important. Using SUBPICTURE_ALIGN_BOTTOM | var_InheritInteger(dec, "subsdec-align"); would be better as it would make it behave like the other subtitles decoder. > } > > free(payload); > @@ -149,6 +176,30 @@ exit: > return sub; > } > > +static int ExtractCCT(const es_format_t *fmt, decoder_sys_t *sys) > +{ > + uint8_t *header = fmt->p_extra; > + if (!header) { > + fprintf(stderr, "NULL EBU header (GSI block)\n"); > + return VLC_EGENERIC; > + } > + > + if (GSI_BLOCK_SIZE != fmt->i_extra) { > + fprintf(stderr, "EBU header is not in expected size (%d)\n", fmt->i_extra); > + return VLC_EGENERIC; > + } > + > + int cct = (header[12] << 8) | header[13]; > + if (CCT_BEGIN > cct || CCT_END < cct) { > + fprintf(stderr, "EBU header contains illegal CCT (0x%x)\n", cct); > + return VLC_EGENERIC; > + } > + > + sys->cct = cct; > + > + return VLC_SUCCESS; > +} Do not use fprintf. I think here using msg_Err is what you want. > + > static int Open(vlc_object_t *object) > { > decoder_t *dec = (decoder_t*)object; > @@ -157,6 +208,14 @@ static int Open(vlc_object_t *object) > return VLC_EGENERIC; > > decoder_sys_t *sys = malloc(sizeof(*sys)); > + if (!sys) > + return VLC_ENOMEM; > + > + int rc = ExtractCCT(&dec->fmt_in, sys); > + if (VLC_SUCCESS != rc) > + return rc; You have a memory leak in this case (sys). > + > + msg_Info(dec, "CCT=0x%x", sys->cct); I don't think it deserves a msg_Info(), msg_Dbg() is probably better. -- fenrir From sebastien-devel at celeos.eu Mon Jun 6 08:48:52 2011 From: sebastien-devel at celeos.eu (=?ISO-8859-1?Q?S=E9bastien?= Escudier) Date: Mon, 06 Jun 2011 08:48:52 +0200 Subject: [vlc-devel] [vlc-commits] vlm : call var_DelCallback after input thread is joined. In-Reply-To: <1306844567.1802.15.camel@stim-desktop> References: <20110531112114.05C0C13E861@albiero.videolan.org> <20110531115856.GA28660@elivagar.org> <1306844567.1802.15.camel@stim-desktop> Message-ID: <1307342932.29458.6.camel@stim-desktop> On Tue, 2011-05-31 at 14:22 +0200, S?bastien Escudier wrote: > On Tue, 2011-05-31 at 13:58 +0200, Laurent Aimar wrote: > > On Tue, May 31, 2011 at 01:21:13PM +0200, S?bastien Escudier wrote: > > > vlc | branch: master | S?bastien Escudier | Wed May 25 14:16:36 2011 +0200| [04058ca6feb89a9f813f578cd9a4f45812c7361d] | committer: S?bastien Escudier > > > > > > vlm : call var_DelCallback after input thread is joined. > > > This reverts vlm callback behaviour before 67b16b1b9f1babba51ca186a5a1107156f897c09 > > I am sorry I failed to respond before, but: why ? > > I have a use case where I don't want to lose some events even when I > close the input. > Ok, these events are not currently in vlc, but in my own repo, but > someday we could have events like these. And I think it is better to not > have cases where events are lost. > > > If it is mandatory, then I would prefer a lot if you could simply _hold() > > before calling input_Close() and then _release. I don't like the idea > > of exporting such private behaviour (Join+Release). > > I did not export Join and release (in libvlccore.sym), because it's only > used in src/ and not in modules. > Is it still bad? > Do you mean, calling vlc_object_hold(input); ping ? From barletz at gmail.com Mon Jun 6 11:29:18 2011 From: barletz at gmail.com (Tomer Barletz) Date: Mon, 6 Jun 2011 02:29:18 -0700 Subject: [vlc-devel] [PATCH 1/2] Use CCT to format subtitiles text properly. Message-ID: <1307352559-24336-1-git-send-email-barletz@gmail.com> Apply Laurent's comments. --- modules/codec/stl.c | 74 ++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 67 insertions(+), 7 deletions(-) diff --git a/modules/codec/stl.c b/modules/codec/stl.c index 32cddd6..981333f 100644 --- a/modules/codec/stl.c +++ b/modules/codec/stl.c @@ -33,6 +33,7 @@ #include #include #include +#include /***************************************************************************** * Module descriptor @@ -51,11 +52,33 @@ vlc_module_end() /***************************************************************************** * Local definitions/prototypes *****************************************************************************/ +#define GSI_BLOCK_SIZE 1024 + +typedef enum { + CCT_ISO_6937_2 = 0x3030, CCT_BEGIN = CCT_ISO_6937_2, + CCT_ISO_8859_5 = 0x3031, + CCT_ISO_8859_6 = 0x3032, + CCT_ISO_8859_7 = 0x3033, + CCT_ISO_8859_8 = 0x3034, CCT_END = CCT_ISO_8859_8 +} cct_number_value_t; + +typedef struct { + cct_number_value_t value; + const char *str; +} cct_number_t; + struct decoder_sys_t { - int dummy; + cct_number_value_t cct; }; -static char *ParseText(uint8_t *data, int size) +static cct_number_t cct_nums[] = { {CCT_ISO_6937_2, "ISO_6937-2"}, + {CCT_ISO_8859_5, "ISO_8859-5"}, + {CCT_ISO_8859_6, "ISO_8859-6"}, + {CCT_ISO_8859_7, "ISO_8859-7"}, + {CCT_ISO_8859_8, "ISO_8859-8"} }; + + +static char *ParseText(uint8_t *data, int size, const char *charset) { char *text = strdup(""); int text_size = 0; @@ -68,7 +91,8 @@ static char *ParseText(uint8_t *data, int size) char tmp[16] = ""; char *t = tmp; - if (code >= 0x20 && code <= 0x7f) + if ((code >= 0x20 && code <= 0x7e) || + (code >= 0xa0 && code <= 0xff) ) snprintf(tmp, sizeof(tmp), "%c", code); #if 0 else if (code == 0x80) @@ -79,9 +103,9 @@ static char *ParseText(uint8_t *data, int size) snprintf(tmp, sizeof(tmp), ""); else if (code == 0x83) snprintf(tmp, sizeof(tmp), ""); -#endif else if (code == 0x8a) snprintf(tmp, sizeof(tmp), "\n"); +#endif else { t = NULL; } @@ -96,7 +120,7 @@ static char *ParseText(uint8_t *data, int size) text_size += t_size; text[text_size] = '\0'; } - return text; + return FromCharset(charset, text, text_size); } static subpicture_t *Decode(decoder_t *dec, block_t **block) @@ -137,7 +161,9 @@ static subpicture_t *Decode(decoder_t *dec, block_t **block) video_format_Clean(&fmt); if (sub->p_region) { - sub->p_region->psz_text = ParseText(payload, payload_size); + sub->p_region->psz_text = ParseText(payload, + payload_size, + cct_nums[dec->p_sys->cct - CCT_BEGIN].str); sub->p_region->psz_html = NULL; } @@ -148,6 +174,30 @@ exit: return sub; } +static int ExtractCCT(const decoder_t *dec, cct_number_value_t *cct_number) +{ + uint8_t *header = dec->fmt_in.p_extra; + if (!header) { + msg_Err(dec, "NULL EBU header (GSI block)\n"); + return VLC_EGENERIC; + } + + if (GSI_BLOCK_SIZE != dec->fmt_in.i_extra) { + msg_Err(dec, "EBU header is not in expected size (%d)\n", dec->fmt_in.i_extra); + return VLC_EGENERIC; + } + + int cct = (header[12] << 8) | header[13]; + if (CCT_BEGIN > cct || CCT_END < cct) { + msg_Err(dec, "EBU header contains illegal CCT (0x%x)\n", cct); + return VLC_EGENERIC; + } + + *cct_number = cct; + + return VLC_SUCCESS; +} + static int Open(vlc_object_t *object) { decoder_t *dec = (decoder_t*)object; @@ -155,7 +205,18 @@ static int Open(vlc_object_t *object) if (dec->fmt_in.i_codec != VLC_CODEC_EBU_STL) return VLC_EGENERIC; + cct_number_value_t cct; + int rc = ExtractCCT(dec, &cct); + if (VLC_SUCCESS != rc) + return rc; + + msg_Dbg(dec, "CCT=0x%x", cct); + decoder_sys_t *sys = malloc(sizeof(*sys)); + if (!sys) + return VLC_ENOMEM; + + sys->cct = cct; dec->p_sys = sys; dec->pf_decode_sub = Decode; @@ -171,4 +232,3 @@ static void Close(vlc_object_t *object) free(sys); } - -- 1.7.4.1 From barletz at gmail.com Mon Jun 6 11:29:19 2011 From: barletz at gmail.com (Tomer Barletz) Date: Mon, 6 Jun 2011 02:29:19 -0700 Subject: [vlc-devel] [PATCH 2/2] Align text to bottom of the picture. In-Reply-To: <1307352559-24336-1-git-send-email-barletz@gmail.com> References: <1307352559-24336-1-git-send-email-barletz@gmail.com> Message-ID: <1307352559-24336-2-git-send-email-barletz@gmail.com> --- modules/codec/stl.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/modules/codec/stl.c b/modules/codec/stl.c index 981333f..1c8388d 100644 --- a/modules/codec/stl.c +++ b/modules/codec/stl.c @@ -165,6 +165,7 @@ static subpicture_t *Decode(decoder_t *dec, block_t **block) payload_size, cct_nums[dec->p_sys->cct - CCT_BEGIN].str); sub->p_region->psz_html = NULL; + sub->p_region->i_align = SUBPICTURE_ALIGN_BOTTOM | var_InheritInteger(dec, "subsdec-align"); } free(payload); -- 1.7.4.1 From jb at videolan.org Mon Jun 6 11:35:28 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Mon, 6 Jun 2011 11:35:28 +0200 Subject: [vlc-devel] [PATCH 1/2] Use CCT to format subtitiles text properly. In-Reply-To: <1307352559-24336-1-git-send-email-barletz@gmail.com> References: <1307352559-24336-1-git-send-email-barletz@gmail.com> Message-ID: <20110606093528.GA8074@videolan.org> On Mon, Jun 06, 2011 at 02:29:18AM -0700, Tomer Barletz wrote : > Apply Laurent's comments. > --- > else if (code == 0x80) > @@ -79,9 +103,9 @@ static char *ParseText(uint8_t *data, int size) > snprintf(tmp, sizeof(tmp), ""); > else if (code == 0x83) > snprintf(tmp, sizeof(tmp), ""); > -#endif > else if (code == 0x8a) > snprintf(tmp, sizeof(tmp), "\n"); > +#endif You still didn't explain that, did you? Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From barletz at gmail.com Mon Jun 6 11:42:50 2011 From: barletz at gmail.com (Tomer Barletz) Date: Mon, 6 Jun 2011 02:42:50 -0700 Subject: [vlc-devel] [PATCH 1/2] Use CCT to format subtitiles text properly. In-Reply-To: <20110606093528.GA8074@videolan.org> References: <1307352559-24336-1-git-send-email-barletz@gmail.com> <20110606093528.GA8074@videolan.org> Message-ID: On Mon, Jun 6, 2011 at 2:35 AM, Jean-Baptiste Kempf wrote: > On Mon, Jun 06, 2011 at 02:29:18AM -0700, Tomer Barletz wrote : >> Apply Laurent's comments. >> --- >> ? ? ? ? ?else if (code == 0x80) >> @@ -79,9 +103,9 @@ static char *ParseText(uint8_t *data, int size) >> ? ? ? ? ? ? ?snprintf(tmp, sizeof(tmp), ""); >> ? ? ? ? ?else if (code == 0x83) >> ? ? ? ? ? ? ?snprintf(tmp, sizeof(tmp), ""); >> -#endif >> ? ? ? ? ?else if (code == 0x8a) >> ? ? ? ? ? ? ?snprintf(tmp, sizeof(tmp), "\n"); >> +#endif > > You still didn't explain that, did you? > > Best Regards, > > -- > Jean-Baptiste Kempf > http://www.jbkempf.com/ - +33 672 704 734 > Sent from my Electronic Device > _______________________________________________ > vlc-devel mailing list > To unsubscribe or modify your subscription options: > http://mailman.videolan.org/listinfo/vlc-devel > Including these lines creates a double '\n', effectively doubles the gap between each line. I suspect that the subtitles text already contains a '\n' character, but it might be true only for the single stream I've tested the code. This is why I left the code commented out, so we may test other streams and see if this behaviour persist. Tomer From remi at remlab.net Mon Jun 6 12:16:22 2011 From: remi at remlab.net (=?UTF-8?Q?R=C3=A9mi_Denis-Courmont?=) Date: Mon, 06 Jun 2011 12:16:22 +0200 Subject: [vlc-devel] [PATCH 2/2] Align text to bottom of the picture. In-Reply-To: <1307352559-24336-2-git-send-email-barletz@gmail.com> References: <1307352559-24336-1-git-send-email-barletz@gmail.com> <1307352559-24336-2-git-send-email-barletz@gmail.com> Message-ID: <65f1162fb49b3f7fabababc28c4ec3da@chewa.net> On Mon, 6 Jun 2011 02:29:19 -0700, Tomer Barletz wrote: > --- > modules/codec/stl.c | 1 + > 1 files changed, 1 insertions(+), 0 deletions(-) > > diff --git a/modules/codec/stl.c b/modules/codec/stl.c > index 981333f..1c8388d 100644 > --- a/modules/codec/stl.c > +++ b/modules/codec/stl.c > @@ -165,6 +165,7 @@ static subpicture_t *Decode(decoder_t *dec, block_t > **block) > payload_size, > cct_nums[dec->p_sys->cct - > CCT_BEGIN].str); > sub->p_region->psz_html = NULL; > + sub->p_region->i_align = SUBPICTURE_ALIGN_BOTTOM | > var_InheritInteger(dec, "subsdec-align"); Do you need to look up the variable every time? -- R?mi Denis-Courmont http://www.remlab.net/ From jb at videolan.org Mon Jun 6 12:30:42 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Mon, 6 Jun 2011 12:30:42 +0200 Subject: [vlc-devel] VLC media player 1.1.10 Message-ID: <20110606103042.GA18615@videolan.org> Dear VLC community, I am very glad to present, in the name of the whole development team, VLC 1.1.10. This eleventh release of the "The luggage" branch brings, as usual, security fixes and minor to small features improvements. The most notable ones are: - Update of libmodplug in binaries to fix multiple security issues - Fix an integer overflow XSPF playlist demultiplexer - Rewrite of the PulseAudio output on Linux/BSD - Removal of FontCache building in Freetype module on Win32 - Many OS X interface and hotkey fixes - Misc fixes and codec updates - Update of translations Source and Binary can be found on our main ftp or on the sourceforge mirroring system. Please note that the only official website of VLC can be found at: http://www.videolan.org/vlc/ More information about the changes can be found at: http://www.videolan.org/developers/vlc-branch/NEWS With my best regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From ptonly4u at yahoo.com Mon Jun 6 14:24:48 2011 From: ptonly4u at yahoo.com (Punit Tiwari) Date: Mon, 6 Jun 2011 17:54:48 +0530 (IST) Subject: [vlc-devel] Need help from your side for development in the vlc Message-ID: <633493.21822.qm@web95608.mail.in.yahoo.com> Respected Sir, ???????????????? Can you explain how to compile & run the source code for both Unix & Windows, so that i must even contribute to the development of VLC. Since till now i am unable to compile VLC media player through "git" software is its version & vlc version effect during compile & running of the vlc media player. ?????????????? Please, help me in for 1st step in software development. ? Thanking you, ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? your's faithfully, ????????????????????????????????????????????????????????????????????????????????????????????????????????????????? Tiwari Punit ChandarPrakash. -------------- next part -------------- An HTML attachment was scrubbed... URL: From d3ck0r at gmail.com Mon Jun 6 15:29:00 2011 From: d3ck0r at gmail.com (J Decker) Date: Mon, 6 Jun 2011 06:29:00 -0700 Subject: [vlc-devel] Need help from your side for development in the vlc In-Reply-To: <633493.21822.qm@web95608.mail.in.yahoo.com> References: <633493.21822.qm@web95608.mail.in.yahoo.com> Message-ID: http://wiki.videolan.org/Category:Building On Mon, Jun 6, 2011 at 5:24 AM, Punit Tiwari wrote: > Respected Sir, > ???????????????? Can you explain how to compile & run the source code for > both Unix & Windows, so that i must even contribute to the development of > VLC. Since till now i am unable to compile VLC media player through "git" > software is its version & vlc version effect during compile & running of the > vlc media player. > ?????????????? Please, help me in for 1st step in software development. > > > ? Thanking you, > > your's faithfully, > > Tiwari Punit ChandarPrakash. > _______________________________________________ > vlc-devel mailing list > To unsubscribe or modify your subscription options: > http://mailman.videolan.org/listinfo/vlc-devel > > From aballier at gentoo.org Mon Jun 6 21:32:27 2011 From: aballier at gentoo.org (Alexis Ballier) Date: Mon, 6 Jun 2011 15:32:27 -0400 Subject: [vlc-devel] VLC media player 1.1.10 In-Reply-To: <20110606103042.GA18615@videolan.org> References: <20110606103042.GA18615@videolan.org> Message-ID: <201106061532.55472.aballier@gentoo.org> Hi, On Monday, June 06, 2011 06:30:42 AM Jean-Baptiste Kempf wrote: [...] > The most notable ones are: [...] > - Fix an integer overflow XSPF playlist demultiplexer [...] Do we have to get scared of this ? Regards, Alexis. From jb at videolan.org Mon Jun 6 21:34:06 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Mon, 6 Jun 2011 21:34:06 +0200 Subject: [vlc-devel] VLC media player 1.1.10 In-Reply-To: <201106061532.55472.aballier@gentoo.org> References: <20110606103042.GA18615@videolan.org> <201106061532.55472.aballier@gentoo.org> Message-ID: <20110606193406.GA29575@videolan.org> On Mon, Jun 06, 2011 at 03:32:27PM -0400, Alexis Ballier wrote : > Do we have to get scared of this ? If you are scared of your computer, you really have an issue :D -- Jean-Baptiste Kempf From adanecito at yahoo.com Mon Jun 6 21:44:15 2011 From: adanecito at yahoo.com (Tony Anecito) Date: Mon, 6 Jun 2011 12:44:15 -0700 (PDT) Subject: [vlc-devel] VLC media player 1.1.10 In-Reply-To: <20110606193406.GA29575@videolan.org> References: <20110606103042.GA18615@videolan.org> <201106061532.55472.aballier@gentoo.org> <20110606193406.GA29575@videolan.org> Message-ID: <86839.95135.qm@web113609.mail.gq1.yahoo.com> Obviously you never watched Terminator or War Games or even Tron. But maybe these all run VLC so they are safe :] -Tony ----- Original Message ---- From: Jean-Baptiste Kempf To: Mailing list for VLC media player developers Sent: Mon, June 6, 2011 1:34:06 PM Subject: Re: [vlc-devel] VLC media player 1.1.10 On Mon, Jun 06, 2011 at 03:32:27PM -0400, Alexis Ballier wrote : > Do we have to get scared of this ? If you are scared of your computer, you really have an issue :D -- Jean-Baptiste Kempf _______________________________________________ vlc-devel mailing list To unsubscribe or modify your subscription options: http://mailman.videolan.org/listinfo/vlc-devel From asmadeus at codewreck.org Tue Jun 7 08:02:46 2011 From: asmadeus at codewreck.org (Dominique Martinet) Date: Tue, 7 Jun 2011 15:02:46 +0900 Subject: [vlc-devel] [RFC] Android OpenSL ES audio output In-Reply-To: <201106021029.54240.remi@remlab.net> References: <20110601130149.GA11312@videolan.org> <20110601223055.GA26699@videolan.org> <201106021029.54240.remi@remlab.net> Message-ID: <20110607060246.GA19278@nautica> Hi, R?mi Denis-Courmont wrote on Thu, Jun 02, 2011 : > Le jeudi 2 juin 2011 01:30:55 Jean-Baptiste Kempf, vous avez ?crit : > > On Wed, Jun 01, 2011 at 04:21:25PM +0200, R?mi Denis-Courmont wrote : > > > > // set the player's state to playing > > > > result = (*p_sys->playerPlay)->SetPlayState( p_sys->playerPlay, > > > > > > > > SL_PLAYSTATE_PLAYING ); > > > > > > > > CHECK_OPENSL_ERROR( result, "Failed to switch to play state" ); > > I don't see the point in uncorking while there are no audio samples to be > played yet. I do understand this, but I'm not familiar enough with the architecture to figure where to put it. It could probably be called the first time play() is called, even though I'd find it kind of ugly to check that it's called for the first time, but if you want to be this precise I suppose you'd also want to put the state back to pause/stop when we pause the player.. so maybe using the event system? (so defining a function InputEvent and using something like: var_AddCallback( p_input, "intf-event", InputEvent, &cond ); in the open()? I'm not even sure if I can call playlist_CurrentInput or something similar to get a p_input at this stage... (the line comes from src/playlist/fetcher.c, I just random-greped on event and picked something that looked appropriate without any deep reading)) I'm open to suggestions. -- Asmadeus | Dominique Martinet From asuraparaju at gmail.com Tue Jun 7 08:09:39 2011 From: asuraparaju at gmail.com (Anuradha Suraparaju) Date: Tue, 7 Jun 2011 16:09:39 +1000 Subject: [vlc-devel] [vlc-commits] Revert "Add Dirac encoding support to VLC using the Schroedinger library." In-Reply-To: <20110606200801.4C3A413E993@albiero.videolan.org> References: <20110606200801.4C3A413E993@albiero.videolan.org> Message-ID: Hi, 2011/6/7 R?mi Denis-Courmont > vlc | branch: master | R?mi Denis-Courmont | Mon Jun 6 > 23:07:00 2011 +0300| [48884d48a9f230336b6fe1cd8e174636df8046d1] | committer: > R?mi Denis-Courmont > > Revert "Add Dirac encoding support to VLC using the Schroedinger library." > > Hand-crafted code in plugin descriptor is not allowed. And the code was > unsurprisingly buggy. > This reverts commit 1c2a95b85ef3e984fd963e7fff6c1c03693b9255. > > Can someone explains what this comment means? I am not sure why the dirac encoding support using Schroedinger was removed. Regards, Anuradha -------------- next part -------------- An HTML attachment was scrubbed... URL: From remi at remlab.net Tue Jun 7 08:44:49 2011 From: remi at remlab.net (=?UTF-8?Q?R=C3=A9mi_Denis-Courmont?=) Date: Tue, 07 Jun 2011 08:44:49 +0200 Subject: [vlc-devel] [vlc-commits] Revert "Add Dirac encoding support to VLC using the Schroedinger library." In-Reply-To: References: <20110606200801.4C3A413E993@albiero.videolan.org> Message-ID: On Tue, 7 Jun 2011 16:09:39 +1000, Anuradha Suraparaju wrote: > Can someone explains what this comment means? I am not sure why the dirac > encoding support using Schroedinger was removed. Hand-crafted code in the plugin description function is not allowed. We have already been through this discussion several times including at the last meeting, and I am not reopening it yet again. -- R?mi Denis-Courmont http://www.remlab.net/ From asuraparaju at gmail.com Tue Jun 7 09:36:37 2011 From: asuraparaju at gmail.com (Anuradha Suraparaju) Date: Tue, 7 Jun 2011 17:36:37 +1000 Subject: [vlc-devel] [vlc-commits] Revert "Add Dirac encoding support to VLC using the Schroedinger library." In-Reply-To: References: <20110606200801.4C3A413E993@albiero.videolan.org> Message-ID: Hi, On Tuesday, June 7, 2011, R?mi Denis-Courmont wrote: > On Tue, 7 Jun 2011 16:09:39 +1000, Anuradha Suraparaju > wrote: >> Can someone explains what this comment means? I am not sure why the > dirac >> encoding support using Schroedinger was removed. > > Hand-crafted code in the plugin description function is not allowed. We > have already been through this discussion several times including at the > last meeting, and I am not reopening it yet again. > I am sorry but I am not aware of what has been discussed. Can I find the discussion in the vlc-devel archives? I am the developer who submitted the patch and I would like to correct it so that dirac encoding using Schroedinger is available again in vic since Schroedinger is a better, faster and more complete implementation of dirac. Regards, Anuradha > -- > R?mi Denis-Courmont > http://www.remlab.net/ > _______________________________________________ > vlc-devel mailing list > To unsubscribe or modify your subscription options: > http://mailman.videolan.org/listinfo/vlc-devel > From jb at videolan.org Tue Jun 7 14:40:25 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Tue, 7 Jun 2011 14:40:25 +0200 Subject: [vlc-devel] [PoC] Android Surface video output In-Reply-To: <20110601145922.GA3431@videolan.org> References: <20110601145922.GA3431@videolan.org> Message-ID: <20110607124025.GA32701@videolan.org> Hello, As promised and after the mailing list and IRC reviews, here is a new version. On Wed, Jun 01, 2011 at 04:59:22PM +0200, Jean-Baptiste Kempf wrote : > here is a video output using Android::Surface. Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device -------------- next part -------------- A non-text attachment was scrubbed... Name: androidsurface.c Type: text/x-csrc Size: 9273 bytes Desc: not available URL: From remi at remlab.net Tue Jun 7 15:22:51 2011 From: remi at remlab.net (=?UTF-8?Q?R=C3=A9mi_Denis-Courmont?=) Date: Tue, 07 Jun 2011 15:22:51 +0200 Subject: [vlc-devel] [PoC] Android Surface video output In-Reply-To: <20110607124025.GA32701@videolan.org> References: <20110601145922.GA3431@videolan.org> <20110607124025.GA32701@videolan.org> Message-ID: --- /dev/null 2011-06-07 09:16:39.955156851 +0300 +++ androidsurface.c 2011-06-07 16:12:19.000000000 +0300 @@ -0,0 +1,308 @@ +/***************************************************************************** + * androidsurface.c: android video output using Surface Flinger + ***************************************************************************** + * Copyright ? 2011 VideoLAN + * + * Authors: Ming Hu + * Ludovic Fauvet + * S?bastien Toque + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 + * of the License, or (at your option) any later version. + * + * This library 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 Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + ****************************************************************************/ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include +#include +#include +#include + +#include + +#ifndef ANDROID_SYM_S_LOCK +# define ANDROID_SYM_S_LOCK "_ZN7android7Surface4lockEPNS0_11SurfaceInfoEb" +#endif +#ifndef ANDROID_SYM_S_UNLOCK +# define ANDROID_SYM_S_UNLOCK "_ZN7android7Surface13unlockAndPostEv" +#endif + +/***************************************************************************** + * Module descriptor + *****************************************************************************/ + +static int Open (vlc_object_t *); +static void Close(vlc_object_t *); + +vlc_module_begin() + set_category(CAT_VIDEO) + set_subcategory(SUBCAT_VIDEO_VOUT) + set_shortname("AndroidSurface") + set_description(N_("Android Surface video output")) + set_capability("vout display", 155) + add_shortcut("androidsurface", "android") + set_callbacks(Open, Close) +vlc_module_end() + +/***************************************************************************** + * JNI prototypes + *****************************************************************************/ + +void *LockAndGetSurface(); +void UnlockSurface(); +void SetSurfaceSize(int width, int height); + +// _ZN7android7Surface4lockEPNS0_11SurfaceInfoEb +typedef void (*Surface_lock)(void *, void *, int); +// _ZN7android7Surface13unlockAndPostEv +typedef void (*Surface_unlockAndPost)(void *); + +/***************************************************************************** + * Local prototypes + *****************************************************************************/ + +static picture_pool_t *Pool (vout_display_t *, unsigned); +static void Display(vout_display_t *, picture_t *, subpicture_t *); +static int Control(vout_display_t *, int, va_list); + +/* */ +struct vout_display_sys_t { + picture_pool_t *pool; + void *p_library; + Surface_lock s_lock; + Surface_unlockAndPost s_unlockAndPost; + + picture_resource_t resource; +}; + +/* */ +typedef struct _SurfaceInfo { + uint32_t w; + uint32_t h; + uint32_t s; + uint32_t usage; + uint32_t format; + uint32_t* bits; + uint32_t reserved[2]; +} SurfaceInfo; + +struct picture_sys_t +{ + void *surf; + SurfaceInfo info; + vout_display_sys_t *sys; +}; + +static int AndroidLockSurface(picture_t *); +static void AndroidUnlockSurface(picture_t *); + +static vlc_mutex_t single_instance = VLC_STATIC_MUTEX; + +#define OPENLIB(SO) \ + p_library = dlopen(SO, RTLD_NOW); \ + if (p_library) { \ + sys->s_lock = (Surface_lock)(dlsym(p_library, ANDROID_SYM_S_LOCK)); \ + sys->s_unlockAndPost = \ + (Surface_unlockAndPost)(dlsym(p_library, ANDROID_SYM_S_UNLOCK));\ + if (sys->s_lock && sys->s_unlockAndPost) { \ + return p_library; \ + } \ + dlclose(p_library); \ + } Don't use macros when you can use functions. + +static void *InitLibrary(vout_display_sys_t *sys) { + void *p_library; + OPENLIB("libsurfaceflinger_client.so"); + OPENLIB("libui.so"); + return NULL; +} + +#undef OPENLIB + +static int Open(vlc_object_t *p_this) { + vout_display_t *vd = (vout_display_t *)p_this; + vout_display_sys_t *sys; + void *p_library; + + /* */ + if (vlc_mutex_trylock(&single_instance) != 0) { + msg_Err(vd, "Can't start more than one instance at a time"); + return VLC_EGENERIC; + } + + /* Allocate structure */ + sys = (struct vout_display_sys_t*) calloc(1, sizeof(*sys)); + if (!sys) { + vlc_mutex_unlock(&single_instance); + return VLC_ENOMEM; + } + + /* */ + sys->p_library = p_library = InitLibrary(sys); + if (!p_library) { + free(sys); + msg_Err(vd, "Could not initialize libui.so/libsurfaceflinger_client.so!"); + vlc_mutex_unlock(&single_instance); + return VLC_EGENERIC; + } + + /* Setup chroma */ + video_format_t fmt = vd->fmt; + fmt.i_chroma = VLC_CODEC_RGB32; + fmt.i_rmask = 0x000000ff; + fmt.i_gmask = 0x0000ff00; + fmt.i_bmask = 0x00ff0000; + video_format_FixRgb(&fmt); + + /* Create the associated picture */ + picture_resource_t *rsc = &sys->resource; + rsc->p_sys = malloc(sizeof(*rsc->p_sys)); + if (!rsc->p_sys) + goto enomem; + rsc->p_sys->sys = sys; + + for (int i = 0; i < PICTURE_PLANE_MAX; i++) { + rsc->p[i].p_pixels = NULL; + rsc->p[i].i_pitch = 0; + rsc->p[i].i_lines = 0; + } + picture_t *picture = picture_NewFromResource(&fmt, rsc); + if (!picture) + goto enomem; Leaks rsc->p_sys. + + /* Wrap it into a picture pool */ + picture_pool_configuration_t pool_cfg; + memset(&pool_cfg, 0, sizeof(pool_cfg)); + pool_cfg.picture_count = 1; + pool_cfg.picture = &picture; + pool_cfg.lock = AndroidLockSurface; + pool_cfg.unlock = AndroidUnlockSurface; + + sys->pool = picture_pool_NewExtended(&pool_cfg); + if (!sys->pool) { + picture_Release(picture); + goto enomem; + } + + /* Setup vout_display */ + vd->sys = sys; + vd->fmt = fmt; + vd->pool = Pool; + vd->display = Display; + vd->control = Control; + vd->prepare = NULL; + vd->manage = NULL; + + /* Fix initial state */ + vout_display_SendEventFullscreen(vd, false); + + return VLC_SUCCESS; + +enomem: + free(sys); + dlclose(p_library); + vlc_mutex_unlock(&single_instance); + return VLC_ENOMEM; +} + +static void Close(vlc_object_t *p_this) { + vout_display_t *vd = (vout_display_t *)p_this; + vout_display_sys_t *sys = vd->sys; + + if (sys->pool) Seems like a tautology. + picture_pool_Delete(sys->pool); + sys->pool = NULL; + dlclose(sys->p_library); + free(sys); + vlc_mutex_unlock(&single_instance); +} + +static picture_pool_t *Pool(vout_display_t *vd, unsigned count) { + vout_display_sys_t *sys = vd->sys; + VLC_UNUSED(count); + return sys->pool; +} + +static int AndroidLockSurface(picture_t *picture) { + picture_sys_t *picsys = picture->p_sys; + vout_display_sys_t *sys = picsys->sys; + SurfaceInfo *info; + uint32_t sw, sh; + void *surf; + + sw = picture->p[0].i_visible_pitch / picture->p[0].i_pixel_pitch; + sh = picture->p[0].i_visible_lines; + + picsys->surf = surf = LockAndGetSurface(); + info = &(picsys->info); + + if (!likely(surf)) { Uh, unlikely(!surf) seems more natural. + UnlockSurface(); This function seems to be undefined. + return VLC_EGENERIC; + } + + sys->s_lock(surf, info, 1); + + //size doesn't match, request a resize + if (info->w != sw || info->h != sh) { + SetSurfaceSize(sw, sh); + sys->s_unlockAndPost(surf); + UnlockSurface(); + return VLC_EGENERIC; + } + + picture->p->p_pixels = (uint8_t*)info->bits; + picture->p->i_pitch = 4 * info->s; + picture->p->i_lines = info->h; + + return VLC_SUCCESS; +} + +static void AndroidUnlockSurface(picture_t *picture) { + picture_sys_t *picsys = picture->p_sys; + vout_display_sys_t *sys = picsys->sys; + + if (likely(picsys->surf)) I might be mistaken, but this should be always true. (As far as I know, you cannot unlock an unlocked picture.) + sys->s_unlockAndPost(picsys->surf); + UnlockSurface(); +} + +static void Display(vout_display_t *vd, picture_t *picture, subpicture_t *subpicture) { + VLC_UNUSED(vd); + VLC_UNUSED(subpicture); + picture_Release(picture); +} + +static int Control(vout_display_t *vd, int query, va_list args) { + VLC_UNUSED(args); + + switch (query) { + case VOUT_DISPLAY_CHANGE_FULLSCREEN: + case VOUT_DISPLAY_CHANGE_WINDOW_STATE: + case VOUT_DISPLAY_CHANGE_DISPLAY_SIZE: + case VOUT_DISPLAY_CHANGE_DISPLAY_FILLED: + case VOUT_DISPLAY_CHANGE_ZOOM: + case VOUT_DISPLAY_CHANGE_SOURCE_ASPECT: + case VOUT_DISPLAY_CHANGE_SOURCE_CROP: + case VOUT_DISPLAY_GET_OPENGL: + return VLC_EGENERIC; + case VOUT_DISPLAY_HIDE_MOUSE: + return VLC_SUCCESS; + default: + msg_Err(vd, "Unknown request in android vout display"); + return VLC_EGENERIC; + } +} -- R?mi Denis-Courmont http://www.remlab.net/ From beauze.h at gmail.com Tue Jun 7 15:45:22 2011 From: beauze.h at gmail.com (Hugo Beauzee-Luyssen) Date: Tue, 7 Jun 2011 15:45:22 +0200 Subject: [vlc-devel] [RFC] Android OpenSL ES audio output In-Reply-To: <20110607060246.GA19278@nautica> References: <20110601130149.GA11312@videolan.org> <20110601223055.GA26699@videolan.org> <201106021029.54240.remi@remlab.net> <20110607060246.GA19278@nautica> Message-ID: On Tue, Jun 7, 2011 at 8:02 AM, Dominique Martinet wrote: > Hi, > > R?mi Denis-Courmont wrote on Thu, Jun 02, 2011 : >> Le jeudi 2 juin 2011 01:30:55 Jean-Baptiste Kempf, vous avez ?crit : >> > On Wed, Jun 01, 2011 at 04:21:25PM +0200, R?mi Denis-Courmont wrote : >> > > > ? ? // set the player's state to playing >> > > > ? ? result = (*p_sys->playerPlay)->SetPlayState( p_sys->playerPlay, >> > > > >> > > > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? SL_PLAYSTATE_PLAYING ); >> > > > >> > > > ? ? CHECK_OPENSL_ERROR( result, "Failed to switch to play state" ); >> >> I don't see the point in uncorking while there are no audio samples to be >> played yet. > > I do understand this, but I'm not familiar enough with the architecture > to figure where to put it. > > It could probably be called the first time play() is called, even though > I'd find it kind of ugly to check that it's called for the first time, > but if you want to be this precise I suppose you'd also want to put the > state back to pause/stop when we pause the player.. so maybe using the > event system? > (so defining a function InputEvent and using something like: > var_AddCallback( p_input, "intf-event", InputEvent, &cond ); > in the open()? I'm not even sure if I can call playlist_CurrentInput or > something similar to get a p_input at this stage... (the line comes > from src/playlist/fetcher.c, I just random-greped on event and picked > something that looked appropriate without any deep reading)) > > I'm open to suggestions. > Hi, This what OpenSLES doc states : "When the player is in the SL_PLAYSTATE_PLAYING state, which is controlled by the SLPlayItf interface [see section 8.32], adding buffers will implicitly start playback. In the case of starvation due to insufficient buffers in the queue, the playing of audio data stops. The player remains in the SL_PLAYSTATE_PLAYING state. Upon queuing of additional buffers, the playing of audio data resumes. Note that starvation of queued buffers causes audible gaps in the audio data stream. In the case where the player is not in the playing state, addition of buffers does not start audio playback." Since the playback depends on both player state being SL_PLAYSTATE_PLAYING, and the buffer queue not to be empty, it seems useless to have some kind of flag to start the playback only after the first call to Play(), as it is handled internally by OpenSLES. Regards, > -- > Asmadeus | Dominique Martinet > _______________________________________________ > vlc-devel mailing list > To unsubscribe or modify your subscription options: > http://mailman.videolan.org/listinfo/vlc-devel > -- Hugo Beauz?e-Luyssen From xilasz at gmail.com Tue Jun 7 16:17:04 2011 From: xilasz at gmail.com (XilasZ) Date: Tue, 7 Jun 2011 16:17:04 +0200 Subject: [vlc-devel] [PoC] Android Surface video output In-Reply-To: References: <20110601145922.GA3431@videolan.org> <20110607124025.GA32701@videolan.org> Message-ID: > + UnlockSurface(); > > This function seems to be undefined. > it's implemented in extras/package/android/vlc-android/jni/libvlcjni.c, so it will link only with android build +static void AndroidUnlockSurface(picture_t *picture) { > + picture_sys_t *picsys = picture->p_sys; > + vout_display_sys_t *sys = picsys->sys; > + > + if (likely(picsys->surf)) > > I might be mistaken, but this should be always true. (As far as I know, > you cannot unlock an unlocked picture.) > Maybe, not knowing that, i prefered to make sure -------------- next part -------------- An HTML attachment was scrubbed... URL: From mehrotra.akash at gmail.com Tue Jun 7 16:25:00 2011 From: mehrotra.akash at gmail.com (akash mehrotra) Date: Tue, 7 Jun 2011 19:55:00 +0530 Subject: [vlc-devel] [PATCH] Updates to http interface Message-ID: Allows the http interface to 1. Set/Modify Audio delay 2. Set/Modify playback rate 3. Set/modify subtitle delay -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 0001-http-interface-can-now-change-and-view-audio-delay.patch Type: application/octet-stream Size: 8631 bytes Desc: not available URL: From zhushisongzhu at yahoo.com Tue Jun 7 18:00:56 2011 From: zhushisongzhu at yahoo.com (zhu shi song) Date: Tue, 7 Jun 2011 09:00:56 -0700 (PDT) Subject: [vlc-devel] How can DIV cover VLC ActiveX control transparently Message-ID: <585670.69692.qm@web125703.mail.ne1.yahoo.com> I know that vlc has image composite mechanism which supports text and OSD composite display through subpicture (vout_subpictures.c). But I don't know the details, so I'll check them further. I also know subpicture composte can't support geometry objects such as rectangle, triangle, circle. I'm looking for the way to add such functions. The difficult problem I meet now is that vlc source code is complicated and hard to understand. Tt's tedious to understand its every detail. I don't know where is the appropriate place to add my code. Firstly, I want to draw one transparent rectangle overlaying on image when the player is paused. Then I can move,enlarge and shrink it. zhu From remi at remlab.net Tue Jun 7 22:26:34 2011 From: remi at remlab.net (=?iso-8859-1?q?R=E9mi?= Denis-Courmont) Date: Tue, 7 Jun 2011 23:26:34 +0300 Subject: [vlc-devel] How can DIV cover VLC ActiveX control transparently In-Reply-To: <585670.69692.qm@web125703.mail.ne1.yahoo.com> References: <585670.69692.qm@web125703.mail.ne1.yahoo.com> Message-ID: <201106072326.34954.remi@remlab.net> Le mardi 7 juin 2011 19:00:56 zhu shi song, vous avez ?crit : > I know that vlc has image composite mechanism which supports text and > OSD composite display through subpicture (vout_subpictures.c). But I > don't know the details, so I'll check them further. If you want to go that way, you'll need to write a new SPU source plugin to VLC, very much like the logo and the marquee filters. This might not be very practical for ActiveX though. The other option is to select a video output plugin that supports compositing by the graphic adapter, and use a transparent window on top of the video window. Well, that's the high level idea anyway; I have never tried myself. -- R?mi Denis-Courmont http://www.remlab.net/ http://fi.linkedin.com/in/remidenis From pejackson at gmail.com Wed Jun 8 00:15:05 2011 From: pejackson at gmail.com (Patrick Jackson) Date: Tue, 7 Jun 2011 17:15:05 -0500 Subject: [vlc-devel] Crystal HD for 1080i MPEG2 and closed captions on low-end system Message-ID: Hello, I'm using VLC on a low-end system (Atom D525 with Intel GMA 3150 graphics) running Linux. I would like to play 1080i MPEG2 with deinterlacing and closed-captions. It seems my CPU can keep up if I use software decoding and software deinterlacing (blend), but when I turn on closed-captions I start losing video frames at a rate that is very noticeable. To try and work-around this, I stuck a Crystal HD (BCM70015 version) mini-PCIe decoder in the system and built the latest VLC 1.2 trunk code. I'm also using Jarod Wilson's crystalhd driver and libs, built from the latest trunk source. It seems to be using the card fine and drops the CPU use down, as expected. [0x83b6554] crystalhd decoder: Opened CrystalHD hardware with success [0x83b6554] main decoder debug: using decoder module "crystalhd" Unfortunately, neither deinterlacing nor closed-captions work for me when the crystal codec is in use. The video definitely looks interlaced, and this shows up on the console: [0xadb07c9c] main video output debug: Adding 'deinterlace' as static [0x8af6ec4] main filter debug: looking for video filter2 module: 1 candidate [0x8987904] main input debug: Buffering 34% [0x8987904] main input debug: Buffering 34% [0x8af6ec4] main filter debug: no video filter2 module matching "deinterlace" could be loaded [0x8af6ec4] main filter debug: TIMER module_need() : 1.522 ms - Total 1.522 ms / 1 intvls (Avg 1.522 ms) [0xadb07c9c] main video output error: Failed to create video filter2 'deinterlace' [0xadb07c9c] main video output error: Failed to add filter 'deinterlace' And when I turn on closed-captions, the video stutters with captions showing, but then it stops. This is output on the console: [0xa8e285e4] main decoder debug: looking for decoder module: 32 candidates [0xa8e285e4] main decoder debug: using decoder module "cc" [0xa8e285e4] main decoder debug: TIMER module_need() : 36.672 ms - Total 36.672 ms / 1 intvls (Avg 36.672 ms) [0xad907e54] main video output warning: picture is too late to be displayed (missing 35 ms) [0xad907e54] main video output debug: picture might be displayed late (missing 3 ms) [0x865f904] main vout display debug: auto hiding mouse [0xad907e54] main video output warning: picture is too late to be displayed (missing 252 ms) [0xad907e54] main video output warning: picture is too late to be displayed (missing 218 ms) [0xad907e54] main video output warning: picture is too late to be displayed (missing 186 ms) I know Crystal HD support is fairly new, but should software deinterlacing and closed caption display work with Crystal HD decoding in theory? If so, any pointers on debugging these problems? A broader question is: is there a better way to get this to run well on my system (with or without the Crystal HD)? I only need to display 720p (from the 1080i source). My current plan is to: 1) Come up with a configuration that plays 1080i MPEG2, deinterlaced, with closed captions without the Crystal HD. For example, I've seen claims that the Intel GMA 3150 does full MPEG2 decoding in hardware, but I haven't figured out if it's possible to take advantage of this in VLC. Any pointers on this, or other options, would be greatly appreciated. - or- 2) Decode, deinterlace, and downscale in the Crystal HD and add closed captions in software. Researching this choice, I've found and successfully gotten downscaling to work as described in this post: http://groups.google.com/group/crystalhd-development/browse_thread/thread/bfc77bcc4c05d27f?pli=1 There's some talk of turning deinterlacing on in the Crystal HD in posts, and even some test code in the following post, but I haven't found a claim that someone has it working. Anyone know differently? http://groups.google.com/group/crystalhd-development/browse_thread/thread/cb50919d606cad7c By the way, thanks to everyone for all the work and good discussions. It has help a lot. Special thanks to R.M. for posting his research on the same topics. I'd really appreciate any help. Thanks very much, - Patrick -------------- next part -------------- An HTML attachment was scrubbed... URL: From jb at videolan.org Wed Jun 8 00:37:02 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Wed, 8 Jun 2011 00:37:02 +0200 Subject: [vlc-devel] Crystal HD for 1080i MPEG2 and closed captions on low-end system In-Reply-To: References: Message-ID: <20110607223702.GA17220@videolan.org> Hello Patrick, On Tue, Jun 07, 2011 at 05:15:05PM -0500, Patrick Jackson wrote : > To try and work-around this, I stuck a Crystal HD (BCM70015 version) > mini-PCIe decoder in the system and built the latest VLC 1.2 trunk code. I'm > also using Jarod Wilson's crystalhd driver and libs, built from the latest > trunk source. It seems to be using the card fine and drops the CPU use down, > as expected. Wow, I am glad someone actually tested this code. I am very sorry for its crapiness. > Unfortunately, neither deinterlacing nor closed-captions work for me when > the crystal codec is in use. The video definitely looks interlaced, and this > shows up on the console: > I know Crystal HD support is fairly new, but should software deinterlacing > and closed caption display work with Crystal HD decoding in theory? If so, > any pointers on debugging these problems? > > A broader question is: is there a better way to get this to run well on my > system (with or without the Crystal HD)? Well, the thing is that, so far, the crystalHD decoder outputs in YUYV and we don't have a deinterlacer supporting this format. Same reason for blending the subtitles. - One way would be to force it to use OUTPUT_MODE420_NV12 instead, even if people from Broadcom advised me against it. NV12 is well supported in VLC. - One second way would be to finally understand HOW THE HELL do I activate hardware deinterlacing in BCM. I don't get it and the answer "it should be easy if you look at the driver code" is not one that I liked/had time to do. Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From jb at videolan.org Wed Jun 8 00:40:33 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Wed, 8 Jun 2011 00:40:33 +0200 Subject: [vlc-devel] [PoC] Android Surface video output In-Reply-To: References: <20110601145922.GA3431@videolan.org> <20110607124025.GA32701@videolan.org> Message-ID: <20110607224033.GA18531@videolan.org> On Tue, Jun 07, 2011 at 03:22:51PM +0200, R?mi Denis-Courmont wrote : > a review. Thanks. Version attached should take in account most of your remarks. Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device -------------- next part -------------- A non-text attachment was scrubbed... Name: androidsurface.c Type: text/x-csrc Size: 9057 bytes Desc: not available URL: From alexander at sulfrian.net Wed Jun 8 02:06:53 2011 From: alexander at sulfrian.net (Alexander Sulfrian) Date: Wed, 8 Jun 2011 02:06:53 +0200 Subject: [vlc-devel] GSoC 2011: linux-minidisc netmd library Message-ID: <20110608020653.30d72a0f@laptop.localhost> Hello everyone, I am Alexander Sulfrian (from Berlin, Germany). I was chosen for google summer of code this year, too. I will work the next month for the linux-minidisc project to port the available python scripts to c and create a library for the Sony netmd protocol. It should be possible, that the library could be used by vlc or other applications for communication with and reading/writing tracks from the player. I now created a very little wiki page[1] and forked the git repository of linux-minidisc on github[2]. If you have any questions, feel free to contact me. You will find the necessary information on my wiki userpage[3]. Regards, Alexander Sulfrian 1: http://wiki.videolan.org/SoC_2011/LibNetMD 2: https://github.com/AlexanderS/linux-minidisc 3: http://wiki.videolan.org/User:AlexanderS -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 198 bytes Desc: not available URL: From remi at remlab.net Wed Jun 8 09:55:00 2011 From: remi at remlab.net (=?UTF-8?Q?R=C3=A9mi_Denis-Courmont?=) Date: Wed, 08 Jun 2011 09:55:00 +0200 Subject: [vlc-devel] Crystal HD for 1080i MPEG2 and closed captions on low-end system In-Reply-To: <20110607223702.GA17220@videolan.org> References: <20110607223702.GA17220@videolan.org> Message-ID: <8afa0ffb579df138a465c0eadd93b1b0@chewa.net> On Wed, 8 Jun 2011 00:37:02 +0200, Jean-Baptiste Kempf wrote: > - One way would be to force it to use OUTPUT_MODE420_NV12 instead, even if > people from Broadcom advised me against it. NV12 is well supported in > VLC. Is it? I thought it was only used in AVCodec/DxVA2 with on-the-fly conversion to/from YV12. We don't have any chroma filter for NV12 nor any video output that seems to support it. -- R?mi Denis-Courmont http://www.remlab.net/ From remi at remlab.net Wed Jun 8 09:57:19 2011 From: remi at remlab.net (=?UTF-8?Q?R=C3=A9mi_Denis-Courmont?=) Date: Wed, 08 Jun 2011 09:57:19 +0200 Subject: [vlc-devel] [PoC] Android Surface video output In-Reply-To: <20110607224033.GA18531@videolan.org> References: <20110601145922.GA3431@videolan.org> <20110607124025.GA32701@videolan.org> <20110607224033.GA18531@videolan.org> Message-ID: <94bb485b5b72baac49b304b28da97247@chewa.net> On Wed, 8 Jun 2011 00:40:33 +0200, Jean-Baptiste Kempf wrote: > On Tue, Jun 07, 2011 at 03:22:51PM +0200, R?mi Denis-Courmont wrote : >> a review. > > Thanks. Version attached should take in account most of your remarks. No objections but this calling back extern functions from a VLC plugin is rather ugly. -- R?mi Denis-Courmont http://www.remlab.net/ From max.goettner at dstream.de Wed Jun 8 10:09:53 2011 From: max.goettner at dstream.de (=?iso-8859-1?Q?Max_G=F6ttner_-_d.stream?=) Date: Wed, 8 Jun 2011 10:09:53 +0200 Subject: [vlc-devel] RTSP-Streaming, frames dropped when RTCP sender report arrives In-Reply-To: <20110608020653.30d72a0f@laptop.localhost> References: <20110608020653.30d72a0f@laptop.localhost> Message-ID: <013501cc25b3$72838f60$578aae20$@goettner@dstream.de> Hello, is there a known bug concerning the following issue? I receive a RTSP 4000kbit mpeg4 / h264 stream without transcoding from a camera via UDP. My LibVlc version is 1.1.9. I observe that camera and client exchange RTCP sender report and receiver report packets at regular intervals. However if and only if the first sender report arrives one or two frames are not written to the video-file, although the according udp packets arrive. Any suggestions? Thanks in advance. greetings, Max From sebastien-devel at celeos.eu Wed Jun 8 10:20:14 2011 From: sebastien-devel at celeos.eu (=?ISO-8859-1?Q?S=E9bastien?= Escudier) Date: Wed, 08 Jun 2011 10:20:14 +0200 Subject: [vlc-devel] RTSP-Streaming, frames dropped when RTCP sender report arrives In-Reply-To: <013501cc25b3$72838f60$578aae20$@goettner@dstream.de> References: <20110608020653.30d72a0f@laptop.localhost> <013501cc25b3$72838f60$578aae20$@goettner@dstream.de> Message-ID: <1307521214.18752.4.camel@stim-desktop> On Wed, 2011-06-08 at 10:09 +0200, Max G?ttner - d.stream wrote: > Hello, > > is there a known bug concerning the following issue? > I receive a RTSP 4000kbit mpeg4 / h264 stream without transcoding from a > camera via UDP. My LibVlc version is 1.1.9. I observe that camera and client > exchange RTCP sender report and receiver report packets at regular > intervals. However if and only if the first sender report arrives one or two > frames are not written to the video-file, although the according udp packets > arrive. > Any suggestions? Thanks in advance. Look at vlc logs, you may see pts warnings. when SR are received, RTP timestamps are adjusted. I had a camera with buggy SR, resulting in frame skipping. From remi at remlab.net Wed Jun 8 11:02:25 2011 From: remi at remlab.net (=?UTF-8?Q?R=C3=A9mi_Denis-Courmont?=) Date: Wed, 08 Jun 2011 11:02:25 +0200 Subject: [vlc-devel] RTSP-Streaming, frames dropped when RTCP sender report arrives In-Reply-To: <013501cc25b3$72838f60$578aae20$@goettner@dstream.de> References: <20110608020653.30d72a0f@laptop.localhost> <013501cc25b3$72838f60$578aae20$@goettner@dstream.de> Message-ID: <162026daa77ae58edbe26dea7bff88ae@chewa.net> Hello, On Wed, 8 Jun 2011 10:09:53 +0200, Max G?ttner - d.stream wrote: > is there a known bug concerning the following issue? > I receive a RTSP 4000kbit mpeg4 / h264 stream without transcoding from a > camera via UDP. My LibVlc version is 1.1.9. I observe that camera and > client exchange RTCP sender report and receiver report packets at regular > intervals. However if and only if the first sender report arrives one or > two frames are not written to the video-file, although the according udp > packets arrive. > Any suggestions? Thanks in advance. A/V synchronization is not reliable until after the first RTCP-SR has been received by the client. Normally, well behaved RTSP server should send an RTCP-SR packet immediately when the RTP session is first setup to avoid this. See RFC6051 for more details, especially ?2.1.1 for RTSP. -- R?mi Denis-Courmont http://www.remlab.net/ From jb at videolan.org Wed Jun 8 12:20:07 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Wed, 8 Jun 2011 12:20:07 +0200 Subject: [vlc-devel] [PoC] Android Surface video output In-Reply-To: <94bb485b5b72baac49b304b28da97247@chewa.net> References: <20110601145922.GA3431@videolan.org> <20110607124025.GA32701@videolan.org> <20110607224033.GA18531@videolan.org> <94bb485b5b72baac49b304b28da97247@chewa.net> Message-ID: <20110608102007.GA19850@videolan.org> On Wed, Jun 08, 2011 at 09:57:19AM +0200, R?mi Denis-Courmont wrote : > No objections but this calling back extern functions from a VLC plugin is > rather ugly. Thanks for the review I think we can agree on the ugliness and keep that in mind for a future improvement. But I believe this is a correct start. Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From zhushisongzhu at yahoo.com Wed Jun 8 14:12:49 2011 From: zhushisongzhu at yahoo.com (zhu shi song) Date: Wed, 8 Jun 2011 05:12:49 -0700 (PDT) Subject: [vlc-devel] How can DIV cover VLC ActiveX control transparently In-Reply-To: <201106072326.34954.remi@remlab.net> Message-ID: <804877.68800.qm@web125705.mail.ne1.yahoo.com> (1) I have check the code, it's difficult to utilize SPU to display several rectangles transparently at the same in activeX. (2) If I can put one transparent window on video window, I can easily put standard html element on it transparently. So the problem is solved easily. I don't know how to do this. I'll try my best. (3) If Vlc has the mechanism to support support as flash does and can blend video and animation output simutaneously, We can complete video annotation task as easily as youtube did. In fact VLC can support subtitle, subpictures and logo, but it don't provide unifying and simple interface to support more abstract and rich functions not enough to do animation. (4) Is Youtube use flash player builtin function to complete the task? Who can answer the problem? thanks zhu > Le mardi 7 juin 2011 19:00:56 zhu shi > song, vous avez ?crit : > >? ???I know that vlc has image > composite mechanism which? supports text and > > OSD composite display through subpicture > (vout_subpictures.c).? But I > > don't know the details, so I'll check them further. > > If you want to go that way, you'll need to write a new SPU > source plugin to > VLC, very much like the logo and the marquee filters. This > might not be very > practical for ActiveX though. > > The other option is to select a video output plugin that > supports compositing > by the graphic adapter, and use a transparent window on top > of the video > window. Well, that's the high level idea anyway; I have > never tried myself. > > -- > R?mi Denis-Courmont > http://www.remlab.net/ > http://fi.linkedin.com/in/remidenis > From serdar at pardus.org.tr Wed Jun 8 15:26:39 2011 From: serdar at pardus.org.tr (Serdar =?UTF-8?B?RGFsZ8Sxw6c=?=) Date: Wed, 8 Jun 2011 16:26:39 +0300 Subject: [vlc-devel] Problem with vlc 1.1 series and xulrunner 2.0 In-Reply-To: <20110419190239.GA1664@blackspire> References: <20110419190239.GA1664@blackspire> Message-ID: <20110608162639.46af1827.serdar@pardus.org.tr> On Tue, 19 Apr 2011 21:02:39 +0200 Rafa? Mu?y?o wrote: > While mozilla plugin seems to build with xulrunner 2.0, according to > Gentoo bug 361263 it doesn't really work with it. > > I've dropped a patch there, that fixes those undefined references, but I'm not sure if it actually works, Some feedback would be welcome. > > AFAICT, patch introduces only trivial changes. > Any progress in this issue? (actually I don't think so, as more than one and a half month has passed :) ) In my system, using vlc-1.1.10, firefox crashes with the error /usr/lib/MozillaFirefox/firefox: symbol lookup error: /usr/lib/browser-plugins/libvlcplugin.so: undefined symbol: NPP_Initialize [vlc] > ldd -r -u /usr/lib/browser-plugins/libvlcplugin.so 19005: /usr/lib/browser-plugins/libvlcplugin.so: error: symbol lookup error: undefined symbol: NPP_Shutdown (continued) undefined symbol: NPP_Shutdown (/usr/lib/browser-plugins/libvlcplugin.so) 19005: /usr/lib/browser-plugins/libvlcplugin.so: error: symbol lookup error: undefined symbol: NPP_Initialize (continued) undefined symbol: NPP_Initialize (/usr/lib/browser-plugins/libvlcplugin.so) -- Serdar Dalg?? From serdar at pardus.org.tr Wed Jun 8 15:36:50 2011 From: serdar at pardus.org.tr (Serdar =?UTF-8?B?RGFsZ8Sxw6c=?=) Date: Wed, 8 Jun 2011 16:36:50 +0300 Subject: [vlc-devel] Problem with vlc 1.1 series and xulrunner 2.0 In-Reply-To: <20110608162639.46af1827.serdar@pardus.org.tr> References: <20110419190239.GA1664@blackspire> <20110608162639.46af1827.serdar@pardus.org.tr> Message-ID: <20110608163650.1d2b6896.serdar@pardus.org.tr> On Wed, 8 Jun 2011 16:26:39 +0300 Serdar Dalg?? wrote: > On Tue, 19 Apr 2011 21:02:39 +0200 > Rafa? Mu?y?o wrote: > > > While mozilla plugin seems to build with xulrunner 2.0, according to > > Gentoo bug 361263 it doesn't really work with it. > > > > I've dropped a patch there, that fixes those undefined references, but I'm not sure if it actually works, Some feedback would be welcome. > > > > AFAICT, patch introduces only trivial changes. > > > > Any progress in this issue? (actually I don't think so, as more than > one and a half month has passed :) ) > > In my system, using vlc-1.1.10, firefox crashes with the error > Opps, false alarm, sorry. It is fixed in vlc-1.1.10. -- Serdar Dalg?? From max.goettner at dstream.de Wed Jun 8 17:25:57 2011 From: max.goettner at dstream.de (=?utf-8?Q?Max_G=C3=B6ttner_-_d.stream?=) Date: Wed, 8 Jun 2011 17:25:57 +0200 Subject: [vlc-devel] RTSP-Streaming, frames dropped when RTCP sender report arrives In-Reply-To: <1307521214.18752.4.camel@stim-desktop> References: <20110608020653.30d72a0f@laptop.localhost> <013501cc25b3$72838f60$578aae20$@goettner@dstream.de> <1307521214.18752.4.camel@stim-desktop> Message-ID: <000001cc25f0$5d8c3430$18a49c90$@goettner@dstream.de> Hi S?bastien, thanks for your quick answer. What you say, was my original guess as well. Unfortunately it seems hard to proof. The only relevant message I get is main output error: ES_OUT_RESET_PCR called I also could provoke the following error, when pushing the camera towards its limitations of ressources ES_OUT_SET_(GROUP_)PCR is called too late (pts_delay increased to xxxx ms) This would indicate a buggy camera timestamp generation? Streaming with mplay did not produce the frame-skip, though. I have been analyzing the camera deeply and I appreciate any hint or input for further investigations. Is there a possibility to ignore rtcp packets? Greetings, Max. -----Urspr?ngliche Nachricht----- Von: vlc-devel-bounces at videolan.org [mailto:vlc-devel-bounces at videolan.org] Im Auftrag von S?bastien Escudier Gesendet: Mittwoch, 8. Juni 2011 10:20 An: Mailing list for VLC media player developers Betreff: Re: [vlc-devel] RTSP-Streaming, frames dropped when RTCP sender report arrives On Wed, 2011-06-08 at 10:09 +0200, Max G?ttner - d.stream wrote: > Hello, > > is there a known bug concerning the following issue? > I receive a RTSP 4000kbit mpeg4 / h264 stream without transcoding from a > camera via UDP. My LibVlc version is 1.1.9. I observe that camera and client > exchange RTCP sender report and receiver report packets at regular > intervals. However if and only if the first sender report arrives one or two > frames are not written to the video-file, although the according udp packets > arrive. > Any suggestions? Thanks in advance. Look at vlc logs, you may see pts warnings. when SR are received, RTP timestamps are adjusted. I had a camera with buggy SR, resulting in frame skipping. From zhangchenhui2006 at gmail.com Thu Jun 9 04:31:52 2011 From: zhangchenhui2006 at gmail.com (chenhui zhang) Date: Thu, 9 Jun 2011 10:31:52 +0800 Subject: [vlc-devel] Help about GET_PARAMETERS Message-ID: Hi all, I'm testing our device as a media server and use VLC as the client. When in RTP over TCP mode, vlc can't play the stream. I capture the tcp packet, found that the rtsp is OK and when send the media data to vlc over rtsp, it seems vlc doesn't recv the data because the TCP windows size of vlc side is down to zero and never recover. I also found there is a GET_PARAMETERS message from vlc to device and device reply an empty response after the PLAY method. When I remove the GET_PARAMETERS from the OPTION response of device and try again, it's OK. So I doubt the problem has relations to GET_PARAMETERS. I have search this on Google and there are some information about this but no clearly answer of it. VLC used GET_PARAMETERS as a ping to device, but when I send GET_PARAMETERS response to vlc, why it still can't play? Thanks very much for any suggestion from you. -------------- next part -------------- An HTML attachment was scrubbed... URL: From zhushisongzhu at yahoo.com Thu Jun 9 10:59:10 2011 From: zhushisongzhu at yahoo.com (zhu shi song) Date: Thu, 9 Jun 2011 01:59:10 -0700 (PDT) Subject: [vlc-devel] How can DIV cover VLC ActiveX control transparently In-Reply-To: <201106072326.34954.remi@remlab.net> Message-ID: <611804.5727.qm@web125705.mail.ne1.yahoo.com> Subpictures are displayed synchronously when vout thread displays pictures. But if video is paused, vout thread can do nothing. So filters analogous to logo can't work for me. My task is when player is paused, I can add some video annotations such as spotlight, note. Spotlight is one rectangle which can be manipulated with mouse and displayed semi-trasparently over video. The same frame can hold several different type of annotations. When playing video, player can use filter to composite video and its attached annotations. Vlc can composite logo picture with video. If vlc can composite one html page which is comprised of DIVs, textareas , or can composite spotlight, note with video directly ,the thing will be easy. Otherwise I firstly convert the annotation elements to images, then add these images to video like logo filter does. It's not suitable for web application. I see subpicture region has psz_html field. Can vlc support html elements(textarea, div) rendering? I'm tring to find practical way to add video annotations like youtube does using VLC activeX control. I need your help! thanks zhu --- On Tue, 6/7/11, R?mi Denis-Courmont wrote: > From: R?mi Denis-Courmont > Subject: Re: [vlc-devel] How can DIV cover VLC ActiveX control transparently > To: vlc-devel at videolan.org > Cc: "zhu shi song" > Date: Tuesday, June 7, 2011, 1:26 PM > Le mardi 7 juin 2011 19:00:56 zhu shi > song, vous avez ?crit : > >? ???I know that vlc has image > composite mechanism which? supports text and > > OSD composite display through subpicture > (vout_subpictures.c).? But I > > don't know the details, so I'll check them further. > > If you want to go that way, you'll need to write a new SPU > source plugin to > VLC, very much like the logo and the marquee filters. This > might not be very > practical for ActiveX though. > > The other option is to select a video output plugin that > supports compositing > by the graphic adapter, and use a transparent window on top > of the video > window. Well, that's the high level idea anyway; I have > never tried myself. > > -- > R?mi Denis-Courmont > http://www.remlab.net/ > http://fi.linkedin.com/in/remidenis > From slaine at slaine.org Thu Jun 9 12:51:46 2011 From: slaine at slaine.org (Glen Gray) Date: Thu, 9 Jun 2011 11:51:46 +0100 Subject: [vlc-devel] Help about GET_PARAMETERS In-Reply-To: References: Message-ID: <8D82995F-0514-42D7-8786-99020EB26018@slaine.org> On 9 Jun 2011, at 03:31, chenhui zhang wrote: > Hi all, > I'm testing our device as a media server and use VLC as the client. When in RTP over TCP mode, vlc can't play the stream. I capture the tcp packet, > > found that the rtsp is OK and when send the media data to vlc over rtsp, it seems vlc doesn't recv the data because the TCP windows size of vlc side is down > > to zero and never recover. I also found there is a GET_PARAMETERS message from vlc to device and device reply an empty response after the PLAY method. > > When I remove the GET_PARAMETERS from the OPTION response of device and try again, it's OK. So I doubt the problem has relations to GET_PARAMETERS. > > I have search this on Google and there are some information about this but no clearly answer of it. VLC used GET_PARAMETERS as a ping to device, but when I > > send GET_PARAMETERS response to vlc, why it still can't play? The GET_PARAMETERS should only trigger if the RTSP SETUP response includes a timeout value. If a timeout is there, VLC will send an empty GET_PARAMETERS message as a keep alive method for the stream. Say for example you paused the stream for > timeout, you don't want the session torn down. There are other methods for doing keep alive, like RTCP "RR" messages. -- Glen Gray From zhangchenhui2006 at gmail.com Thu Jun 9 13:29:43 2011 From: zhangchenhui2006 at gmail.com (chenhui zhang) Date: Thu, 9 Jun 2011 19:29:43 +0800 Subject: [vlc-devel] Help about GET_PARAMETERS In-Reply-To: <8D82995F-0514-42D7-8786-99020EB26018@slaine.org> References: <8D82995F-0514-42D7-8786-99020EB26018@slaine.org> Message-ID: Hi? I have check the RTSP messages, there is no timeout value in SETUP response. see it below: SETUP rtsp://159.99.249.146/h264/track1 RTSP/1.0 CSeq: 4 User-Agent: LibVLC/1.1.9 (LIVE555 Streaming Media v2011.01.06) Transport: RTP/AVP/TCP;unicast;interleaved=0-1 RTSP/1.0 200 OK CSeq: 4 Date: Fri, Jan 02 1970 08:02:05 GMT Transport: RTP/AVP/TCP;unicast;destination=159.99.249.118;source=159.99.249.146;interleaved=0-1 By the way, the VLC version is 1.1.9. Session: 2 On Thu, Jun 9, 2011 at 6:51 PM, Glen Gray wrote: > On 9 Jun 2011, at 03:31, chenhui zhang wrote: > > > Hi all, > > I'm testing our device as a media server and use VLC as the > client. When in RTP over TCP mode, vlc can't play the stream. I capture the > tcp packet, > > > > found that the rtsp is OK and when send the media data to vlc over rtsp, > it seems vlc doesn't recv the data because the TCP windows size of vlc side > is down > > > > to zero and never recover. I also found there is a GET_PARAMETERS message > from vlc to device and device reply an empty response after the PLAY method. > > > > When I remove the GET_PARAMETERS from the OPTION response of device and > try again, it's OK. So I doubt the problem has relations to GET_PARAMETERS. > > > > I have search this on Google and there are some information about this > but no clearly answer of it. VLC used GET_PARAMETERS as a ping to device, > but when I > > > > send GET_PARAMETERS response to vlc, why it still can't play? > > The GET_PARAMETERS should only trigger if the RTSP SETUP response includes > a timeout value. If a timeout is there, VLC will send an empty > GET_PARAMETERS message as a keep alive method for the stream. Say for > example you paused the stream for > timeout, you don't want the session torn > down. There are other methods for doing keep alive, like RTCP "RR" messages. > > -- > Glen Gray > > > > > > _______________________________________________ > vlc-devel mailing list > To unsubscribe or modify your subscription options: > http://mailman.videolan.org/listinfo/vlc-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From remi at remlab.net Thu Jun 9 13:40:51 2011 From: remi at remlab.net (=?UTF-8?Q?R=C3=A9mi_Denis-Courmont?=) Date: Thu, 09 Jun 2011 13:40:51 +0200 Subject: [vlc-devel] =?utf-8?q?Help_about_GET=5FPARAMETERS?= In-Reply-To: <8D82995F-0514-42D7-8786-99020EB26018@slaine.org> References: <8D82995F-0514-42D7-8786-99020EB26018@slaine.org> Message-ID: On Thu, 9 Jun 2011 11:51:46 +0100, Glen Gray wrote: > The GET_PARAMETERS should only trigger if the RTSP SETUP response includes > a timeout value. If a timeout is there, VLC will send an empty > GET_PARAMETERS message as a keep alive method for the stream. Say for > example you paused the stream for > timeout, you don't want the session > torn down. There are other methods for doing keep alive, like RTCP "RR" > messages. RFC2326 specifies a default timeout of 60 seconds. As far as I know, an RTSP session always has a timeout, and an RTSP client must act accordingly. Some buggy servers (like old VLC versions) do not implement the timeout, but an RTSP client cannot rely on that property. VLC will use GET_PARAMETERS if the OPTIONS response permits. If not, then VLC will not actively ping the server: it implicitly assumes that RTCP-RR packets are enough to keep the session alive, for lack of an alternative. -- R?mi Denis-Courmont http://www.remlab.net/ From remi at remlab.net Thu Jun 9 13:44:17 2011 From: remi at remlab.net (=?UTF-8?Q?R=C3=A9mi_Denis-Courmont?=) Date: Thu, 09 Jun 2011 13:44:17 +0200 Subject: [vlc-devel] =?utf-8?q?Help_about_GET=5FPARAMETERS?= In-Reply-To: References: Message-ID: On Thu, 9 Jun 2011 10:31:52 +0800, chenhui zhang wrote: > found that the rtsp is OK and when send the media data to vlc over rtsp, it > seems vlc doesn't recv the data because the TCP windows size of vlc side is > down to zero and never recover. This means that, for whatever reason, live555 does not read incoming data. Most probably, this would be a protocol error in the server, or a bug in live555 version used by your VLC build. > send GET_PARAMETERS response to vlc, why it still can't play? Your GET_PARAMETERS response may be syntactically invalid then. -- R?mi Denis-Courmont http://www.remlab.net/ From ashok.bhat at gmail.com Thu Jun 9 15:40:37 2011 From: ashok.bhat at gmail.com (Ashok Bhat) Date: Thu, 9 Jun 2011 19:10:37 +0530 Subject: [vlc-devel] [PATCH] Bug fix in AVI mux module Message-ID: Hi All, Please find attached patch for bug fixes in AVI mux module. More details below Description =================== Fixed bugs in AVI mux to support creation of AVI files with following popular video/audio combinations (a) MPEG4 video (aka XVID) with MP3/AC3/PCM Audio (b) MJPEG video with PCM audio. AVI as such is not used for storing other formats like H.264, AAC etc Bug fix details =================== (a) 'hdrl' list size was wrong. It incorrectly included some parts of MOVI list, size taken by hdrl LIST tag and its size and Size of 'RIFF', File size and 'AVI ' type. (b) Block Align was set to 0 in case of MP3/AC3. It has to be non-zero. It has to been set to 1. (c) XVID video decoders expect header to present as part of first frame. Added code to append header present at end of BITMAPINFOHEADER to beginning of the first video frame in case of XVID video. (d) nAvgBytesPerSec of Waveformatex was not properly being set in case of PCM audio. (e) Last index entry value was set to garbage due to incorrect index size calculation. Test PC configuration =================== Tested with Windows Media Player 11 installed on Windows XP Service pack 3 machine with following directshow filters installed (a) XVID MPEG4 video decoder filter for MPEG4 video decoding (b) LAME MP3 codec for MP3 audio decoding Combinations tested ==================== (a) MPEG4/MP3 transcode vlc -I dummy "Mr_MrsSmith-h264_aac.mp4" :sout="#transcode{vcodec=mp4v,vb=1024,fps=25,acodec=mpga,ab=128}:standard{mux=avi,access=file,dst=out.avi}" vlc://quit (b) MPEG4/AC3 transcode vlc -I dummy "Mr_MrsSmith-h264_aac.mp4" :sout="#transcode{vcodec=mp4v,vb=1024,fps=25,acodec=a52, ab=128}:standard{mux=avi,access=file,dst=out.avi}" vlc://quit (c) MPEG4/PCM(16bit) transcode vlc -I dummy "Mr_MrsSmith-h264_aac.mp4" :sout="#transcode{vcodec=mp4v,vb=1024,fps=25,acodec=s16l}:standard{mux=avi,access=file,dst=out.avi}" vlc://quit (d) MPEG4/PCM(24 bit) transcode vlc -I dummy "Mr_MrsSmith-h264_aac.mp4" :sout="#transcode{vcodec=mp4v,vb=1024,fps=25,acodec=s24l}:standard{mux=avi,access=file,dst=out.avi}" vlc://quit (e) MPEG4/PCM(32bit) transcode vlc -I dummy "Mr_MrsSmith-h264_aac.mp4" :sout="#transcode{vcodec=mp4v,vb=1024,fps=25,acodec=s32l}:standard{mux=avi,access=file,dst=out.avi}" vlc://quit (f) MJPEG/PCM(32bit) transcode vlc -I dummy "Mr_MrsSmith-h264_aac.mp4" :sout="#transcode{vcodec=mjpeg,vb=1024,fps=25,acodec=s32l}:standard{mux=avi,access=file,dst=out.avi}" vlc://quit Regards Ashok -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 0001-Fixed-bugs-in-AVI-mux-module.patch Type: application/octet-stream Size: 7461 bytes Desc: not available URL: From jb at videolan.org Thu Jun 9 19:14:29 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Thu, 9 Jun 2011 19:14:29 +0200 Subject: [vlc-devel] Crystal HD for 1080i MPEG2 and closed captions on low-end system In-Reply-To: <8afa0ffb579df138a465c0eadd93b1b0@chewa.net> References: <20110607223702.GA17220@videolan.org> <8afa0ffb579df138a465c0eadd93b1b0@chewa.net> Message-ID: <20110609171429.GA14722@videolan.org> On Wed, Jun 08, 2011 at 09:55:00AM +0200, R?mi Denis-Courmont wrote : > On Wed, 8 Jun 2011 00:37:02 +0200, Jean-Baptiste Kempf > wrote: > > - One way would be to force it to use OUTPUT_MODE420_NV12 instead, even > if > > people from Broadcom advised me against it. NV12 is well supported in > > VLC. > > Is it? I thought it was only used in AVCodec/DxVA2 with on-the-fly > conversion to/from YV12. We don't have any chroma filter for NV12 nor any > video output that seems to support it. Yes, you are right. I dreamed. Although converting from NV12 to something cool should be easier than from the current one. Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From remi at remlab.net Thu Jun 9 20:00:15 2011 From: remi at remlab.net (=?iso-8859-1?q?R=E9mi?= Denis-Courmont) Date: Thu, 9 Jun 2011 21:00:15 +0300 Subject: [vlc-devel] Crystal HD for 1080i MPEG2 and closed captions on low-end system In-Reply-To: <20110609171429.GA14722@videolan.org> References: <8afa0ffb579df138a465c0eadd93b1b0@chewa.net> <20110609171429.GA14722@videolan.org> Message-ID: <201106092100.16275.remi@remlab.net> Le jeudi 9 juin 2011 20:14:29 Jean-Baptiste Kempf, vous avez ?crit : > Although converting from NV12 to something cool should be easier than > from the current one. The conversion to I420 or even YUYV is easy. But I don't have a clear view of which chroma conversions really are needed and which are not, before VLC "supports" a new chroma. Currently (excluding swscale), we have: * I420 or YV12 -> YUYV, YVYU, UYVY -> CYUV -> Y211 -> RGB8 in any order -> RGB15 in any order -> RGB16 in any order -> RGB32in any order Note: RGB24 not supported. IUYV stubbed. * I422 or J422 -> I420, YV12 -> J420 -> YUVA (sic!) -> YUYV, YVYU, UYVY -> CYUV -> Y211 Note: J<->I mixed conversions seem fake. IUYV stubbed. * YUYV, YVYU, UYVY -> I420 -> I422 * CYUV -> I420 -> I422 * GREY -> I420 -> YUYV In particular, there are no ways to directly convert any packed YUV format to RGB if needed, unless I missed seemingly non-existent support for indirect chroma conversions. So it is totally unclear which chroma conversion besides the obvious I420, if any, NV12, and NV21, would require to work flawlessly. -- R?mi Denis-Courmont http://www.remlab.net/ http://fi.linkedin.com/in/remidenis From remi at remlab.net Thu Jun 9 22:25:39 2011 From: remi at remlab.net (=?iso-8859-1?q?R=E9mi?= Denis-Courmont) Date: Thu, 9 Jun 2011 23:25:39 +0300 Subject: [vlc-devel] [vlc-commits] skins2: fullscreen support for multiple screens (both Linux and Win32) In-Reply-To: <20110609195358.18E37140A8E@albiero.videolan.org> References: <20110609195358.18E37140A8E@albiero.videolan.org> Message-ID: <201106092325.39996.remi@remlab.net> Le jeudi 9 juin 2011 22:53:58 Erwan Tulou, vous avez ?crit : > vlc | branch: master | Erwan Tulou | Thu Jun 9 > 18:17:14 2011 +0200| [d7615a6e8f98e5e32c12fe7d0d043a8cbf0e6e4d] | > committer: Erwan Tulou > > skins2: fullscreen support for multiple screens (both Linux and Win32) > > - by default, fullscreen is performed on the same monitor as the one > where the video is currently being played back. > - support for --qt-fullscreen-screennumber if the user wishes to force > fullscreen on a given monitor. Xinerama was superseded by RandR for quite a while already. But in any case, contemporary window managers handle fullscreen mode through Enhanced Window Manager Hints. This is far simpler for the application than Xinerama, RandR or TwinView. -- R?mi Denis-Courmont http://www.remlab.net/ http://fi.linkedin.com/in/remidenis From pejackson at gmail.com Thu Jun 9 23:01:31 2011 From: pejackson at gmail.com (Patrick Jackson) Date: Thu, 9 Jun 2011 16:01:31 -0500 Subject: [vlc-devel] Crystal HD for 1080i MPEG2 and closed captions on low-end system In-Reply-To: <20110607223702.GA17220@videolan.org> References: <20110607223702.GA17220@videolan.org> Message-ID: <539CC87A-DC9C-42AD-9ED2-8CD9177D66F5@gmail.com> Thank you for the prompt response. Doing some more testing with the software-only (i.e. no Crystal HD card) method, it seems that the closed-caption blending is really taxing the CPU. The way the letters are all blended to block the least amount of picture is very nice, but is there a setting that would make this easier on the CPU (like a black-barred background)? On Jun 7, 2011, at 5:37 PM, Jean-Baptiste Kempf wrote: > Hello Patrick, > > On Tue, Jun 07, 2011 at 05:15:05PM -0500, Patrick Jackson wrote : >> To try and work-around this, I stuck a Crystal HD (BCM70015 version) >> mini-PCIe decoder in the system and built the latest VLC 1.2 trunk code. I'm >> also using Jarod Wilson's crystalhd driver and libs, built from the latest >> trunk source. It seems to be using the card fine and drops the CPU use down, >> as expected. > > Wow, I am glad someone actually tested this code. > I am very sorry for its crapiness. > >> Unfortunately, neither deinterlacing nor closed-captions work for me when >> the crystal codec is in use. The video definitely looks interlaced, and this >> shows up on the console: > >> I know Crystal HD support is fairly new, but should software deinterlacing >> and closed caption display work with Crystal HD decoding in theory? If so, >> any pointers on debugging these problems? >> >> A broader question is: is there a better way to get this to run well on my >> system (with or without the Crystal HD)? > > Well, the thing is that, so far, the crystalHD decoder outputs in YUYV > and we don't have a deinterlacer supporting this format. > Same reason for blending the subtitles. > > - One way would be to force it to use OUTPUT_MODE420_NV12 instead, even if > people from Broadcom advised me against it. NV12 is well supported in > VLC. > > - One second way would be to finally understand HOW THE HELL do I activate > hardware deinterlacing in BCM. I don't get it and the answer "it should > be easy if you look at the driver code" is not one that I liked/had time > to do. > > Best Regards, > > -- > Jean-Baptiste Kempf > http://www.jbkempf.com/ - +33 672 704 734 > Sent from my Electronic Device > _______________________________________________ > vlc-devel mailing list > To unsubscribe or modify your subscription options: > http://mailman.videolan.org/listinfo/vlc-devel From jb at videolan.org Thu Jun 9 23:49:14 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Thu, 9 Jun 2011 23:49:14 +0200 Subject: [vlc-devel] [PATCH] Bug fix in AVI mux module In-Reply-To: References: Message-ID: <20110609214914.GA1287@videolan.org> On Thu, Jun 09, 2011 at 07:10:37PM +0530, Ashok Bhat wrote : > Description > =================== > Fixed bugs in AVI mux to support creation of AVI files with following > popular video/audio combinations > (a) MPEG4 video (aka XVID) with MP3/AC3/PCM Audio > (b) MJPEG video with PCM audio. > AVI as such is not used for storing other formats like H.264, AAC etc Should we reject them then at Open ? Great work, thanks! Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From jb at videolan.org Thu Jun 9 23:53:04 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Thu, 9 Jun 2011 23:53:04 +0200 Subject: [vlc-devel] [PATCH] Bug fix in AVI mux module In-Reply-To: References: Message-ID: <20110609215304.GB1287@videolan.org> On Thu, Jun 09, 2011 at 07:10:37PM +0530, Ashok Bhat wrote : > Combinations tested > ==================== Did you try wma2? Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From brezhoneg1 at yahoo.fr Fri Jun 10 00:23:44 2011 From: brezhoneg1 at yahoo.fr (brezhoneg1) Date: Fri, 10 Jun 2011 00:23:44 +0200 Subject: [vlc-devel] [vlc-commits] skins2: fullscreen support for multiple screens (both Linux and Win32) In-Reply-To: <201106092325.39996.remi@remlab.net> References: <20110609195358.18E37140A8E@albiero.videolan.org> <201106092325.39996.remi@remlab.net> Message-ID: <4DF147F0.5000303@yahoo.fr> Hi, On 09/06/2011 22:25, R?mi Denis-Courmont wrote: > Le jeudi 9 juin 2011 22:53:58 Erwan Tulou, vous avez ?crit : >> vlc | branch: master | Erwan Tulou | Thu Jun 9 >> 18:17:14 2011 +0200| [d7615a6e8f98e5e32c12fe7d0d043a8cbf0e6e4d] | >> committer: Erwan Tulou >> >> skins2: fullscreen support for multiple screens (both Linux and Win32) >> >> - by default, fullscreen is performed on the same monitor as the one >> where the video is currently being played back. >> - support for --qt-fullscreen-screennumber if the user wishes to force >> fullscreen on a given monitor. > Xinerama was superseded by RandR for quite a while already. Yes, at the X server side, Xinerama is deprecated in favour of XRandR. But using the Xinerama X11 protocol to query a XRandR-configured X server seems OK (I may be mistaken). > But in any case, contemporary window managers handle fullscreen mode through > Enhanced Window Manager Hints. This is far simpler for the application than > Xinerama, RandR or TwinView. > Yes for top-level windows that go fullscreen on their current monitor. Some preparatory work is still needed for embedded videos. Also, for supporting --qt-fullscreen-screennumber (user forcing another monitor to be used), it seems applications still need to query the X server directly and move the video to the right screen. Regards From jb at videolan.org Fri Jun 10 00:40:08 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Fri, 10 Jun 2011 00:40:08 +0200 Subject: [vlc-devel] [PATCH 3/3] Android video output based on Surface Message-ID: <1307659208-9805-1-git-send-email-jb@videolan.org> Collective work by Ming Hu, Ludovic Fauvet, S?bastien Toque and minor fixes by Jean-Baptiste Kempf --- NEWS | 1 + configure.ac | 13 ++ modules/LIST | 1 + modules/video_output/Modules.am | 2 +- modules/video_output/androidsurface.c | 307 +++++++++++++++++++++++++++++++++ 5 files changed, 323 insertions(+), 1 deletions(-) create mode 100644 modules/video_output/androidsurface.c diff --git a/NEWS b/NEWS index 532a466..277cc06 100644 --- a/NEWS +++ b/NEWS @@ -79,6 +79,7 @@ Video Output: * Various vmem improvements * OpenGL video output now accepts YUV as input and uses fragment programs for chroma conversion + * New video output for Android platform, based on Surface Audio Output: * New audio output based on AudioQueue API for iOS diff --git a/configure.ac b/configure.ac index 2678a77..f504860 100644 --- a/configure.ac +++ b/configure.ac @@ -3323,6 +3323,19 @@ dnl PKG_ENABLE_MODULES_VLC([SVG], [], [librsvg-2.0 >= 2.9.0], [SVG rendering library],[auto]) dnl +dnl android surface module +dnl +AC_ARG_ENABLE(android-surface, + [ --enable-android-surface Android Surface video output module (default disabled)]) +if test "${enable_android_surface}" = "yes"; then + if test "${HAVE_ANDROID}" = "1"; then + VLC_ADD_PLUGIN([android_surface]) + VLC_ADD_LDFLAGS([android_surface], [-ldl]) + fi +fi + + +dnl dnl iOS vout module dnl AC_ARG_ENABLE(ios-vout, diff --git a/modules/LIST b/modules/LIST index 680da4d..84b8d50 100644 --- a/modules/LIST +++ b/modules/LIST @@ -42,6 +42,7 @@ $Id$ * alphamask: Alpha layer mask video filter * alsa: audio output module using the ALSA API * amem: audio memory output + * android_surface: video output for Android, based on Surface * antiflicker: anti-flicker video filter * aout_directx: audio output module using the DirectX API * aout_file: Audio output to write to a file diff --git a/modules/video_output/Modules.am b/modules/video_output/Modules.am index 724cfeb..c3f884a 100644 --- a/modules/video_output/Modules.am +++ b/modules/video_output/Modules.am @@ -13,7 +13,7 @@ SOURCES_vmem = vmem.c SOURCES_yuv = yuv.c SOURCES_vout_macosx = macosx.m opengl.h opengl.c SOURCES_vout_ios = ios.m opengl.h opengl.c - +SOURCES_android_surface = androidsurface.c ### OpenGL ### # TODO: merge all three source files (?) diff --git a/modules/video_output/androidsurface.c b/modules/video_output/androidsurface.c new file mode 100644 index 0000000..0965edb --- /dev/null +++ b/modules/video_output/androidsurface.c @@ -0,0 +1,307 @@ +/***************************************************************************** + * androidsurface.c: android video output using Surface Flinger + ***************************************************************************** + * Copyright ? 2011 VideoLAN + * + * Authors: Ming Hu + * Ludovic Fauvet + * S?bastien Toque + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 + * of the License, or (at your option) any later version. + * + * This library 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 Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + ****************************************************************************/ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include +#include +#include +#include + +#include + +#ifndef ANDROID_SYM_S_LOCK +# define ANDROID_SYM_S_LOCK "_ZN7android7Surface4lockEPNS0_11SurfaceInfoEb" +#endif +#ifndef ANDROID_SYM_S_UNLOCK +# define ANDROID_SYM_S_UNLOCK "_ZN7android7Surface13unlockAndPostEv" +#endif + +/***************************************************************************** + * Module descriptor + *****************************************************************************/ + +static int Open (vlc_object_t *); +static void Close(vlc_object_t *); + +vlc_module_begin() + set_category(CAT_VIDEO) + set_subcategory(SUBCAT_VIDEO_VOUT) + set_shortname("AndroidSurface") + set_description(N_("Android Surface video output")) + set_capability("vout display", 155) + add_shortcut("androidsurface", "android") + set_callbacks(Open, Close) +vlc_module_end() + +/***************************************************************************** + * JNI prototypes + *****************************************************************************/ + +extern void *LockAndGetSurface(); +extern void UnlockSurface(); +extern void SetSurfaceSize(int width, int height); + +// _ZN7android7Surface4lockEPNS0_11SurfaceInfoEb +typedef void (*Surface_lock)(void *, void *, int); +// _ZN7android7Surface13unlockAndPostEv +typedef void (*Surface_unlockAndPost)(void *); + +/***************************************************************************** + * Local prototypes + *****************************************************************************/ + +static picture_pool_t *Pool (vout_display_t *, unsigned); +static void Display(vout_display_t *, picture_t *, subpicture_t *); +static int Control(vout_display_t *, int, va_list); + +/* */ +struct vout_display_sys_t { + picture_pool_t *pool; + void *p_library; + Surface_lock s_lock; + Surface_unlockAndPost s_unlockAndPost; + + picture_resource_t resource; +}; + +/* */ +typedef struct _SurfaceInfo { + uint32_t w; + uint32_t h; + uint32_t s; + uint32_t usage; + uint32_t format; + uint32_t* bits; + uint32_t reserved[2]; +} SurfaceInfo; + +struct picture_sys_t +{ + void *surf; + SurfaceInfo info; + vout_display_sys_t *sys; +}; + +static int AndroidLockSurface(picture_t *); +static void AndroidUnlockSurface(picture_t *); + +static vlc_mutex_t single_instance = VLC_STATIC_MUTEX; + +static inline void *LoadSurface(const char *psz_lib, vout_display_sys_t *sys) { + void *p_library = dlopen(psz_lib, RTLD_NOW); + if (p_library) { + sys->s_lock = (Surface_lock)(dlsym(p_library, ANDROID_SYM_S_LOCK)); + sys->s_unlockAndPost = + (Surface_unlockAndPost)(dlsym(p_library, ANDROID_SYM_S_UNLOCK)); + if (sys->s_lock && sys->s_unlockAndPost) { + return p_library; + } + dlclose(p_library); + } + return NULL; +} + +static void *InitLibrary(vout_display_sys_t *sys) { + void *p_library; + if ((p_library = LoadSurface("libsurfaceflinger_client.so", sys))) + return p_library; + return LoadSurface("libui.so", sys); +} + +static int Open(vlc_object_t *p_this) { + vout_display_t *vd = (vout_display_t *)p_this; + vout_display_sys_t *sys; + void *p_library; + + /* */ + if (vlc_mutex_trylock(&single_instance) != 0) { + msg_Err(vd, "Can't start more than one instance at a time"); + return VLC_EGENERIC; + } + + /* Allocate structure */ + sys = (struct vout_display_sys_t*) calloc(1, sizeof(*sys)); + if (!sys) { + vlc_mutex_unlock(&single_instance); + return VLC_ENOMEM; + } + + /* */ + sys->p_library = p_library = InitLibrary(sys); + if (!p_library) { + free(sys); + msg_Err(vd, "Could not initialize libui.so/libsurfaceflinger_client.so!"); + vlc_mutex_unlock(&single_instance); + return VLC_EGENERIC; + } + + /* Setup chroma */ + video_format_t fmt = vd->fmt; + fmt.i_chroma = VLC_CODEC_RGB32; + fmt.i_rmask = 0x000000ff; + fmt.i_gmask = 0x0000ff00; + fmt.i_bmask = 0x00ff0000; + video_format_FixRgb(&fmt); + + /* Create the associated picture */ + picture_resource_t *rsc = &sys->resource; + rsc->p_sys = malloc(sizeof(*rsc->p_sys)); + if (!rsc->p_sys) + goto enomem; + rsc->p_sys->sys = sys; + + for (int i = 0; i < PICTURE_PLANE_MAX; i++) { + rsc->p[i].p_pixels = NULL; + rsc->p[i].i_pitch = 0; + rsc->p[i].i_lines = 0; + } + picture_t *picture = picture_NewFromResource(&fmt, rsc); + if (!picture) + goto enomem; + + /* Wrap it into a picture pool */ + picture_pool_configuration_t pool_cfg; + memset(&pool_cfg, 0, sizeof(pool_cfg)); + pool_cfg.picture_count = 1; + pool_cfg.picture = &picture; + pool_cfg.lock = AndroidLockSurface; + pool_cfg.unlock = AndroidUnlockSurface; + + sys->pool = picture_pool_NewExtended(&pool_cfg); + if (!sys->pool) { + picture_Release(picture); + goto enomem; + } + + /* Setup vout_display */ + vd->sys = sys; + vd->fmt = fmt; + vd->pool = Pool; + vd->display = Display; + vd->control = Control; + vd->prepare = NULL; + vd->manage = NULL; + + /* Fix initial state */ + vout_display_SendEventFullscreen(vd, false); + + return VLC_SUCCESS; + +enomem: + free(rsc->p_sys); + free(sys); + dlclose(p_library); + vlc_mutex_unlock(&single_instance); + return VLC_ENOMEM; +} + +static void Close(vlc_object_t *p_this) { + vout_display_t *vd = (vout_display_t *)p_this; + vout_display_sys_t *sys = vd->sys; + + picture_pool_Delete(sys->pool); + dlclose(sys->p_library); + free(sys); + vlc_mutex_unlock(&single_instance); +} + +static picture_pool_t *Pool(vout_display_t *vd, unsigned count) { + vout_display_sys_t *sys = vd->sys; + VLC_UNUSED(count); + return sys->pool; +} + +static int AndroidLockSurface(picture_t *picture) { + picture_sys_t *picsys = picture->p_sys; + vout_display_sys_t *sys = picsys->sys; + SurfaceInfo *info; + uint32_t sw, sh; + void *surf; + + sw = picture->p[0].i_visible_pitch / picture->p[0].i_pixel_pitch; + sh = picture->p[0].i_visible_lines; + + picsys->surf = surf = LockAndGetSurface(); + info = &(picsys->info); + + if (unlikely(!surf)) { + UnlockSurface(); + return VLC_EGENERIC; + } + + sys->s_lock(surf, info, 1); + + //size doesn't match, request a resize + if (info->w != sw || info->h != sh) { + SetSurfaceSize(sw, sh); + sys->s_unlockAndPost(surf); + UnlockSurface(); + return VLC_EGENERIC; + } + + picture->p->p_pixels = (uint8_t*)info->bits; + picture->p->i_pitch = 4 * info->s; + picture->p->i_lines = info->h; + + return VLC_SUCCESS; +} + +static void AndroidUnlockSurface(picture_t *picture) { + picture_sys_t *picsys = picture->p_sys; + vout_display_sys_t *sys = picsys->sys; + + if (likely(picsys->surf)) + sys->s_unlockAndPost(picsys->surf); + UnlockSurface(); +} + +static void Display(vout_display_t *vd, picture_t *picture, subpicture_t *subpicture) { + VLC_UNUSED(vd); + VLC_UNUSED(subpicture); + picture_Release(picture); +} + +static int Control(vout_display_t *vd, int query, va_list args) { + VLC_UNUSED(args); + + switch (query) { + case VOUT_DISPLAY_CHANGE_FULLSCREEN: + case VOUT_DISPLAY_CHANGE_WINDOW_STATE: + case VOUT_DISPLAY_CHANGE_DISPLAY_SIZE: + case VOUT_DISPLAY_CHANGE_DISPLAY_FILLED: + case VOUT_DISPLAY_CHANGE_ZOOM: + case VOUT_DISPLAY_CHANGE_SOURCE_ASPECT: + case VOUT_DISPLAY_CHANGE_SOURCE_CROP: + case VOUT_DISPLAY_GET_OPENGL: + return VLC_EGENERIC; + case VOUT_DISPLAY_HIDE_MOUSE: + return VLC_SUCCESS; + default: + msg_Err(vd, "Unknown request in android vout display"); + return VLC_EGENERIC; + } +} -- 1.7.5.3 From alexey at alexeysokolov.co.cc Fri Jun 10 05:36:09 2011 From: alexey at alexeysokolov.co.cc (Alexey Sokolov) Date: Fri, 10 Jun 2011 10:36:09 +0700 Subject: [vlc-devel] [PATCH] Add libvlc_media_list_player_retain() to libvlc. In-Reply-To: <4DE4AEB0.1010807@alexeysokolov.co.cc> References: <4DE4AEB0.1010807@alexeysokolov.co.cc> Message-ID: <4DF19129.1030305@alexeysokolov.co.cc> Hello! The week is gone... Is this patch going to be accepted or rejected? :) -- Best regards, Alexey "DarthGandalf" Sokolov From reiterwill777 at gmail.com Fri Jun 10 04:59:59 2011 From: reiterwill777 at gmail.com (Will Reiter) Date: Thu, 9 Jun 2011 22:59:59 -0400 Subject: [vlc-devel] Regarding bug #3913 (cli volume option) Message-ID: I'm 99.99% sure that the last good version was 1.0.5. Why I know: I use my PC for an alarm clock, and to wake me I use Windows Task Manager to run a certain sound file through VLC at a specified volume. When this bug showed up, I had to install a portable VLC in a separate dir to be able to keep using VLC to wake me up. My portable VLC is version 1.0.5. From remi at remlab.net Fri Jun 10 09:26:43 2011 From: remi at remlab.net (=?UTF-8?Q?R=C3=A9mi_Denis-Courmont?=) Date: Fri, 10 Jun 2011 09:26:43 +0200 Subject: [vlc-devel] Regarding bug #3913 (cli volume option) In-Reply-To: References: Message-ID: On Thu, 9 Jun 2011 22:59:59 -0400, Will Reiter wrote: > I'm 99.99% sure that the last good version was 1.0.5. > > Why I know: I use my PC for an alarm clock, and to wake me I use > Windows Task Manager to run a certain sound file through VLC at a > specified volume. When this bug showed up, I had to install a portable > VLC in a separate dir to be able to keep using VLC to wake me up. My > portable VLC is version 1.0.5. The volume handling in VLC 1.1.x is undecipherable and universally hated by all developers, except its author (as far as I know). And as you see, it is buggy. Please retry with VLC 1.2. -- R?mi Denis-Courmont http://www.remlab.net/ From asmadeus at codewreck.org Fri Jun 10 12:17:44 2011 From: asmadeus at codewreck.org (Dominique Martinet) Date: Fri, 10 Jun 2011 19:17:44 +0900 Subject: [vlc-devel] [RFC] Android OpenSL ES audio output In-Reply-To: <988471195f6d58935772407439ccab4e@chewa.net> References: <20110601130149.GA11312@videolan.org> <20110603092215.GA17656@nautica> <988471195f6d58935772407439ccab4e@chewa.net> Message-ID: <20110610101744.GA28238@nautica> R?mi Denis-Courmont wrote on Fri, Jun 03, 2011 : > In fact, I would very much like to remove that, > aout_instance_t.output.i_nb_samples. Most if not all audio outputs can cope > with arbitrary-sized buffers, as they will anyway copy samples _again_ from > the VLC mixed buffers into the hardware buffers. Thus, this resizing of > audio buffers just adds one extra memory and extra latency into the audio > pipeline. The net effect is an increase the likelihood of hardware output > under-runs. Ah. sorry for the delay, I misread what you said up till now. My problem is not guessing/setting the size of the buffer (OpenSL ES can indeed handle arbitrary sized buffers), but the number of buffers that can/will be queued ahead (i.e. if you know i_nb_samples, that would be how early are buffers given to play) I am leaving the limit to 42 at the moment, since it needs to be set to _something_ (internally for OpenSL ES, even if I change the array to a list), and the limit looks like it is never reached with the current i_nb_samples (2048, another magic number by the way) I also added a delay before retrying to enqueue if this ever happens, so it shouldn't be too bad if it does. the delay size might use getting changed as well, it could probably be much bigger than what I used ("msleep(CLOCK_FREQ)") Anyway, no other immediate change planned unless something I just said bugs anyone. Regards, -- Asmadeus | Dominique Martinet From vandhanaa91 at gmail.com Fri Jun 10 12:32:21 2011 From: vandhanaa91 at gmail.com (Vandhanaa Lakshminarayanan) Date: Fri, 10 Jun 2011 18:32:21 +0800 Subject: [vlc-devel] Problems with VOD Message-ID: Hi I am a year 2 student interning in a company which is interested in using VLC to do VOD across the internet. I was basically able to stream it over the intranet and also when both the server and the client have a public IP. I understand that is because the RTP packets from the server are sent as UDP and there is a problem with the communication. I saw some previous threads about the same and was wondering what are the difficulties in this. I mean the threads i saw went back to 2007 and there has still not been much improvement in this area. So in the case that i am involved in incorporating this feature, what hurdles should i expect? Also when i tried streaming from live555streamingmedia i was not able to receive the TCP packets in v1.1.9 but was able to receive in v1.0.0. Why was this feature removed?? Thanks in advance, VD -------------- next part -------------- An HTML attachment was scrubbed... URL: From mcardillo55 at gmail.com Fri Jun 10 13:23:56 2011 From: mcardillo55 at gmail.com (Mike Cardillo) Date: Fri, 10 Jun 2011 07:23:56 -0400 Subject: [vlc-devel] [PATCH] Fixed bug #3312. Message-ID: <2877741B-1C6C-488B-9D43-EAC030EDF04F@gmail.com> --- modules/gui/macosx/controls.m | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/modules/gui/macosx/controls.m b/modules/gui/macosx/controls.m index 024207f..0271090 100644 --- a/modules/gui/macosx/controls.m +++ b/modules/gui/macosx/controls.m @@ -882,7 +882,7 @@ input_thread_t * p_input = pl_CurrentInput( VLCIntf ); if( p_input ) { - unsigned int timeInSec = 0; + int64_t timeInSec = 0; NSString * fieldContent = [o_specificTime_enter_fld stringValue]; if( [[fieldContent componentsSeparatedByString: @":"] count] > 1 && [[fieldContent componentsSeparatedByString: @":"] count] <= 3 ) -- 1.7.0.3 From remi at remlab.net Fri Jun 10 13:56:03 2011 From: remi at remlab.net (=?UTF-8?Q?R=C3=A9mi_Denis-Courmont?=) Date: Fri, 10 Jun 2011 13:56:03 +0200 Subject: [vlc-devel] Problems with VOD In-Reply-To: References: Message-ID: <5d310d173c0110a5899eb6d863d1661b@chewa.net> On Fri, 10 Jun 2011 18:32:21 +0800, Vandhanaa Lakshminarayanan wrote: > I am a year 2 student interning in a company which is interested in using > VLC to do VOD across the internet. I was basically able to stream it over > the intranet and also when both the server and the client have a public IP. > I understand that is because the RTP packets from the server are sent as > UDP and there is a problem with the communication. I saw some previous > threads about the same and was wondering what are the difficulties in this. > I mean the threads i saw went back to 2007 and there has still not been > much improvement in this area. So in the case that i am involved in > incorporating this feature, what hurdles should i expect? The RTSP server built in VLC does not support Interleaved RTP. To support this, I'm afraid a major overhaul of the HTTP/RTSP server "engine" would be required. > Also when i tried streaming from live555streamingmedia i was not able to > receive the TCP packets in v1.1.9 but was able to receive in v1.0.0. Why > was this feature removed?? I don't think it was. It might be a bug. -- R?mi Denis-Courmont http://www.remlab.net/ From dheitmueller at kernellabs.com Fri Jun 10 15:26:10 2011 From: dheitmueller at kernellabs.com (Devin Heitmueller) Date: Fri, 10 Jun 2011 09:26:10 -0400 Subject: [vlc-devel] Crystal HD for 1080i MPEG2 and closed captions on low-end system In-Reply-To: <539CC87A-DC9C-42AD-9ED2-8CD9177D66F5@gmail.com> References: <20110607223702.GA17220@videolan.org> <539CC87A-DC9C-42AD-9ED2-8CD9177D66F5@gmail.com> Message-ID: On Thu, Jun 9, 2011 at 5:01 PM, Patrick Jackson wrote: > Thank you for the prompt response. > > Doing some more testing with the software-only (i.e. no Crystal HD card) method, it seems that the closed-caption blending is really taxing the CPU. The way the letters are all blended to block the least amount of picture is very nice, but is there a setting that would make this easier on the CPU (like a black-barred background)? I actually did a bunch of patches to the EIA-608 decoder so that it now conforms to the spec in terms of caption placement (and fixing other bugs too), as well as introducing a black background under the text (which is what most people who actually use closed captioning would expect). The patches are for vlc-1.1.5, but I suspect they would probably forward port without much difficulty: http://kernellabs.com/hg/~dheitmueller/vlc-1.1.5/shortlog It would be great to see these upstreamed, but I just haven't had a chance to do it. Devin -- Devin J. Heitmueller - Kernel Labs http://www.kernellabs.com From jb at videolan.org Fri Jun 10 15:26:58 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Fri, 10 Jun 2011 15:26:58 +0200 Subject: [vlc-devel] [RFC] Android OpenSL ES audio output In-Reply-To: <20110601130149.GA11312@videolan.org> References: <20110601130149.GA11312@videolan.org> Message-ID: <20110610132658.GA14692@videolan.org> Hello, On Wed, Jun 01, 2011 at 03:01:50PM +0200, Jean-Baptiste Kempf wrote : > This is a request for comment on the audio output using OpenSL ES on > Android. Here is a new version. Many comments have been addressed so far. Code inline to help the remarks/reviews --- /***************************************************************************** * opensles_android.c : audio output for android native code ***************************************************************************** * Copyright ? 2011 VideoLAN * * Authors: Dominique Martinet * Hugo Beauz?e-Luyssen * * 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 *****************************************************************************/ #ifdef HAVE_CONFIG_H # include "config.h" #endif #include #include #include #include #include // For native audio #include #include // Maximum number of buffers to enqueue. #define BUFF_QUEUE 42 /***************************************************************************** * aout_sys_t: audio output method descriptor ***************************************************************************** * This structure is part of the audio output thread descriptor. * It describes the direct sound specific properties of an audio device. *****************************************************************************/ struct aout_sys_t { SLObjectItf engineObject; SLEngineItf engineEngine; SLObjectItf outputMixObject; SLAndroidSimpleBufferQueueItf playerBufferQueue; SLObjectItf playerObject; SLPlayItf playerPlay; aout_buffer_t * p_buffer_array[BUFF_QUEUE]; int i_toclean_buffer; int i_toappend_buffer; SLInterfaceID * SL_IID_ENGINE; SLInterfaceID * SL_IID_ANDROIDSIMPLEBUFFERQUEUE; SLInterfaceID * SL_IID_VOLUME; SLInterfaceID * SL_IID_PLAY; void * p_so_handle; }; typedef SLresult (*slCreateEngine_t)( SLObjectItf*, SLuint32, const SLEngineOption*, SLuint32, const SLInterfaceID*, const SLboolean* ); /***************************************************************************** * Local prototypes. *****************************************************************************/ static int Open ( vlc_object_t * ); static void Close ( vlc_object_t * ); static void Play ( aout_instance_t * ); static void PlayedCallback ( SLAndroidSimpleBufferQueueItf caller, void *pContext); /***************************************************************************** * Module descriptor *****************************************************************************/ vlc_module_begin () set_description( N_("OpenSLES audio output") ) set_shortname( N_("OpenSLES") ) set_category( CAT_AUDIO ) set_subcategory( SUBCAT_AUDIO_AOUT ) set_capability( "audio output", 170 ) add_shortcut( "opensles", "android" ) set_callbacks( Open, Close ) vlc_module_end () #define CHECK_OPENSL_ERROR( res, msg ) \ if( unlikely( res != SL_RESULT_SUCCESS ) ) \ { \ msg_Err( p_aout, msg" (%lu)", res ); \ goto error; \ } #define OPENSL_DLSYM( dest, handle, name ) \ dest = (typeof(dest))dlsym( handle, name ); \ if( dest == NULL ) \ { \ msg_Err( p_aout, "Failed to load symbol %s", name ); \ goto error; \ } static void Clear( aout_sys_t *p_sys ) { // Destroy buffer queue audio player object // and invalidate all associated interfaces if( p_sys->playerObject != NULL ) (*p_sys->playerObject)->Destroy( p_sys->playerObject ); // destroy output mix object, and invalidate all associated interfaces if( p_sys->outputMixObject != NULL ) (*p_sys->outputMixObject)->Destroy( p_sys->outputMixObject ); // destroy engine object, and invalidate all associated interfaces if( p_sys->engineObject != NULL ) (*p_sys->engineObject)->Destroy( p_sys->engineObject ); if( p_sys->p_so_handle != NULL ) dlclose( p_sys->p_so_handle ); free( p_sys ); } /***************************************************************************** * Open: open a dummy audio device *****************************************************************************/ static int Open( vlc_object_t * p_this ) { aout_instance_t *p_aout = (aout_instance_t *)p_this; SLresult result; /* Allocate structure */ p_aout->output.p_sys = malloc( sizeof( aout_sys_t ) ); if( unlikely( p_aout->output.p_sys == NULL ) ) return VLC_ENOMEM; aout_sys_t * p_sys = p_aout->output.p_sys; p_sys->playerObject = NULL; p_sys->engineObject = NULL; p_sys->outputMixObject = NULL; p_sys->i_toclean_buffer = 0; p_sys->i_toappend_buffer= 0; //Acquiring LibOpenSLES symbols : p_sys->p_so_handle = dlopen( "libOpenSLES.so", RTLD_NOW ); if( p_sys->p_so_handle == NULL ) { msg_Err( p_aout, "Failed to load libOpenSLES" ); goto error; } slCreateEngine_t slCreateEnginePtr = NULL; OPENSL_DLSYM( slCreateEnginePtr, p_sys->p_so_handle, "slCreateEngine" ); OPENSL_DLSYM( p_sys->SL_IID_ANDROIDSIMPLEBUFFERQUEUE, p_sys->p_so_handle, "SL_IID_ANDROIDSIMPLEBUFFERQUEUE" ); OPENSL_DLSYM( p_sys->SL_IID_ENGINE, p_sys->p_so_handle, "SL_IID_ENGINE" ); OPENSL_DLSYM( p_sys->SL_IID_PLAY, p_sys->p_so_handle, "SL_IID_PLAY" ); OPENSL_DLSYM( p_sys->SL_IID_VOLUME, p_sys->p_so_handle, "SL_IID_VOLUME" ); // create engine result = slCreateEnginePtr( &p_sys->engineObject, 0, NULL, 0, NULL, NULL ); CHECK_OPENSL_ERROR( result, "Failed to create engine" ); // realize the engine in synchronous mode result = (*p_sys->engineObject)->Realize( p_sys->engineObject, SL_BOOLEAN_FALSE ); CHECK_OPENSL_ERROR( result, "Failed to realize engine" ); // get the engine interface, needed to create other objects result = (*p_sys->engineObject)->GetInterface( p_sys->engineObject, *p_sys->SL_IID_ENGINE, &p_sys->engineEngine ); CHECK_OPENSL_ERROR( result, "Failed to get the engine interface" ); // create output mix, with environmental reverb specified as a non-required interface const SLInterfaceID ids1[] = { *p_sys->SL_IID_VOLUME }; const SLboolean req1[] = { SL_BOOLEAN_FALSE }; result = (*p_sys->engineEngine)->CreateOutputMix( p_sys->engineEngine, &p_sys->outputMixObject, 1, ids1, req1 ); CHECK_OPENSL_ERROR( result, "Failed to create output mix" ); // realize the output mix in synchronous mode result = (*p_sys->outputMixObject)->Realize( p_sys->outputMixObject, SL_BOOLEAN_FALSE ); CHECK_OPENSL_ERROR( result, "Failed to realize output mix" ); // configure audio source - this defines the number of samples you can enqueue. SLDataLocator_AndroidSimpleBufferQueue loc_bufq = { SL_DATALOCATOR_ANDROIDSIMPLEBUFFERQUEUE, BUFF_QUEUE }; SLDataFormat_PCM format_pcm; format_pcm.formatType = SL_DATAFORMAT_PCM; format_pcm.numChannels = 2; format_pcm.samplesPerSec = ((SLuint32) p_aout->output.output.i_rate * 1000) ; format_pcm.bitsPerSample = SL_PCMSAMPLEFORMAT_FIXED_16; format_pcm.containerSize = SL_PCMSAMPLEFORMAT_FIXED_16; format_pcm.channelMask = SL_SPEAKER_FRONT_LEFT | SL_SPEAKER_FRONT_RIGHT; format_pcm.endianness = SL_BYTEORDER_LITTLEENDIAN; SLDataSource audioSrc = {&loc_bufq, &format_pcm}; // configure audio sink SLDataLocator_OutputMix loc_outmix = { SL_DATALOCATOR_OUTPUTMIX, p_sys->outputMixObject }; SLDataSink audioSnk = {&loc_outmix, NULL}; //create audio player const SLInterfaceID ids2[] = { *p_sys->SL_IID_ANDROIDSIMPLEBUFFERQUEUE }; const SLboolean req2[] = { SL_BOOLEAN_TRUE }; result = (*p_sys->engineEngine)->CreateAudioPlayer( p_sys->engineEngine, &p_sys->playerObject, &audioSrc, &audioSnk, sizeof( ids2 ) / sizeof( *ids2 ), ids2, req2 ); CHECK_OPENSL_ERROR( result, "Failed to create audio player" ); // realize the player result = (*p_sys->playerObject)->Realize( p_sys->playerObject, SL_BOOLEAN_FALSE ); CHECK_OPENSL_ERROR( result, "Failed to realize player object." ); // get the play interface result = (*p_sys->playerObject)->GetInterface( p_sys->playerObject, *p_sys->SL_IID_PLAY, &p_sys->playerPlay ); CHECK_OPENSL_ERROR( result, "Failed to get player interface." ); // get the buffer queue interface result = (*p_sys->playerObject)->GetInterface( p_sys->playerObject, *p_sys->SL_IID_ANDROIDSIMPLEBUFFERQUEUE, &p_sys->playerBufferQueue ); CHECK_OPENSL_ERROR( result, "Failed to get buff queue interface" ); result = (*p_sys->playerBufferQueue)->RegisterCallback( p_sys->playerBufferQueue, PlayedCallback, (void*)p_sys); CHECK_OPENSL_ERROR( result, "Failed to register buff queue callback." ); // set the player's state to playing result = (*p_sys->playerPlay)->SetPlayState( p_sys->playerPlay, SL_PLAYSTATE_PLAYING ); CHECK_OPENSL_ERROR( result, "Failed to switch to playing state" ); // we want 16bit signed data little endian. p_aout->output.output.i_format = VLC_CODEC_S16L; p_aout->output.i_nb_samples = 2048; p_aout->output.output.i_physical_channels = AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT; p_aout->output.pf_play = Play; aout_FormatPrepare( &p_aout->output.output ); return VLC_SUCCESS; error: Clear( p_sys ); return VLC_EGENERIC; } /***************************************************************************** * Close: close our file *****************************************************************************/ static void Close( vlc_object_t * p_this ) { aout_instance_t *p_aout = (aout_instance_t *)p_this; aout_sys_t *p_sys = p_aout->output.p_sys; msg_Dbg( p_aout, "Closing OpenSLES" ); (*p_sys->playerPlay)->SetPlayState( p_sys->playerPlay, SL_PLAYSTATE_STOPPED ); //Flush remaining buffers if any. if( p_sys->playerBufferQueue != NULL ) (*p_sys->playerBufferQueue)->Clear( p_sys->playerBufferQueue ); Clear( p_sys ); } /***************************************************************************** * Play: play a sound *****************************************************************************/ static void Play( aout_instance_t * p_aout ) { aout_sys_t * p_sys = p_aout->output.p_sys; aout_buffer_t *p_buffer; SLresult result; p_buffer = aout_FifoPop(p_aout, &p_aout->output.fifo); if( p_buffer != NULL ) { for (;;) { result = (*p_sys->playerBufferQueue)->Enqueue( p_sys->playerBufferQueue, p_buffer->p_buffer, p_buffer->i_buffer ); if( result == SL_RESULT_SUCCESS ) break; msg_Err( p_aout, "write error (%lu)", result ); // Wait a bit to retry. might miss calls to *cancel // but this is supposed to be rare anyway msleep(CLOCK_FREQ); } p_sys->p_buffer_array[p_sys->i_toappend_buffer] = p_buffer; if( ++p_sys->i_toappend_buffer == BUFF_QUEUE ) p_sys->i_toappend_buffer = 0; } else msg_Err( p_aout, "nothing to play?" ); } static void PlayedCallback (SLAndroidSimpleBufferQueueItf caller, void *pContext ) { aout_sys_t *p_sys = (aout_sys_t*)pContext; assert (caller == p_sys->playerBufferQueue); aout_BufferFree( p_sys->p_buffer_array[p_sys->i_toclean_buffer] ); if( ++p_sys->i_toclean_buffer == BUFF_QUEUE ) p_sys->i_toclean_buffer = 0; } From jb at videolan.org Fri Jun 10 15:42:50 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Fri, 10 Jun 2011 15:42:50 +0200 Subject: [vlc-devel] Crystal HD for 1080i MPEG2 and closed captions on low-end system In-Reply-To: References: <20110607223702.GA17220@videolan.org> <539CC87A-DC9C-42AD-9ED2-8CD9177D66F5@gmail.com> Message-ID: <20110610134250.GA16330@videolan.org> Hello Devin, On Fri, Jun 10, 2011 at 09:26:10AM -0400, Devin Heitmueller wrote : > I actually did a bunch of patches to the EIA-608 decoder so that it > now conforms to the spec in terms of caption placement (and fixing > other bugs too), as well as introducing a black background under the > text (which is what most people who actually use closed captioning > would expect). > > The patches are for vlc-1.1.5, but I suspect they would probably > forward port without much difficulty: > > http://kernellabs.com/hg/~dheitmueller/vlc-1.1.5/shortlog > > It would be great to see these upstreamed, but I just haven't had a > chance to do it. This is quite interesting, and I believe that most modules/codecs/cc.c patches should be upstreamable without too much work. I am not sure the corectness/logic of some of them, though... However, the freetype module has seen some major rework and I think Laurent is changing quite a bit how the rendering is done, so I think the blackbox commit will not be mergeable. The patch on v4l2 has more issues IMVHO, notably committing changes to configure and m4, failing to use the ZVBI ifdef in all places, keeping printf when it should be msg_Dbg, not respecting indentation size and codestyle of the files. Just two remarks, you are allowed to use C99 for in VLC, and you should really check your indentation (4 spaces) for VLC code. With my many thanks and my best regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From etix at l0cal.com Fri Jun 10 16:03:13 2011 From: etix at l0cal.com (Ludovic Fauvet) Date: Fri, 10 Jun 2011 16:03:13 +0200 Subject: [vlc-devel] [RFC] Android OpenSL ES audio output In-Reply-To: <20110610132658.GA14692@videolan.org> References: <20110601130149.GA11312@videolan.org> <20110610132658.GA14692@videolan.org> Message-ID: Hello, [...] > /***************************************************************************** > ?* Play: play a sound > ?*****************************************************************************/ > static void Play( aout_instance_t * p_aout ) > { > ? ?aout_sys_t * p_sys = p_aout->output.p_sys; > ? ?aout_buffer_t *p_buffer; > > ? ?SLresult result; > > ? ?p_buffer = aout_FifoPop(p_aout, &p_aout->output.fifo); > ? ?if( p_buffer != NULL ) > ? ?{ > ? ? ? ?for (;;) > ? ? ? ?{ > ? ? ? ? ? ?result = (*p_sys->playerBufferQueue)->Enqueue( > ? ? ? ? ? ? ? ? ? ? ? ? ? ?p_sys->playerBufferQueue, p_buffer->p_buffer, > ? ? ? ? ? ? ? ? ? ? ? ? ? ?p_buffer->i_buffer ); > ? ? ? ? ? ?if( result == SL_RESULT_SUCCESS ) > ? ? ? ? ? ? ? ?break; If the Enqueue function never returns SL_RESULT_SUCCESS for whatever reason you're stuck inside an infinite loop. > > ? ? ? ? ? ?msg_Err( p_aout, "write error (%lu)", result ); > > ? ? ? ? ? ?// Wait a bit to retry. might miss calls to *cancel > ? ? ? ? ? ?// but this is supposed to be rare anyway > ? ? ? ? ? ?msleep(CLOCK_FREQ); > ? ? ? ?} > ? ? ? ?p_sys->p_buffer_array[p_sys->i_toappend_buffer] = p_buffer; > ? ? ? ?if( ++p_sys->i_toappend_buffer == BUFF_QUEUE ) > ? ? ? ? ? ?p_sys->i_toappend_buffer = 0; > ? ?} > ? ?else > ? ? ? ?msg_Err( p_aout, "nothing to play?" ); > } [...] -- Ludovic Fauvet (etix) From dheitmueller at kernellabs.com Fri Jun 10 16:06:18 2011 From: dheitmueller at kernellabs.com (Devin Heitmueller) Date: Fri, 10 Jun 2011 10:06:18 -0400 Subject: [vlc-devel] Crystal HD for 1080i MPEG2 and closed captions on low-end system In-Reply-To: <20110610134250.GA16330@videolan.org> References: <20110607223702.GA17220@videolan.org> <539CC87A-DC9C-42AD-9ED2-8CD9177D66F5@gmail.com> <20110610134250.GA16330@videolan.org> Message-ID: Hello, > This is quite interesting, and I believe that most modules/codecs/cc.c > patches should be upstreamable without too much work. > I am not sure the corectness/logic of some of them, though... If you have specific concerns, I would be interested in hearing them. There were definitely some cases where the code is ugly, largely due to limitations of the VLC framework and pre-existing code. > However, the freetype module has seen some major rework and I think > Laurent is changing quite a bit how the rendering is done, so I think > the blackbox commit will not be mergeable. This doesn't surprise me. I definitely would have preferred to avoid changing the Freetype module at all, but it was unfortunately necessary in order to do proper layout of the captions (as well as introducing the black background behind the text). > The patch on v4l2 has more issues IMVHO, notably committing changes to > configure and m4, failing to use the ZVBI ifdef in all places, keeping > printf when it should be msg_Dbg, not respecting indentation size and > codestyle of the files. > > Just two remarks, you are allowed to use C99 for in VLC, and you should > really check your indentation (4 spaces) for VLC code. Yup, my focus was on delivering functional patches, and I hadn't yet taken a pass over the patches to address codingstyle issue. Thanks for the feedback, Devin -- Devin J. Heitmueller - Kernel Labs http://www.kernellabs.com From jb at videolan.org Fri Jun 10 16:15:33 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Fri, 10 Jun 2011 16:15:33 +0200 Subject: [vlc-devel] Crystal HD for 1080i MPEG2 and closed captions on low-end system In-Reply-To: References: <20110607223702.GA17220@videolan.org> <539CC87A-DC9C-42AD-9ED2-8CD9177D66F5@gmail.com> <20110610134250.GA16330@videolan.org> Message-ID: <20110610141533.GA23334@videolan.org> Hello, On Fri, Jun 10, 2011 at 10:06:18AM -0400, Devin Heitmueller wrote : > If you have specific concerns, I would be interested in hearing them. The part hardcoding "DejaVu Sans Mono" was the one that worried me a bit, especially since since there is already some ugliness on freetype.c about this and that most distribution already change it there. > There were definitely some cases where the code is ugly, largely due > to limitations of the VLC framework and pre-existing code. I am not blaming you, really not ;) > > However, the freetype module has seen some major rework and I think > > Laurent is changing quite a bit how the rendering is done, so I think > > the blackbox commit will not be mergeable. > > This doesn't surprise me. I definitely would have preferred to avoid > changing the Freetype module at all, but it was unfortunately > necessary in order to do proper layout of the captions (as well as > introducing the black background behind the text). I understood this in your commits and your changes are minor there, except one commit that should be unnecessary once Laurent will finish his code. > > Just two remarks, you are allowed to use C99 for in VLC, and you should > > really check your indentation (4 spaces) for VLC code. > > Yup, my focus was on delivering functional patches, and I hadn't yet > taken a pass over the patches to address codingstyle issue. This is fully understood, and we all know the timing necessity that happen IRL. My comments were more for upstream inclusion, because it would be stupid not to merge your work, IMVHO. Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From dheitmueller at kernellabs.com Fri Jun 10 16:40:07 2011 From: dheitmueller at kernellabs.com (Devin Heitmueller) Date: Fri, 10 Jun 2011 10:40:07 -0400 Subject: [vlc-devel] Crystal HD for 1080i MPEG2 and closed captions on low-end system In-Reply-To: <20110610141533.GA23334@videolan.org> References: <20110607223702.GA17220@videolan.org> <539CC87A-DC9C-42AD-9ED2-8CD9177D66F5@gmail.com> <20110610134250.GA16330@videolan.org> <20110610141533.GA23334@videolan.org> Message-ID: On Fri, Jun 10, 2011 at 10:15 AM, Jean-Baptiste Kempf wrote: > The part hardcoding "DejaVu Sans Mono" was the one that worried me a > bit, especially since since there is already some ugliness on freetype.c > about this and that most distribution already change it there. I totally agree with you here, and perhaps my problem is a lack of understanding as to how FreeType is integrated with VLC. So let me restate the requirement that prompted this: How do I tell VLC that I need a fixed width font which has a predictable height? The fixed-width nature is required in order to ensure that horizontal layout works properly. The known height is required in order to ensure that I end up with vertical placement such that everything fits on the screen. For example, with the default font used the last two or three lines of text would not fit on the OSD because the font is too tall. In essence, EIA-608 operates under the expectation that there are 16 lines of text (taking up 80% of the vertical screen) and a horizontal width of 32 characters. I welcome suggestions on how to achieve this in a less hacky manner. >> There were definitely some cases where the code is ugly, largely due >> to limitations of the VLC framework and pre-existing code. > > I am not blaming you, really not ;) I didn't think you were. Just attempting to explain where things are at. :-) >> > However, the freetype module has seen some major rework and I think >> > Laurent is changing quite a bit how the rendering is done, so I think >> > the blackbox commit will not be mergeable. >> >> This doesn't surprise me. ?I definitely would have preferred to avoid >> changing the Freetype module at all, but it was unfortunately >> necessary in order to do proper layout of the captions (as well as >> introducing the black background behind the text). > > I understood this in your commits and your changes are minor there, > except one commit that should be unnecessary once Laurent will finish > his code. I assume I would have stumbled across this myself as soon as I attempted to rebase the patches against the current HEAD. >> > Just two remarks, you are allowed to use C99 for in VLC, and you should >> > really check your indentation (4 spaces) for VLC code. >> >> Yup, my focus was on delivering functional patches, and I hadn't yet >> taken a pass over the patches to address codingstyle issue. > > This is fully understood, and we all know the timing necessity that > happen IRL. My comments were more for upstream inclusion, because it > would be stupid not to merge your work, IMVHO. Yeah, I didn't really expect that the patches would meet the coding standards, and I appreciate why projects demand that submissions to, which is one of the key reasons I hadn't yet attempted to actually submit them upstream. I'll have these issues worked out before any real submission. Devin -- Devin J. Heitmueller - Kernel Labs http://www.kernellabs.com From beauze.h at gmail.com Fri Jun 10 16:55:44 2011 From: beauze.h at gmail.com (Hugo Beauzee-Luyssen) Date: Fri, 10 Jun 2011 16:55:44 +0200 Subject: [vlc-devel] [RFC] Android OpenSL ES audio output In-Reply-To: References: <20110601130149.GA11312@videolan.org> <20110610132658.GA14692@videolan.org> Message-ID: Hi, Let's try with this one. /***************************************************************************** * opensles.c : audio output for android native code ***************************************************************************** * Copyright ? 2011 VideoLAN * * Authors: Dominique Martinet * Hugo Beauz?e-Luyssen * * 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 *****************************************************************************/ #ifdef HAVE_CONFIG_H # include "config.h" #endif #include #include #include #include #include // For native audio #include #include // Maximum number of buffers to enqueue. #define BUFF_QUEUE 42 /***************************************************************************** * aout_sys_t: audio output method descriptor ***************************************************************************** * This structure is part of the audio output thread descriptor. * It describes the direct sound specific properties of an audio device. *****************************************************************************/ struct aout_sys_t { SLObjectItf engineObject; SLEngineItf engineEngine; SLObjectItf outputMixObject; SLAndroidSimpleBufferQueueItf playerBufferQueue; SLObjectItf playerObject; SLPlayItf playerPlay; aout_buffer_t * p_buffer_array[BUFF_QUEUE]; int i_toclean_buffer; int i_toappend_buffer; SLInterfaceID * SL_IID_ENGINE; SLInterfaceID * SL_IID_ANDROIDSIMPLEBUFFERQUEUE; SLInterfaceID * SL_IID_VOLUME; SLInterfaceID * SL_IID_PLAY; void * p_so_handle; }; typedef SLresult (*slCreateEngine_t)( SLObjectItf*, SLuint32, const SLEngineOption*, SLuint32, const SLInterfaceID*, const SLboolean* ); /***************************************************************************** * Local prototypes. *****************************************************************************/ static int Open ( vlc_object_t * ); static void Close ( vlc_object_t * ); static void Play ( aout_instance_t * ); static void PlayedCallback ( SLAndroidSimpleBufferQueueItf caller, void *pContext); /***************************************************************************** * Module descriptor *****************************************************************************/ vlc_module_begin () set_description( N_("OpenSLES audio output") ) set_shortname( N_("OpenSLES") ) set_category( CAT_AUDIO ) set_subcategory( SUBCAT_AUDIO_AOUT ) set_capability( "audio output", 170 ) add_shortcut( "opensles", "android" ) set_callbacks( Open, Close ) vlc_module_end () #define CHECK_OPENSL_ERROR( res, msg ) \ if( unlikely( res != SL_RESULT_SUCCESS ) ) \ { \ msg_Err( p_aout, msg" (%lu)", res ); \ goto error; \ } #define OPENSL_DLSYM( dest, handle, name ) \ dest = (typeof(dest))dlsym( handle, name ); \ if( dest == NULL ) \ { \ msg_Err( p_aout, "Failed to load symbol %s", name ); \ goto error; \ } static void Clear( aout_sys_t *p_sys ) { // Destroy buffer queue audio player object // and invalidate all associated interfaces if( p_sys->playerObject != NULL ) (*p_sys->playerObject)->Destroy( p_sys->playerObject ); // destroy output mix object, and invalidate all associated interfaces if( p_sys->outputMixObject != NULL ) (*p_sys->outputMixObject)->Destroy( p_sys->outputMixObject ); // destroy engine object, and invalidate all associated interfaces if( p_sys->engineObject != NULL ) (*p_sys->engineObject)->Destroy( p_sys->engineObject ); if( p_sys->p_so_handle != NULL ) dlclose( p_sys->p_so_handle ); free( p_sys ); } /***************************************************************************** * Open: open a dummy audio device *****************************************************************************/ static int Open( vlc_object_t * p_this ) { aout_instance_t *p_aout = (aout_instance_t *)p_this; SLresult result; /* Allocate structure */ p_aout->output.p_sys = malloc( sizeof( aout_sys_t ) ); if( unlikely( p_aout->output.p_sys == NULL ) ) return VLC_ENOMEM; aout_sys_t * p_sys = p_aout->output.p_sys; p_sys->playerObject = NULL; p_sys->engineObject = NULL; p_sys->outputMixObject = NULL; p_sys->i_toclean_buffer = 0; p_sys->i_toappend_buffer= 0; //Acquiring LibOpenSLES symbols : p_sys->p_so_handle = dlopen( "libOpenSLES.so", RTLD_NOW ); if( p_sys->p_so_handle == NULL ) { msg_Err( p_aout, "Failed to load libOpenSLES" ); goto error; } slCreateEngine_t slCreateEnginePtr = NULL; OPENSL_DLSYM( slCreateEnginePtr, p_sys->p_so_handle, "slCreateEngine" ); OPENSL_DLSYM( p_sys->SL_IID_ANDROIDSIMPLEBUFFERQUEUE, p_sys->p_so_handle, "SL_IID_ANDROIDSIMPLEBUFFERQUEUE" ); OPENSL_DLSYM( p_sys->SL_IID_ENGINE, p_sys->p_so_handle, "SL_IID_ENGINE" ); OPENSL_DLSYM( p_sys->SL_IID_PLAY, p_sys->p_so_handle, "SL_IID_PLAY" ); OPENSL_DLSYM( p_sys->SL_IID_VOLUME, p_sys->p_so_handle, "SL_IID_VOLUME" ); // create engine result = slCreateEnginePtr( &p_sys->engineObject, 0, NULL, 0, NULL, NULL ); CHECK_OPENSL_ERROR( result, "Failed to create engine" ); // realize the engine in synchronous mode result = (*p_sys->engineObject)->Realize( p_sys->engineObject, SL_BOOLEAN_FALSE ); CHECK_OPENSL_ERROR( result, "Failed to realize engine" ); // get the engine interface, needed to create other objects result = (*p_sys->engineObject)->GetInterface( p_sys->engineObject, *p_sys->SL_IID_ENGINE, &p_sys->engineEngine ); CHECK_OPENSL_ERROR( result, "Failed to get the engine interface" ); // create output mix, with environmental reverb specified as a non-required interface const SLInterfaceID ids1[] = { *p_sys->SL_IID_VOLUME }; const SLboolean req1[] = { SL_BOOLEAN_FALSE }; result = (*p_sys->engineEngine)->CreateOutputMix( p_sys->engineEngine, &p_sys->outputMixObject, 1, ids1, req1 ); CHECK_OPENSL_ERROR( result, "Failed to create output mix" ); // realize the output mix in synchronous mode result = (*p_sys->outputMixObject)->Realize( p_sys->outputMixObject, SL_BOOLEAN_FALSE ); CHECK_OPENSL_ERROR( result, "Failed to realize output mix" ); // configure audio source - this defines the number of samples you can enqueue. SLDataLocator_AndroidSimpleBufferQueue loc_bufq = { SL_DATALOCATOR_ANDROIDSIMPLEBUFFERQUEUE, BUFF_QUEUE }; SLDataFormat_PCM format_pcm; format_pcm.formatType = SL_DATAFORMAT_PCM; format_pcm.numChannels = 2; format_pcm.samplesPerSec = ((SLuint32) p_aout->output.output.i_rate * 1000) ; format_pcm.bitsPerSample = SL_PCMSAMPLEFORMAT_FIXED_16; format_pcm.containerSize = SL_PCMSAMPLEFORMAT_FIXED_16; format_pcm.channelMask = SL_SPEAKER_FRONT_LEFT | SL_SPEAKER_FRONT_RIGHT; format_pcm.endianness = SL_BYTEORDER_LITTLEENDIAN; SLDataSource audioSrc = {&loc_bufq, &format_pcm}; // configure audio sink SLDataLocator_OutputMix loc_outmix = { SL_DATALOCATOR_OUTPUTMIX, p_sys->outputMixObject }; SLDataSink audioSnk = {&loc_outmix, NULL}; //create audio player const SLInterfaceID ids2[] = { *p_sys->SL_IID_ANDROIDSIMPLEBUFFERQUEUE }; const SLboolean req2[] = { SL_BOOLEAN_TRUE }; result = (*p_sys->engineEngine)->CreateAudioPlayer( p_sys->engineEngine, &p_sys->playerObject, &audioSrc, &audioSnk, sizeof( ids2 ) / sizeof( *ids2 ), ids2, req2 ); CHECK_OPENSL_ERROR( result, "Failed to create audio player" ); // realize the player result = (*p_sys->playerObject)->Realize( p_sys->playerObject, SL_BOOLEAN_FALSE ); CHECK_OPENSL_ERROR( result, "Failed to realize player object." ); // get the play interface result = (*p_sys->playerObject)->GetInterface( p_sys->playerObject, *p_sys->SL_IID_PLAY, &p_sys->playerPlay ); CHECK_OPENSL_ERROR( result, "Failed to get player interface." ); // get the buffer queue interface result = (*p_sys->playerObject)->GetInterface( p_sys->playerObject, *p_sys->SL_IID_ANDROIDSIMPLEBUFFERQUEUE, &p_sys->playerBufferQueue ); CHECK_OPENSL_ERROR( result, "Failed to get buff queue interface" ); result = (*p_sys->playerBufferQueue)->RegisterCallback( p_sys->playerBufferQueue, PlayedCallback, (void*)p_sys); CHECK_OPENSL_ERROR( result, "Failed to register buff queue callback." ); // set the player's state to playing result = (*p_sys->playerPlay)->SetPlayState( p_sys->playerPlay, SL_PLAYSTATE_PLAYING ); CHECK_OPENSL_ERROR( result, "Failed to switch to playing state" ); // we want 16bit signed data little endian. p_aout->output.output.i_format = VLC_CODEC_S16L; p_aout->output.i_nb_samples = 2048; p_aout->output.output.i_physical_channels = AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT; p_aout->output.pf_play = Play; aout_FormatPrepare( &p_aout->output.output ); return VLC_SUCCESS; error: Clear( p_sys ); return VLC_EGENERIC; } /***************************************************************************** * Close: close our file *****************************************************************************/ static void Close( vlc_object_t * p_this ) { aout_instance_t *p_aout = (aout_instance_t *)p_this; aout_sys_t *p_sys = p_aout->output.p_sys; msg_Dbg( p_aout, "Closing OpenSLES" ); (*p_sys->playerPlay)->SetPlayState( p_sys->playerPlay, SL_PLAYSTATE_STOPPED ); //Flush remaining buffers if any. if( p_sys->playerBufferQueue != NULL ) (*p_sys->playerBufferQueue)->Clear( p_sys->playerBufferQueue ); Clear( p_sys ); } /***************************************************************************** * Play: play a sound *****************************************************************************/ static void Play( aout_instance_t * p_aout ) { aout_sys_t * p_sys = p_aout->output.p_sys; aout_buffer_t *p_buffer; SLresult result; p_buffer = aout_FifoPop(p_aout, &p_aout->output.fifo); if( p_buffer != NULL ) { for (;;) { result = (*p_sys->playerBufferQueue)->Enqueue( p_sys->playerBufferQueue, p_buffer->p_buffer, p_buffer->i_buffer ); if( result == SL_RESULT_SUCCESS ) break; if ( result == SL_RESULT_PARAMETER_INVALID ) { msg_Warn( p_aout, "Dropping invalid buffer" ); aout_BufferFree( p_buffer ); return ; } // Wait a bit to retry. might miss calls to *cancel // but this is supposed to be rare anyway msleep(CLOCK_FREQ); } p_sys->p_buffer_array[p_sys->i_toappend_buffer] = p_buffer; if( ++p_sys->i_toappend_buffer == BUFF_QUEUE ) p_sys->i_toappend_buffer = 0; } else msg_Err( p_aout, "nothing to play?" ); } static void PlayedCallback (SLAndroidSimpleBufferQueueItf caller, void *pContext ) { aout_sys_t *p_sys = (aout_sys_t*)pContext; assert (caller == p_sys->playerBufferQueue); aout_BufferFree( p_sys->p_buffer_array[p_sys->i_toclean_buffer] ); if( ++p_sys->i_toclean_buffer == BUFF_QUEUE ) p_sys->i_toclean_buffer = 0; } -- Hugo Beauz?e-Luyssen From beauze.h at gmail.com Fri Jun 10 17:04:22 2011 From: beauze.h at gmail.com (Hugo Beauzee-Luyssen) Date: Fri, 10 Jun 2011 17:04:22 +0200 Subject: [vlc-devel] [RFC] Android OpenSL ES audio output In-Reply-To: References: <20110601130149.GA11312@videolan.org> <20110610132658.GA14692@videolan.org> Message-ID: Updated version. /***************************************************************************** * opensles.c : audio output for android native code ***************************************************************************** * Copyright ? 2011 VideoLAN * * Authors: Dominique Martinet * Hugo Beauz?e-Luyssen * * 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 *****************************************************************************/ #ifdef HAVE_CONFIG_H # include "config.h" #endif #include #include #include #include #include // For native audio #include #include // Maximum number of buffers to enqueue. #define BUFF_QUEUE 42 /***************************************************************************** * aout_sys_t: audio output method descriptor ***************************************************************************** * This structure is part of the audio output thread descriptor. * It describes the direct sound specific properties of an audio device. *****************************************************************************/ struct aout_sys_t { SLObjectItf engineObject; SLEngineItf engineEngine; SLObjectItf outputMixObject; SLAndroidSimpleBufferQueueItf playerBufferQueue; SLObjectItf playerObject; SLPlayItf playerPlay; aout_buffer_t * p_buffer_array[BUFF_QUEUE]; int i_toclean_buffer; int i_toappend_buffer; SLInterfaceID * SL_IID_ENGINE; SLInterfaceID * SL_IID_ANDROIDSIMPLEBUFFERQUEUE; SLInterfaceID * SL_IID_VOLUME; SLInterfaceID * SL_IID_PLAY; void * p_so_handle; }; typedef SLresult (*slCreateEngine_t)( SLObjectItf*, SLuint32, const SLEngineOption*, SLuint32, const SLInterfaceID*, const SLboolean* ); /***************************************************************************** * Local prototypes. *****************************************************************************/ static int Open ( vlc_object_t * ); static void Close ( vlc_object_t * ); static void Play ( aout_instance_t * ); static void PlayedCallback ( SLAndroidSimpleBufferQueueItf caller, void *pContext); /***************************************************************************** * Module descriptor *****************************************************************************/ vlc_module_begin () set_description( N_("OpenSLES audio output") ) set_shortname( N_("OpenSLES") ) set_category( CAT_AUDIO ) set_subcategory( SUBCAT_AUDIO_AOUT ) set_capability( "audio output", 170 ) add_shortcut( "opensles", "android" ) set_callbacks( Open, Close ) vlc_module_end () #define CHECK_OPENSL_ERROR( res, msg ) \ if( unlikely( res != SL_RESULT_SUCCESS ) ) \ { \ msg_Err( p_aout, msg" (%lu)", res ); \ goto error; \ } #define OPENSL_DLSYM( dest, handle, name ) \ dest = (typeof(dest))dlsym( handle, name ); \ if( dest == NULL ) \ { \ msg_Err( p_aout, "Failed to load symbol %s", name ); \ goto error; \ } static void Clear( aout_sys_t *p_sys ) { // Destroy buffer queue audio player object // and invalidate all associated interfaces if( p_sys->playerObject != NULL ) (*p_sys->playerObject)->Destroy( p_sys->playerObject ); // destroy output mix object, and invalidate all associated interfaces if( p_sys->outputMixObject != NULL ) (*p_sys->outputMixObject)->Destroy( p_sys->outputMixObject ); // destroy engine object, and invalidate all associated interfaces if( p_sys->engineObject != NULL ) (*p_sys->engineObject)->Destroy( p_sys->engineObject ); if( p_sys->p_so_handle != NULL ) dlclose( p_sys->p_so_handle ); free( p_sys ); } /***************************************************************************** * Open: open a dummy audio device *****************************************************************************/ static int Open( vlc_object_t * p_this ) { aout_instance_t *p_aout = (aout_instance_t *)p_this; SLresult result; /* Allocate structure */ p_aout->output.p_sys = malloc( sizeof( aout_sys_t ) ); if( unlikely( p_aout->output.p_sys == NULL ) ) return VLC_ENOMEM; aout_sys_t * p_sys = p_aout->output.p_sys; p_sys->playerObject = NULL; p_sys->engineObject = NULL; p_sys->outputMixObject = NULL; p_sys->i_toclean_buffer = 0; p_sys->i_toappend_buffer= 0; //Acquiring LibOpenSLES symbols : p_sys->p_so_handle = dlopen( "libOpenSLES.so", RTLD_NOW ); if( p_sys->p_so_handle == NULL ) { msg_Err( p_aout, "Failed to load libOpenSLES" ); goto error; } slCreateEngine_t slCreateEnginePtr = NULL; OPENSL_DLSYM( slCreateEnginePtr, p_sys->p_so_handle, "slCreateEngine" ); OPENSL_DLSYM( p_sys->SL_IID_ANDROIDSIMPLEBUFFERQUEUE, p_sys->p_so_handle, "SL_IID_ANDROIDSIMPLEBUFFERQUEUE" ); OPENSL_DLSYM( p_sys->SL_IID_ENGINE, p_sys->p_so_handle, "SL_IID_ENGINE" ); OPENSL_DLSYM( p_sys->SL_IID_PLAY, p_sys->p_so_handle, "SL_IID_PLAY" ); OPENSL_DLSYM( p_sys->SL_IID_VOLUME, p_sys->p_so_handle, "SL_IID_VOLUME" ); // create engine result = slCreateEnginePtr( &p_sys->engineObject, 0, NULL, 0, NULL, NULL ); CHECK_OPENSL_ERROR( result, "Failed to create engine" ); // realize the engine in synchronous mode result = (*p_sys->engineObject)->Realize( p_sys->engineObject, SL_BOOLEAN_FALSE ); CHECK_OPENSL_ERROR( result, "Failed to realize engine" ); // get the engine interface, needed to create other objects result = (*p_sys->engineObject)->GetInterface( p_sys->engineObject, *p_sys->SL_IID_ENGINE, &p_sys->engineEngine ); CHECK_OPENSL_ERROR( result, "Failed to get the engine interface" ); // create output mix, with environmental reverb specified as a non-required interface const SLInterfaceID ids1[] = { *p_sys->SL_IID_VOLUME }; const SLboolean req1[] = { SL_BOOLEAN_FALSE }; result = (*p_sys->engineEngine)->CreateOutputMix( p_sys->engineEngine, &p_sys->outputMixObject, 1, ids1, req1 ); CHECK_OPENSL_ERROR( result, "Failed to create output mix" ); // realize the output mix in synchronous mode result = (*p_sys->outputMixObject)->Realize( p_sys->outputMixObject, SL_BOOLEAN_FALSE ); CHECK_OPENSL_ERROR( result, "Failed to realize output mix" ); // configure audio source - this defines the number of samples you can enqueue. SLDataLocator_AndroidSimpleBufferQueue loc_bufq = { SL_DATALOCATOR_ANDROIDSIMPLEBUFFERQUEUE, BUFF_QUEUE }; SLDataFormat_PCM format_pcm; format_pcm.formatType = SL_DATAFORMAT_PCM; format_pcm.numChannels = 2; format_pcm.samplesPerSec = ((SLuint32) p_aout->output.output.i_rate * 1000) ; format_pcm.bitsPerSample = SL_PCMSAMPLEFORMAT_FIXED_16; format_pcm.containerSize = SL_PCMSAMPLEFORMAT_FIXED_16; format_pcm.channelMask = SL_SPEAKER_FRONT_LEFT | SL_SPEAKER_FRONT_RIGHT; format_pcm.endianness = SL_BYTEORDER_LITTLEENDIAN; SLDataSource audioSrc = {&loc_bufq, &format_pcm}; // configure audio sink SLDataLocator_OutputMix loc_outmix = { SL_DATALOCATOR_OUTPUTMIX, p_sys->outputMixObject }; SLDataSink audioSnk = {&loc_outmix, NULL}; //create audio player const SLInterfaceID ids2[] = { *p_sys->SL_IID_ANDROIDSIMPLEBUFFERQUEUE }; const SLboolean req2[] = { SL_BOOLEAN_TRUE }; result = (*p_sys->engineEngine)->CreateAudioPlayer( p_sys->engineEngine, &p_sys->playerObject, &audioSrc, &audioSnk, sizeof( ids2 ) / sizeof( *ids2 ), ids2, req2 ); CHECK_OPENSL_ERROR( result, "Failed to create audio player" ); // realize the player result = (*p_sys->playerObject)->Realize( p_sys->playerObject, SL_BOOLEAN_FALSE ); CHECK_OPENSL_ERROR( result, "Failed to realize player object." ); // get the play interface result = (*p_sys->playerObject)->GetInterface( p_sys->playerObject, *p_sys->SL_IID_PLAY, &p_sys->playerPlay ); CHECK_OPENSL_ERROR( result, "Failed to get player interface." ); // get the buffer queue interface result = (*p_sys->playerObject)->GetInterface( p_sys->playerObject, *p_sys->SL_IID_ANDROIDSIMPLEBUFFERQUEUE, &p_sys->playerBufferQueue ); CHECK_OPENSL_ERROR( result, "Failed to get buff queue interface" ); result = (*p_sys->playerBufferQueue)->RegisterCallback( p_sys->playerBufferQueue, PlayedCallback, (void*)p_sys); CHECK_OPENSL_ERROR( result, "Failed to register buff queue callback." ); // set the player's state to playing result = (*p_sys->playerPlay)->SetPlayState( p_sys->playerPlay, SL_PLAYSTATE_PLAYING ); CHECK_OPENSL_ERROR( result, "Failed to switch to playing state" ); // we want 16bit signed data little endian. p_aout->output.output.i_format = VLC_CODEC_S16L; p_aout->output.i_nb_samples = 2048; p_aout->output.output.i_physical_channels = AOUT_CHAN_LEFT | AOUT_CHAN_RIGHT; p_aout->output.pf_play = Play; aout_FormatPrepare( &p_aout->output.output ); return VLC_SUCCESS; error: Clear( p_sys ); return VLC_EGENERIC; } /***************************************************************************** * Close: close our file *****************************************************************************/ static void Close( vlc_object_t * p_this ) { aout_instance_t *p_aout = (aout_instance_t *)p_this; aout_sys_t *p_sys = p_aout->output.p_sys; msg_Dbg( p_aout, "Closing OpenSLES" ); (*p_sys->playerPlay)->SetPlayState( p_sys->playerPlay, SL_PLAYSTATE_STOPPED ); //Flush remaining buffers if any. if( p_sys->playerBufferQueue != NULL ) (*p_sys->playerBufferQueue)->Clear( p_sys->playerBufferQueue ); Clear( p_sys ); } /***************************************************************************** * Play: play a sound *****************************************************************************/ static void Play( aout_instance_t * p_aout ) { aout_sys_t * p_sys = p_aout->output.p_sys; aout_buffer_t *p_buffer; SLresult result; p_buffer = aout_FifoPop(p_aout, &p_aout->output.fifo); if( p_buffer != NULL ) { for (;;) { result = (*p_sys->playerBufferQueue)->Enqueue( p_sys->playerBufferQueue, p_buffer->p_buffer, p_buffer->i_buffer ); if( result == SL_RESULT_SUCCESS ) break; if ( result != SL_RESULT_BUFFER_INSUFFICIENT ) { msg_Warn( p_aout, "Dropping invalid buffer" ); aout_BufferFree( p_buffer ); return ; } msg_Err( p_aout, "write error (%lu)", result ); // Wait a bit to retry. might miss calls to *cancel // but this is supposed to be rare anyway msleep(CLOCK_FREQ); } p_sys->p_buffer_array[p_sys->i_toappend_buffer] = p_buffer; if( ++p_sys->i_toappend_buffer == BUFF_QUEUE ) p_sys->i_toappend_buffer = 0; } else msg_Err( p_aout, "nothing to play?" ); } static void PlayedCallback (SLAndroidSimpleBufferQueueItf caller, void *pContext ) { aout_sys_t *p_sys = (aout_sys_t*)pContext; assert (caller == p_sys->playerBufferQueue); aout_BufferFree( p_sys->p_buffer_array[p_sys->i_toclean_buffer] ); if( ++p_sys->i_toclean_buffer == BUFF_QUEUE ) p_sys->i_toclean_buffer = 0; } On Fri, Jun 10, 2011 at 4:55 PM, Hugo Beauzee-Luyssen wrote: > Hi, > > Let's try with this one. > > /***************************************************************************** > ?* opensles.c : audio output for android native code > ?***************************************************************************** > ?* Copyright ? 2011 VideoLAN > ?* > ?* Authors: Dominique Martinet > ?* ? ? ? ? ?Hugo Beauz?e-Luyssen > ?* > ?* 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 > ?*****************************************************************************/ > > #ifdef HAVE_CONFIG_H > # include "config.h" > #endif > > #include > #include > #include > #include > #include > > // For native audio > #include > #include > > // Maximum number of buffers to enqueue. > #define BUFF_QUEUE ?42 > > /***************************************************************************** > ?* aout_sys_t: audio output method descriptor > ?***************************************************************************** > ?* This structure is part of the audio output thread descriptor. > ?* It describes the direct sound specific properties of an audio device. > ?*****************************************************************************/ > struct aout_sys_t > { > ? ?SLObjectItf ? ? ? ? ? ? ? ? ? ? engineObject; > ? ?SLEngineItf ? ? ? ? ? ? ? ? ? ? engineEngine; > ? ?SLObjectItf ? ? ? ? ? ? ? ? ? ? outputMixObject; > ? ?SLAndroidSimpleBufferQueueItf ? playerBufferQueue; > ? ?SLObjectItf ? ? ? ? ? ? ? ? ? ? playerObject; > ? ?SLPlayItf ? ? ? ? ? ? ? ? ? ? ? playerPlay; > ? ?aout_buffer_t ? ? ? ? ? ? ? ? * p_buffer_array[BUFF_QUEUE]; > ? ?int ? ? ? ? ? ? ? ? ? ? ? ? ? ? i_toclean_buffer; > ? ?int ? ? ? ? ? ? ? ? ? ? ? ? ? ? i_toappend_buffer; > ? ?SLInterfaceID ? ? ? ? ? ? ? ? * SL_IID_ENGINE; > ? ?SLInterfaceID ? ? ? ? ? ? ? ? * SL_IID_ANDROIDSIMPLEBUFFERQUEUE; > ? ?SLInterfaceID ? ? ? ? ? ? ? ? * SL_IID_VOLUME; > ? ?SLInterfaceID ? ? ? ? ? ? ? ? * SL_IID_PLAY; > ? ?void ? ? ? ? ? ? ? ? ? ? ? ? ?* p_so_handle; > }; > > typedef SLresult (*slCreateEngine_t)( > ? ? ? ?SLObjectItf*, SLuint32, const SLEngineOption*, SLuint32, > ? ? ? ?const SLInterfaceID*, const SLboolean* ); > > /***************************************************************************** > ?* Local prototypes. > ?*****************************************************************************/ > static int ?Open ? ? ? ?( vlc_object_t * ); > static void Close ? ? ? ( vlc_object_t * ); > static void Play ? ? ? ?( aout_instance_t * ); > static void PlayedCallback ( SLAndroidSimpleBufferQueueItf caller, > void *pContext); > > /***************************************************************************** > ?* Module descriptor > ?*****************************************************************************/ > > vlc_module_begin () > ? ?set_description( N_("OpenSLES audio output") ) > ? ?set_shortname( N_("OpenSLES") ) > ? ?set_category( CAT_AUDIO ) > ? ?set_subcategory( SUBCAT_AUDIO_AOUT ) > > ? ?set_capability( "audio output", 170 ) > ? ?add_shortcut( "opensles", "android" ) > ? ?set_callbacks( Open, Close ) > vlc_module_end () > > > #define CHECK_OPENSL_ERROR( res, msg ) ? ? ? ? ? ? ?\ > ? ?if( unlikely( res != SL_RESULT_SUCCESS ) ) ? ? ?\ > ? ?{ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \ > ? ? ? ?msg_Err( p_aout, msg" (%lu)", res ); ? ? ? ?\ > ? ? ? ?goto error; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \ > ? ?} > > #define OPENSL_DLSYM( dest, handle, name ) ? ? ? ? ? ? ? ? ? \ > ? ?dest = (typeof(dest))dlsym( handle, name ); ? ? ? ? ? ? ?\ > ? ?if( dest == NULL ) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \ > ? ?{ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\ > ? ? ? ?msg_Err( p_aout, "Failed to load symbol %s", name ); \ > ? ? ? ?goto error; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\ > ? ?} > > static void Clear( aout_sys_t *p_sys ) > { > ? ?// Destroy buffer queue audio player object > ? ?// and invalidate all associated interfaces > ? ?if( p_sys->playerObject != NULL ) > ? ? ? ?(*p_sys->playerObject)->Destroy( p_sys->playerObject ); > > ? ?// destroy output mix object, and invalidate all associated interfaces > ? ?if( p_sys->outputMixObject != NULL ) > ? ? ? ?(*p_sys->outputMixObject)->Destroy( p_sys->outputMixObject ); > > ? ?// destroy engine object, and invalidate all associated interfaces > ? ?if( p_sys->engineObject != NULL ) > ? ? ? ?(*p_sys->engineObject)->Destroy( p_sys->engineObject ); > > ? ?if( p_sys->p_so_handle != NULL ) > ? ? ? ?dlclose( p_sys->p_so_handle ); > > ? ?free( p_sys ); > } > > /***************************************************************************** > ?* Open: open a dummy audio device > ?*****************************************************************************/ > static int Open( vlc_object_t * p_this ) > { > ? ?aout_instance_t ? ? *p_aout = (aout_instance_t *)p_this; > ? ?SLresult ? ? ? ? ? ?result; > > ? ?/* Allocate structure */ > ? ?p_aout->output.p_sys = malloc( sizeof( aout_sys_t ) ); > ? ?if( unlikely( p_aout->output.p_sys == NULL ) ) > ? ? ? ?return VLC_ENOMEM; > > ? ?aout_sys_t * p_sys = p_aout->output.p_sys; > > ? ?p_sys->playerObject ? ? = NULL; > ? ?p_sys->engineObject ? ? = NULL; > ? ?p_sys->outputMixObject ?= NULL; > ? ?p_sys->i_toclean_buffer = 0; > ? ?p_sys->i_toappend_buffer= 0; > > ? ?//Acquiring LibOpenSLES symbols : > ? ?p_sys->p_so_handle = dlopen( "libOpenSLES.so", RTLD_NOW ); > ? ?if( p_sys->p_so_handle == NULL ) > ? ?{ > ? ? ? ?msg_Err( p_aout, "Failed to load libOpenSLES" ); > ? ? ? ?goto error; > ? ?} > > ? ?slCreateEngine_t ? ?slCreateEnginePtr = NULL; > > ? ?OPENSL_DLSYM( slCreateEnginePtr, p_sys->p_so_handle, "slCreateEngine" ); > ? ?OPENSL_DLSYM( p_sys->SL_IID_ANDROIDSIMPLEBUFFERQUEUE, p_sys->p_so_handle, > ? ? ? ? ? ? ? ? "SL_IID_ANDROIDSIMPLEBUFFERQUEUE" ); > ? ?OPENSL_DLSYM( p_sys->SL_IID_ENGINE, p_sys->p_so_handle, "SL_IID_ENGINE" ); > ? ?OPENSL_DLSYM( p_sys->SL_IID_PLAY, p_sys->p_so_handle, "SL_IID_PLAY" ); > ? ?OPENSL_DLSYM( p_sys->SL_IID_VOLUME, p_sys->p_so_handle, "SL_IID_VOLUME" ); > > ? ?// create engine > ? ?result = slCreateEnginePtr( &p_sys->engineObject, 0, NULL, 0, NULL, NULL ); > ? ?CHECK_OPENSL_ERROR( result, "Failed to create engine" ); > > ? ?// realize the engine in synchronous mode > ? ?result = (*p_sys->engineObject)->Realize( p_sys->engineObject, > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? SL_BOOLEAN_FALSE ); > ? ?CHECK_OPENSL_ERROR( result, "Failed to realize engine" ); > > ? ?// get the engine interface, needed to create other objects > ? ?result = (*p_sys->engineObject)->GetInterface( p_sys->engineObject, > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?*p_sys->SL_IID_ENGINE, > &p_sys->engineEngine ); > ? ?CHECK_OPENSL_ERROR( result, "Failed to get the engine interface" ); > > ? ?// create output mix, with environmental reverb specified as a > non-required interface > ? ?const SLInterfaceID ids1[] = { *p_sys->SL_IID_VOLUME }; > ? ?const SLboolean req1[] = { SL_BOOLEAN_FALSE }; > ? ?result = (*p_sys->engineEngine)->CreateOutputMix( p_sys->engineEngine, > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?&p_sys->outputMixObject, 1, > ids1, req1 ); > ? ?CHECK_OPENSL_ERROR( result, "Failed to create output mix" ); > > ? ?// realize the output mix in synchronous mode > ? ?result = (*p_sys->outputMixObject)->Realize( p_sys->outputMixObject, > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? SL_BOOLEAN_FALSE ); > ? ?CHECK_OPENSL_ERROR( result, "Failed to realize output mix" ); > > > ? ?// configure audio source - this defines the number of samples you > can enqueue. > ? ?SLDataLocator_AndroidSimpleBufferQueue loc_bufq = { > ? ? ? ?SL_DATALOCATOR_ANDROIDSIMPLEBUFFERQUEUE, > ? ? ? ?BUFF_QUEUE > ? ?}; > > ? ?SLDataFormat_PCM format_pcm; > ? ?format_pcm.formatType ? ? ? = SL_DATAFORMAT_PCM; > ? ?format_pcm.numChannels ? ? ?= 2; > ? ?format_pcm.samplesPerSec ? ?= ((SLuint32) > p_aout->output.output.i_rate * 1000) ; > ? ?format_pcm.bitsPerSample ? ?= SL_PCMSAMPLEFORMAT_FIXED_16; > ? ?format_pcm.containerSize ? ?= SL_PCMSAMPLEFORMAT_FIXED_16; > ? ?format_pcm.channelMask ? ? ?= SL_SPEAKER_FRONT_LEFT | > SL_SPEAKER_FRONT_RIGHT; > ? ?format_pcm.endianness ? ? ? = SL_BYTEORDER_LITTLEENDIAN; > > ? ?SLDataSource audioSrc = {&loc_bufq, &format_pcm}; > > ? ?// configure audio sink > ? ?SLDataLocator_OutputMix loc_outmix = { > ? ? ? ?SL_DATALOCATOR_OUTPUTMIX, > ? ? ? ?p_sys->outputMixObject > ? ?}; > ? ?SLDataSink audioSnk = {&loc_outmix, NULL}; > > ? ?//create audio player > ? ?const SLInterfaceID ids2[] = { *p_sys->SL_IID_ANDROIDSIMPLEBUFFERQUEUE }; > ? ?const SLboolean ? ? req2[] = { SL_BOOLEAN_TRUE }; > ? ?result = (*p_sys->engineEngine)->CreateAudioPlayer( p_sys->engineEngine, > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?&p_sys->playerObject, &audioSrc, > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?&audioSnk, sizeof( ids2 ) / sizeof( *ids2 ), > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?ids2, req2 ); > ? ?CHECK_OPENSL_ERROR( result, "Failed to create audio player" ); > > ? ?// realize the player > ? ?result = (*p_sys->playerObject)->Realize( p_sys->playerObject, > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?SL_BOOLEAN_FALSE ); > ? ?CHECK_OPENSL_ERROR( result, "Failed to realize player object." ); > > ? ?// get the play interface > ? ?result = (*p_sys->playerObject)->GetInterface( p_sys->playerObject, > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?*p_sys->SL_IID_PLAY, > &p_sys->playerPlay ); > ? ?CHECK_OPENSL_ERROR( result, "Failed to get player interface." ); > > ? ?// get the buffer queue interface > ? ?result = (*p_sys->playerObject)->GetInterface( p_sys->playerObject, > > *p_sys->SL_IID_ANDROIDSIMPLEBUFFERQUEUE, > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?&p_sys->playerBufferQueue ); > ? ?CHECK_OPENSL_ERROR( result, "Failed to get buff queue interface" ); > > ? ?result = (*p_sys->playerBufferQueue)->RegisterCallback( > p_sys->playerBufferQueue, > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?PlayedCallback, > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(void*)p_sys); > ? ?CHECK_OPENSL_ERROR( result, "Failed to register buff queue callback." ); > > > ? ?// set the player's state to playing > ? ?result = (*p_sys->playerPlay)->SetPlayState( p_sys->playerPlay, > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? SL_PLAYSTATE_PLAYING ); > ? ?CHECK_OPENSL_ERROR( result, "Failed to switch to playing state" ); > > ? ?// we want 16bit signed data little endian. > ? ?p_aout->output.output.i_format ? ? ? ? ? ? ?= VLC_CODEC_S16L; > ? ?p_aout->output.i_nb_samples ? ? ? ? ? ? ? ? = 2048; > ? ?p_aout->output.output.i_physical_channels ? = AOUT_CHAN_LEFT | > AOUT_CHAN_RIGHT; > ? ?p_aout->output.pf_play ? ? ? ? ? ? ? ? ? ? ?= Play; > > ? ?aout_FormatPrepare( &p_aout->output.output ); > > ? ?return VLC_SUCCESS; > error: > ? ?Clear( p_sys ); > ? ?return VLC_EGENERIC; > } > > /***************************************************************************** > ?* Close: close our file > ?*****************************************************************************/ > static void Close( vlc_object_t * p_this ) > { > ? ?aout_instance_t *p_aout = (aout_instance_t *)p_this; > ? ?aout_sys_t ? ? ?*p_sys = p_aout->output.p_sys; > > ? ?msg_Dbg( p_aout, "Closing OpenSLES" ); > > ? ?(*p_sys->playerPlay)->SetPlayState( p_sys->playerPlay, > SL_PLAYSTATE_STOPPED ); > ? ?//Flush remaining buffers if any. > ? ?if( p_sys->playerBufferQueue != NULL ) > ? ? ? ?(*p_sys->playerBufferQueue)->Clear( p_sys->playerBufferQueue ); > ? ?Clear( p_sys ); > } > > /***************************************************************************** > ?* Play: play a sound > ?*****************************************************************************/ > static void Play( aout_instance_t * p_aout ) > { > ? ?aout_sys_t * p_sys = p_aout->output.p_sys; > ? ?aout_buffer_t *p_buffer; > > ? ?SLresult result; > > ? ?p_buffer = aout_FifoPop(p_aout, &p_aout->output.fifo); > ? ?if( p_buffer != NULL ) > ? ?{ > ? ? ? ?for (;;) > ? ? ? ?{ > ? ? ? ? ? ?result = (*p_sys->playerBufferQueue)->Enqueue( > ? ? ? ? ? ? ? ? ? ? ? ? ? ?p_sys->playerBufferQueue, p_buffer->p_buffer, > ? ? ? ? ? ? ? ? ? ? ? ? ? ?p_buffer->i_buffer ); > ? ? ? ? ? ?if( result == SL_RESULT_SUCCESS ) > ? ? ? ? ? ? ? ?break; > ? ? ? ? ? ?if ( result == SL_RESULT_PARAMETER_INVALID ) > ? ? ? ? ? ?{ > ? ? ? ? ? ? ? ?msg_Warn( p_aout, "Dropping invalid buffer" ); > ? ? ? ? ? ? ? ?aout_BufferFree( p_buffer ); > ? ? ? ? ? ? ? ?return ; > ? ? ? ? ? ?} > > ? ? ? ? ? ?// Wait a bit to retry. might miss calls to *cancel > ? ? ? ? ? ?// but this is supposed to be rare anyway > ? ? ? ? ? ?msleep(CLOCK_FREQ); > ? ? ? ?} > ? ? ? ?p_sys->p_buffer_array[p_sys->i_toappend_buffer] = p_buffer; > ? ? ? ?if( ++p_sys->i_toappend_buffer == BUFF_QUEUE ) > ? ? ? ? ? ?p_sys->i_toappend_buffer = 0; > ? ?} > ? ?else > ? ? ? ?msg_Err( p_aout, "nothing to play?" ); > } > > static void PlayedCallback (SLAndroidSimpleBufferQueueItf caller, void > *pContext ) > { > ? ?aout_sys_t *p_sys = (aout_sys_t*)pContext; > > ? ?assert (caller == p_sys->playerBufferQueue); > > ? ?aout_BufferFree( p_sys->p_buffer_array[p_sys->i_toclean_buffer] ); > ? ?if( ++p_sys->i_toclean_buffer == BUFF_QUEUE ) > ? ? ? ?p_sys->i_toclean_buffer = 0; > } > > > > > -- > Hugo Beauz?e-Luyssen > -- Hugo Beauz?e-Luyssen From creative.asad at gmail.com Fri Jun 10 10:01:34 2011 From: creative.asad at gmail.com (asad ali) Date: Fri, 10 Jun 2011 13:01:34 +0500 Subject: [vlc-devel] Urdu translation Message-ID: Hello dear. Vlc- player is not in URDU language. i would like to translate it to my local (URDU) language. i aim to do with POEDIT1.4.6 so, i need localization file, as your site reffered me. You people are working great. Thankyou So much. -- S. Asad Ali Zaidi Electronics Engineer .Net Specialist MCSE www.asadali.tk www.freeonlinebooks.tk +92-345-5164698 -------------- next part -------------- An HTML attachment was scrubbed... URL: From glaubitz at physik.fu-berlin.de Fri Jun 10 20:59:54 2011 From: glaubitz at physik.fu-berlin.de (Adrian Glaubitz) Date: Fri, 10 Jun 2011 20:59:54 +0200 Subject: [vlc-devel] GSoC 2011: linux-minidisc netmd library In-Reply-To: <20110608020653.30d72a0f@laptop.localhost> References: <20110608020653.30d72a0f@laptop.localhost> Message-ID: Hi Alexander, On Jun 8, 2011, at 2:06 AM, Alexander Sulfrian wrote: > I now created a very little wiki page[1] and forked the git repository > of linux-minidisc on github[2]. If you have any questions, feel free to > contact me. You will find the necessary information on my wiki > userpage[3]. I have put up a little more information to the wiki page you created at [1] for your GSoC task. I will provide more there during the weekend, so it will be clear for you what the primary tasks are and your guidance will be as good as possible :). As for your github repository. I suggest that you import the code from the old libnetmd [2] into your repository as well into a different branch if you want to base your code on that library. As we already have discussed before, it's probably the best idea, to take the old libnetmd and spruce it up with all the functionality from our PythonNetMD scripts [3]. This way you won't have to reinvent the wheel all over again :). The NetMD functionality provided by the Python implementation is more or less complete (lacks a few features like deleting tracks created with SonicStage - these need to be checked in into SonicStage again due to the DRM stuff), so it should be possible to merge both libnetmd and PythonNetMD into a new, fully-fledged version of libnetmd. I also hope that Michael Karcher will help providing more background on the NetMD protocol in the wiki as he has been our expert for the low-level stuff. Adrian [1] http://wiki.videolan.org/SoC_2011/LibNetMD [2] http://sourceforge.net/projects/libnetmd/ [3] https://wiki.physik.fu-berlin.de/linux-minidisc/doku.php?id=netmdpython From jpeg at videolan.org Sat Jun 11 10:18:30 2011 From: jpeg at videolan.org (=?UTF-8?Q?Jean=2DPhilippe_Andr=C3=A9?=) Date: Sat, 11 Jun 2011 17:18:30 +0900 Subject: [vlc-devel] compat pthread_cancel In-Reply-To: <201106021914.00187.remi@remlab.net> References: <20110602154748.GA4810@videolan.org> <201106021858.58149.remi@remlab.net> <20110602160303.GA7083@videolan.org> <201106021914.00187.remi@remlab.net> Message-ID: Hi, 2011/6/3 R?mi Denis-Courmont > Le jeudi 2 juin 2011 19:03:03 Jean-Baptiste Kempf, vous avez ?crit : > > On Thu, Jun 02, 2011 at 06:58:57PM +0300, R?mi Denis-Courmont wrote : > > > Le jeudi 2 juin 2011 18:47:48 Jean-Baptiste Kempf, vous avez ?crit : > > > > Taken from the vlc-android tree, and rebased/merged/fixed, here is > the > > > > pthread_cancel for compat. > > > > And then, either this whole thing makes no sense or it relies on > > > super-POSIX properties of Android libc that I don't know and thus > cannot > > > review. > The only super-posix property I remember is that poll() returns whenever the process receives a signal. (ppoll does not exist) > > Arf... What parts seem dubious? > > In my world: > * Signal handlers are (unfortunately) per-process, not per-thread. > Yes, unfortunately. This can indeed lead to issues. > * Setting thread keys to zero is pointless. > Indeed, but not an issue. > * POSIX thread functions are not async-signal-safe, meaning they are not > defined within signal handlers. > Thus many FIXME and 'Why?' comments^^ Unfortunately I didn't find any other easily implementable solution that wouldn't be based on signals and that doesn't add yet another main thread watching the others. Maybe futexes are the way to go, but my knowledge of them is even worse than that of pthread^^ > * pthread_setcancelstate() is not a cancellation point. > OK, my bad. Slight misunderstanding/misreading of the API back then. Easy to remove the cancellation point here :) I also don't understand where cancellation cleanup handlers > (vlc_cleanup_push > and friends) are dealt with. They are dealt with by the call to pthread_exit. If there's any vlc-specific task to execute, then yes, it's not being taken care of. The code works, according to experimental testing, but it is not meant to be correct. That's one reason why I've never submitted it. Btw, cancellation on Android is probably one of the worst ideas we could ever have ;-) Best, -- Jean-Philippe Andr? -------------- next part -------------- An HTML attachment was scrubbed... URL: From remi at remlab.net Sat Jun 11 10:54:34 2011 From: remi at remlab.net (=?iso-8859-15?q?R=E9mi?= Denis-Courmont) Date: Sat, 11 Jun 2011 11:54:34 +0300 Subject: [vlc-devel] compat pthread_cancel In-Reply-To: References: <20110602154748.GA4810@videolan.org> <201106021914.00187.remi@remlab.net> Message-ID: <201106111154.34768.remi@remlab.net> Le samedi 11 juin 2011 11:18:30 Jean-Philippe Andr?, vous avez ?crit : > > And then, either this whole thing makes no sense or it relies on > > super-POSIX properties of Android libc that I don't know and thus > > cannot review. > > The only super-posix property I remember is that poll() returns whenever > the process receives a signal. (ppoll does not exist) I'm not sure what you mean. POSIX poll() certainly returns -1 on signal and sets EINTR. Unfortunately, it is not reliable for the reasons that lead to the invention of POSIX pselect() and Linux ppoll(). I don't see how Android be any better. This problem is intrinsic to the definitions of select(), poll() and of asynchronous signals. > > > Arf... What parts seem dubious? > > > > In my world: > > * Signal handlers are (unfortunately) per-process, not per-thread. > > Yes, unfortunately. This can indeed lead to issues. I don't see any issue except for being a waste. And it makes me feel like the author of the code did not know what (s)he was doing. > > * Setting thread keys to zero is pointless. > > Indeed, but not an issue. > > > * POSIX thread functions are not async-signal-safe, meaning they are not > > defined within signal handlers. > > Thus many FIXME and 'Why?' comments^^ > Unfortunately I didn't find any other easily implementable solution that > wouldn't be based on signals Unless Android ensures that those functions are async-signal-safe, which it could even though POSIX does not, this does not work. If it does not work, it does not belong in the vlc.git. > and that doesn't add yet another main thread watching the others. With neither pselect() nor ppoll(), there is really not much practical use for signals in a multi-thread context. But this is moot: Within POSIX, there is not much a signal handler can do if its thread is blocked in, say, pthread_cond_(timed)wait(). Thus signals cannot be used for the purpose of cancelling a thread, unless you (can) make assumptions about the C run-time beyond POSIX promises. > Maybe futexes are the way to go, but my knowledge of them is even worse > than that of pthread^^ Obviously most preemptive implementations of POSIX threads use a reserved real-time signal to implement cancellation. But they rely on implementation- dependent properties, such as atomic memory operations or async-signal-safe internal and proprietary functions. I don't know Android libc, but I doubt this approach will ever work there. > > * pthread_setcancelstate() is not a cancellation point. > > OK, my bad. Slight misunderstanding/misreading of the API back then. Easy > to remove the cancellation point here :) > > > I also don't understand where cancellation cleanup handlers > > (vlc_cleanup_push and friends) are dealt with. > > They are dealt with by the call to pthread_exit. If there's any > vlc-specific task to execute, then yes, it's not being taken care of. Ok. I did not realize that cleanup handlers were correctly handled even though cancellation was not. > The code works, according to experimental testing, but it is not meant to > be correct. That's one reason why I've never submitted it. > Btw, cancellation on Android is probably one of the worst ideas we could > ever have ;-) It's the least common denominator of POSIX threads and Windows 5. Win32 Asynchronous Procedure Calls are actually far more flexible than cancellation and signals, so POSIX was the portability bottleneck. -- R?mi Denis-Courmont http://www.remlab.net/ http://fi.linkedin.com/in/remidenis From jb at videolan.org Sat Jun 11 14:41:49 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Sat, 11 Jun 2011 14:41:49 +0200 Subject: [vlc-devel] [PATCH 01/10] Configure: enable the access_shm module only when the correct headers are present Message-ID: <1307796110-2885-1-git-send-email-jb@videolan.org> --- configure.ac | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index f7eeb3c..53c9711 100644 --- a/configure.ac +++ b/configure.ac @@ -815,7 +815,7 @@ AC_CHECK_HEADERS([sys/mount.h], [], [], ]) if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then - AC_CHECK_HEADERS(machine/param.h sys/shm.h) + AC_CHECK_HEADERS(machine/param.h sys/shm.h, VLC_ADD_PLUGIN([access_shm])) AC_CHECK_HEADERS([linux/version.h linux/dccp.h scsi/scsi.h linux/magic.h]) AC_CHECK_HEADERS(syslog.h) fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" @@ -1262,7 +1262,7 @@ dnl dnl Some plugins aren't useful on some platforms dnl if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then - VLC_ADD_PLUGIN([dynamicoverlay access_shm]) + VLC_ADD_PLUGIN([dynamicoverlay]) elif test "${SYS}" != "mingwce"; then VLC_ADD_PLUGIN([access_smb dmo globalhotkeys]) VLC_ADD_LIBS([dmo],[-lole32 -luuid]) -- 1.7.5.3 From jb at videolan.org Sat Jun 11 14:41:50 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Sat, 11 Jun 2011 14:41:50 +0200 Subject: [vlc-devel] [PATCH 02/10] Deactivate sap-ipv6 on Android In-Reply-To: <1307796110-2885-1-git-send-email-jb@videolan.org> References: <1307796110-2885-1-git-send-email-jb@videolan.org> Message-ID: <1307796110-2885-2-git-send-email-jb@videolan.org> --- modules/services_discovery/sap.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/modules/services_discovery/sap.c b/modules/services_discovery/sap.c index 18e841a..a4b7e0e 100644 --- a/modules/services_discovery/sap.c +++ b/modules/services_discovery/sap.c @@ -502,6 +502,7 @@ static void *Run( void *data ) InitSocket( p_sd, SAP_V4_LOCAL_ADDRESS, SAP_PORT ); InitSocket( p_sd, SAP_V4_LINK_ADDRESS, SAP_PORT ); } +#ifndef __ANDROID__ if( var_CreateGetBool( p_sd, "sap-ipv6" ) ) { char psz_address[NI_MAXNUMERICHOST] = "ff02::2:7ffe%"; @@ -541,7 +542,7 @@ static void *Run( void *data ) } closesocket(s); } -#endif +#endif /* WIN32 */ *strchr (psz_address, '%') = '\0'; static const char ipv6_scopes[] = "1456789ABCDE"; @@ -551,6 +552,7 @@ static void *Run( void *data ) InitSocket( p_sd, psz_address, SAP_PORT ); } } +#endif /* __ANDROID__ */ psz_addr = var_CreateGetString( p_sd, "sap-addr" ); if( psz_addr && *psz_addr ) -- 1.7.5.3 From jb at videolan.org Sat Jun 11 14:46:07 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Sat, 11 Jun 2011 14:46:07 +0200 Subject: [vlc-devel] [PATCH] Configure: enable the access_shm module only when the correct headers are present In-Reply-To: <1307796110-2885-1-git-send-email-jb@videolan.org> References: <1307796110-2885-1-git-send-email-jb@videolan.org> Message-ID: <1307796367-3559-1-git-send-email-jb@videolan.org> --- configure.ac | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index f7eeb3c..077e283 100644 --- a/configure.ac +++ b/configure.ac @@ -815,7 +815,8 @@ AC_CHECK_HEADERS([sys/mount.h], [], [], ]) if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then - AC_CHECK_HEADERS(machine/param.h sys/shm.h) + AC_CHECK_HEADERS(machine/param.h) + AC_CHECK_HEADERS(sys/shm.h, VLC_ADD_PLUGIN([access_shm])) AC_CHECK_HEADERS([linux/version.h linux/dccp.h scsi/scsi.h linux/magic.h]) AC_CHECK_HEADERS(syslog.h) fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" @@ -1262,7 +1263,7 @@ dnl dnl Some plugins aren't useful on some platforms dnl if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then - VLC_ADD_PLUGIN([dynamicoverlay access_shm]) + VLC_ADD_PLUGIN([dynamicoverlay]) elif test "${SYS}" != "mingwce"; then VLC_ADD_PLUGIN([access_smb dmo globalhotkeys]) VLC_ADD_LIBS([dmo],[-lole32 -luuid]) -- 1.7.5.4 From jb at videolan.org Sat Jun 11 14:47:49 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Sat, 11 Jun 2011 14:47:49 +0200 Subject: [vlc-devel] [PATCH 01/10] Configure: enable the access_shm module only when the correct headers are present In-Reply-To: <1307796110-2885-1-git-send-email-jb@videolan.org> References: <1307796110-2885-1-git-send-email-jb@videolan.org> Message-ID: <20110611124749.GA15884@videolan.org> On Sat, Jun 11, 2011 at 02:41:49PM +0200, Jean-Baptiste Kempf wrote : > configure.ac | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) Dis-regard this one, I have obviously sent the wrong one. Sorry for your inbox. Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From kaarlo.raiha at gmail.com Sat Jun 11 17:13:43 2011 From: kaarlo.raiha at gmail.com (=?ISO-8859-1?B?S2FhcmxvIFLkaWjk?=) Date: Sat, 11 Jun 2011 18:13:43 +0300 Subject: [vlc-devel] [PATCH]Change fs controller and mouse cursor hide timeout to 1000 ms Message-ID: There is known issue with QT4 interface and mouse cursor not hiding when fullscreen playback is done under Win32. Someone in forum thread[1] noticed that issue is related to "Hide mouse cursor and fullscreen controller after..." option, which if set to too high will cause the issue. So this patch changes the default timeout to 1 second (earlier was 1.5 seconds) which should make cursor hide properly under fullscreen playback. This doesn't fix the underlying issue (so if someone manually sets the value to e.g. 5000 ms, then the cursor doesn't hide) but I don't think big changes are needed for VLC 1.1.x anymore. [1] http://forum.videolan.org/viewtopic.php?f=14&t=80735&p=301602#p301506 -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 0001-Change-fs-controller-and-mouse-cursor-hide-timeout-t.patch Type: application/octet-stream Size: 1551 bytes Desc: not available URL: From fenrir at elivagar.org Sat Jun 11 23:40:37 2011 From: fenrir at elivagar.org (Laurent Aimar) Date: Sat, 11 Jun 2011 23:40:37 +0200 Subject: [vlc-devel] [PATCH 1/2] Use CCT to format subtitiles text properly. In-Reply-To: <1307352559-24336-1-git-send-email-barletz@gmail.com> References: <1307352559-24336-1-git-send-email-barletz@gmail.com> Message-ID: <20110611214037.GA7274@elivagar.org> On Mon, Jun 06, 2011 at 02:29:18AM -0700, Tomer Barletz wrote: > Apply Laurent's comments. > --- > modules/codec/stl.c | 74 ++++++++++++++++++++++++++++++++++++++++++++++----- > 1 files changed, 67 insertions(+), 7 deletions(-) Patch applied, thanks for your work. -- fenrir From glaubitz at physik.fu-berlin.de Sun Jun 12 13:54:17 2011 From: glaubitz at physik.fu-berlin.de (Adrian Glaubitz) Date: Sun, 12 Jun 2011 13:54:17 +0200 Subject: [vlc-devel] [VideoLAN SoC] GSoC 2011: linux-minidisc netmd library In-Reply-To: References: <20110608020653.30d72a0f@laptop.localhost> Message-ID: <26E0C520-1CD8-4794-B5CD-A7DB4429731D@physik.fu-berlin.de> Hi Alexander, On Jun 10, 2011, at 8:59 PM, Adrian Glaubitz wrote: > On Jun 8, 2011, at 2:06 AM, Alexander Sulfrian wrote: > >> I now created a very little wiki page[1] and forked the git repository >> of linux-minidisc on github[2]. If you have any questions, feel free to >> contact me. You will find the necessary information on my wiki >> userpage[3]. > > I have put up a little more information to the wiki page you created at [1] > for your GSoC task. I will provide more there during the > weekend, so it will be clear for you what the primary tasks are > and your guidance will be as good as possible :). Provided a more detailed project guideline in our own linux-mindisc wiki now [1], since I currently have problems with write access to the VideoLAN wiki. I think have included all necessary information and outlined a good and feasible plan to achieve the goal of this GSoC task. I essentially elaborated what I have been suggesting already earlier, which is basing the new libnetmd on the old one back from 2004, getting it running on a modern Linux distribution, testing it with the latest NetMD hardware available (the MZ-RH1 is the last model ever made) and then finally extending the old library with download (i.e. transfer TO the device) capabilities. Since all NetMD devices support downloads, but only the MZ-RH1/200 support uploads, it is highly recommended to work on the implementation of the download capabilities first. Everything you need to know is provided either in our wiki or can be taken from the Python scripts source code. The downloads with the Python scripts work quite good, despite the fact that the code is rather hacky and experimental. If there will be enough time left, you can also work on implementing upload capabilities (i.e. transfer FROM the device). Since the upload works without any encryption and requires only a few commands, the implementation should be easy and straightforward once the downloads work. Adrian [1] https://wiki.physik.fu-berlin.de/linux-minidisc/doku.php?id=portingnetmd From jb at videolan.org Sun Jun 12 15:51:34 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Sun, 12 Jun 2011 15:51:34 +0200 Subject: [vlc-devel] [PATCH] Updates to http interface In-Reply-To: References: Message-ID: <20110612135134.GA1158@videolan.org> On Tue, Jun 07, 2011 at 07:55:00PM +0530, akash mehrotra wrote : > Allows the http interface to > > 1. Set/Modify Audio delay > 2. Set/Modify playback rate > 3. Set/modify subtitle delay Discussed on IRC. Waiting for an update. Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From jb at videolan.org Sun Jun 12 16:20:20 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Sun, 12 Jun 2011 16:20:20 +0200 Subject: [vlc-devel] [PATCH] Fixed bug #3312. In-Reply-To: <2877741B-1C6C-488B-9D43-EAC030EDF04F@gmail.com> References: <2877741B-1C6C-488B-9D43-EAC030EDF04F@gmail.com> Message-ID: <20110612142020.GA6681@videolan.org> On Fri, Jun 10, 2011 at 07:23:56AM -0400, Mike Cardillo wrote : > modules/gui/macosx/controls.m | 2 +- Applied, thanks. Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From jb at videolan.org Sun Jun 12 16:20:37 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Sun, 12 Jun 2011 16:20:37 +0200 Subject: [vlc-devel] [PATCH] Bug fix in AVI mux module In-Reply-To: References: Message-ID: <20110612142037.GB6681@videolan.org> On Thu, Jun 09, 2011 at 07:10:37PM +0530, Ashok Bhat wrote : > Please find attached patch for bug fixes in AVI mux module. More details > below Applied, thanks. Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From remi at remlab.net Sun Jun 12 18:08:25 2011 From: remi at remlab.net (=?iso-8859-15?q?R=E9mi?= Denis-Courmont) Date: Sun, 12 Jun 2011 19:08:25 +0300 Subject: [vlc-devel] [PATCH]Change fs controller and mouse cursor hide timeout to 1000 ms In-Reply-To: References: Message-ID: <201106121908.25563.remi@remlab.net> Le samedi 11 juin 2011 18:13:43 Kaarlo R?ih?, vous avez ?crit : > There is known issue with QT4 interface and mouse cursor not hiding when > fullscreen playback is done under Win32. Someone in forum thread[1] noticed > that issue is related to "Hide mouse cursor and fullscreen controller > after..." option, which if set to too high will cause the issue. So this > patch changes the default timeout to 1 second (earlier was 1.5 seconds) > which should make cursor hide properly under fullscreen playback. > > This doesn't fix the underlying issue (so if someone manually sets the > value to e.g. 5000 ms, then the cursor doesn't hide) but I don't think big > changes are needed for VLC 1.1.x anymore. > > [1] http://forum.videolan.org/viewtopic.php?f=14&t=80735&p=301602#p301506 We should remove the default value from the help string, so we don't break translations yet again if the value changes once more. -- R?mi Denis-Courmont http://www.remlab.net/ http://fi.linkedin.com/in/remidenis From fenrir at elivagar.org Sun Jun 12 18:13:19 2011 From: fenrir at elivagar.org (Laurent Aimar) Date: Sun, 12 Jun 2011 18:13:19 +0200 Subject: [vlc-devel] [vlc-commits] OpenGL: fix compilation / missing glXGetProcAddressARB In-Reply-To: <20110612153956.7842413CA58@albiero.videolan.org> References: <20110612153956.7842413CA58@albiero.videolan.org> Message-ID: <20110612161319.GA30755@elivagar.org> On Sun, Jun 12, 2011 at 05:39:56PM +0200, Francois Cartegnie wrote: > vlc | branch: master | Francois Cartegnie | Sun Jun 12 16:18:07 2011 +0200| [9abb97d0e8d9ecfcb7ae2a9684e0e6f72ac19aac] | committer: Francois Cartegnie > > OpenGL: fix compilation / missing glXGetProcAddressARB > > According to glxext.h, glXGetProcAddressARB also requires > GLX_GLXEXT_PROTOTYPES (works with all implementations ?) Does not seems to work for me. From what I read, GLX_GLXEXT_PROTOTYPES is to defines the extension functions as extern. It is something you do define yourself before including gl*.h. So I will revert it. Now, what is your issue exactly? glXGetProcAddressARB should normaly be defined by glx.h and it is mandatory on linux that it is present in the library. -- fenrir From remi at remlab.net Sun Jun 12 18:50:04 2011 From: remi at remlab.net (=?iso-8859-1?q?R=E9mi?= Denis-Courmont) Date: Sun, 12 Jun 2011 19:50:04 +0300 Subject: [vlc-devel] [PATCH 02/10] Deactivate sap-ipv6 on Android In-Reply-To: <1307796110-2885-2-git-send-email-jb@videolan.org> References: <1307796110-2885-1-git-send-email-jb@videolan.org> <1307796110-2885-2-git-send-email-jb@videolan.org> Message-ID: <201106121950.04641.remi@remlab.net> Le samedi 11 juin 2011 15:41:50 Jean-Baptiste Kempf, vous avez ?crit : > --- > modules/services_discovery/sap.c | 4 +++- > 1 files changed, 3 insertions(+), 1 deletions(-) I don't know what you're trying to avoid, maybe if_nameindex(). But what's the point in SAP on Android? Multicast streaming is not used on 3GPP and IEEE802.11 technologies. -- R?mi Denis-Courmont http://www.remlab.net/ http://fi.linkedin.com/in/remidenis From jb at videolan.org Sun Jun 12 19:05:59 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Sun, 12 Jun 2011 19:05:59 +0200 Subject: [vlc-devel] [PATCH 02/10] Deactivate sap-ipv6 on Android In-Reply-To: <201106121950.04641.remi@remlab.net> References: <1307796110-2885-1-git-send-email-jb@videolan.org> <1307796110-2885-2-git-send-email-jb@videolan.org> <201106121950.04641.remi@remlab.net> Message-ID: <20110612170559.GA5876@videolan.org> On Sun, Jun 12, 2011 at 07:50:04PM +0300, R?mi Denis-Courmont wrote : > Le samedi 11 juin 2011 15:41:50 Jean-Baptiste Kempf, vous avez ?crit : > > --- > > modules/services_discovery/sap.c | 4 +++- > > 1 files changed, 3 insertions(+), 1 deletions(-) > > I don't know what you're trying to avoid, maybe if_nameindex(). Yes. > But what's the > point in SAP on Android? Multicast streaming is not used on 3GPP and > IEEE802.11 technologies. Well, since there is no --disable-sap in configure, and since modifying Modules.am with ifdef is rather ugly, I did this modification. Any better idea will be welcome. Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From remi at remlab.net Sun Jun 12 19:18:41 2011 From: remi at remlab.net (=?iso-8859-1?q?R=E9mi?= Denis-Courmont) Date: Sun, 12 Jun 2011 20:18:41 +0300 Subject: [vlc-devel] [PATCH 02/10] Deactivate sap-ipv6 on Android In-Reply-To: <20110612170559.GA5876@videolan.org> References: <1307796110-2885-1-git-send-email-jb@videolan.org> <201106121950.04641.remi@remlab.net> <20110612170559.GA5876@videolan.org> Message-ID: <201106122018.41390.remi@remlab.net> Le dimanche 12 juin 2011 20:05:59 Jean-Baptiste Kempf, vous avez ?crit : > On Sun, Jun 12, 2011 at 07:50:04PM +0300, R?mi Denis-Courmont wrote : > > Le samedi 11 juin 2011 15:41:50 Jean-Baptiste Kempf, vous avez ?crit : > > > --- > > > > > > modules/services_discovery/sap.c | 4 +++- > > > 1 files changed, 3 insertions(+), 1 deletions(-) > > > > I don't know what you're trying to avoid, maybe if_nameindex(). > > Yes. Killing all IPv6 because if_nameindex() is missing, is kinda overkill IMHO. -- R?mi Denis-Courmont http://www.remlab.net/ http://fi.linkedin.com/in/remidenis From jb at videolan.org Sun Jun 12 20:16:05 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Sun, 12 Jun 2011 20:16:05 +0200 Subject: [vlc-devel] [PATCH 02/10] Deactivate sap-ipv6 on Android In-Reply-To: <201106122018.41390.remi@remlab.net> References: <1307796110-2885-1-git-send-email-jb@videolan.org> <201106121950.04641.remi@remlab.net> <20110612170559.GA5876@videolan.org> <201106122018.41390.remi@remlab.net> Message-ID: <20110612181605.GA19235@videolan.org> On Sun, Jun 12, 2011 at 08:18:41PM +0300, R?mi Denis-Courmont wrote : > Killing all IPv6 because if_nameindex() is missing, is kinda overkill IMHO. Updated patch then. -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device -------------- next part -------------- A non-text attachment was scrubbed... Name: 0001-Sap-Android-lacks-if_nameindex.patch Type: text/x-diff Size: 1077 bytes Desc: not available URL: From fcvlcdev at free.fr Sun Jun 12 21:58:53 2011 From: fcvlcdev at free.fr (Francois Cartegnie) Date: Sun, 12 Jun 2011 21:58:53 +0200 Subject: [vlc-devel] =?iso-8859-1?q?=5Bvlc-commits=5D_OpenGL=3A_fix_compil?= =?iso-8859-1?q?ation_/_missing=09glXGetProcAddressARB?= In-Reply-To: <20110612161319.GA30755@elivagar.org> References: <20110612153956.7842413CA58@albiero.videolan.org> <20110612161319.GA30755@elivagar.org> Message-ID: <201106122158.53686.fcvlcdev@free.fr> Le dimanche 12 juin 2011, Laurent Aimar a ?crit : > Now, what is your issue exactly? glXGetProcAddressARB should normaly be > defined by glx.h and it is mandatory on linux that it is present in the > library. I have xcb-glx devel packages xcb-glx 1.6.1 /usr/include/xcb/glx.h NOT defining glXGetProcAddressARB And the: libmesagl 7.8.1 /usr/include/GL/glx.h defining glXGetProcAddressARB I thought vlc's xcb/glx is supposed to use xcb-glx headers, but I might be wrong. Francois From remi at remlab.net Sun Jun 12 22:34:44 2011 From: remi at remlab.net (=?iso-8859-1?q?R=E9mi?= Denis-Courmont) Date: Sun, 12 Jun 2011 23:34:44 +0300 Subject: [vlc-devel] =?iso-8859-1?q?=5Bvlc-commits=5D_OpenGL=3A_fix_compil?= =?iso-8859-1?q?ation_/_missing=09glXGetProcAddressARB?= In-Reply-To: <201106122158.53686.fcvlcdev@free.fr> References: <20110612153956.7842413CA58@albiero.videolan.org> <20110612161319.GA30755@elivagar.org> <201106122158.53686.fcvlcdev@free.fr> Message-ID: <201106122334.44934.remi@remlab.net> Le dimanche 12 juin 2011 22:58:53 Francois Cartegnie, vous avez ?crit : > > defined by glx.h and it is mandatory on linux that it is present in the > > library. > > I have xcb-glx devel packages > xcb-glx 1.6.1 /usr/include/xcb/glx.h NOT defining glXGetProcAddressARB We don't use that header. In fact, we don't use xcb-glx at all. > And the: > libmesagl 7.8.1 /usr/include/GL/glx.h defining glXGetProcAddressARB Seems correct. -- R?mi Denis-Courmont http://www.remlab.net/ http://fi.linkedin.com/in/remidenis From fkuehne.videolan at googlemail.com Mon Jun 13 10:10:57 2011 From: fkuehne.videolan at googlemail.com (=?iso-8859-1?Q?Felix_Paul_K=FChne?=) Date: Mon, 13 Jun 2011 10:10:57 +0200 Subject: [vlc-devel] [vlc-commits] i18n: fix macosx gui file listing In-Reply-To: <20110613043420.40CFD13CFDB@albiero.videolan.org> References: <20110613043420.40CFD13CFDB@albiero.videolan.org> Message-ID: <7145EFD3-D967-493B-89D1-5AA9FB666E93@gmail.com> On Jun 13, 2011, at 6:34 AM, Pierre Ynard wrote: > vlc | branch: master | Pierre Ynard | Mon Jun 13 06:33:29 2011 +0200| [d5f20ce3a16701b8d17282bb3100352271ef4de6] | committer: Pierre Ynard > > i18n: fix macosx gui file listing Thanks! Best regards, Felix From vandhanaa91 at gmail.com Mon Jun 13 10:12:11 2011 From: vandhanaa91 at gmail.com (VD) Date: Mon, 13 Jun 2011 08:12:11 +0000 (UTC) Subject: [vlc-devel] Problems with VOD References: <5d310d173c0110a5899eb6d863d1661b@chewa.net> Message-ID: I ran live555streamingmedia and tried to stream it through vlc-1.1.7, 1.1.9, 1.1.10. All of them seem to hang up after a while. I have to kill the process from task manager in order to close vlc. But i am able to watch the rtsp stream properly in 1.0.0. i tried to see the log files but did not find much. Log of Golden Eye: main debug: adding item `rtsp://192.168.1.145/test.mp3' ( rtsp://192.168.1.145/test.mp3 ) qt4 debug: Adding a new MRL to recent ones: rtsp://192.168.1.145/test.mp3 main debug: rebuilding array of current - root Playlist main debug: rebuild done - 1 items, index -1 main debug: processing request item rtsp://192.168.1.145/test.mp3 node null skip 0 main debug: resyncing on rtsp://192.168.1.145/test.mp3 main debug: rtsp://192.168.1.145/test.mp3 is at 0 main debug: starting new item main debug: creating new input thread main debug: Creating an input for 'rtsp://192.168.1.145/test.mp3' main debug: thread (input) created at priority 1 (../.././src/input/input.c:230) qt4 debug: IM: Setting an input main debug: thread started main debug: using timeshift granularity of 50 MBytes main debug: using timeshift path 'C:\Users\VANDHA~1\AppData\Local\Temp' main debug: `rtsp://192.168.1.145/test.mp3' gives access `rtsp' demux `' path `192.168.1.145/test.mp3' main debug: creating demux: access='rtsp' demux='' path='192.168.1.145/test.mp3' main debug: looking for access_demux module: 1 candidate qt4 debug: Updating the geometry qt4 debug: Updating the geometry live555 debug: RTP subsession 'audio/MPA' main debug: selecting program id=0 live555 debug: setup start: 0.000000 stop:174.443000 live555 debug: We have a timeout of 60 seconds live555 debug: spawned timeout thread live555 debug: play start: 0.000000 stop:174.443000 main debug: using access_demux module "live555" main debug: TIMER module_need() : 178.000 ms - Total 178.000 ms / 1 intvls (Avg 178.000 ms) main debug: looking for a subtitle file in E:\Program Files\VLC\ main debug: looking for decoder module: 35 candidates main debug: using decoder module "mpeg_audio" main debug: TIMER module_need() : 26.000 ms - Total 26.000 ms / 1 intvls (Avg 26.000 ms) main debug: thread (decoder) created at priority 2 (../.././src/input/decoder.c:315) main debug: thread started main debug: `rtsp://192.168.1.145/test.mp3' successfully opened mpeg_audio debug: MPGA channels:2 samplerate:44100 bitrate:128 main debug: Buffering 0% main debug: creating aout main debug: looking for audio output module: 3 candidates aout_directx debug: OpenAudio qt4 debug: Updating the geometry qt4 debug: Updating the geometry qt4 debug: Updating the geometry qt4 debug: Updating the geometry aout_directx debug: found device: Primary Sound Driver aout_directx debug: found device: Speakers (SoundMAX Integrated Digital HD Audio) qt4 debug: Updating the geometry main debug: Buffering 6% qt4 debug: Updating the geometry qt4 debug: Updating the geometry qt4 debug: New caching: 6 qt4 debug: New caching: 6 main debug: Buffering 13% aout_directx debug: device supports 2 channels (DEFAULT!) aout_directx debug: device supports 1 channel aout_directx debug: Windows says your SpeakerConfig is stereo main debug: Buffering 19% aout_directx debug: creating DirectSoundThread main debug: thread (DirectSound Notification Thread) created at priority 15 (../../.././modules/audio_output/directx.c:427) main debug: using audio output module "aout_directx" main debug: TIMER module_need() : 237.000 ms - Total 237.000 ms / 1 intvls (Avg 237.000 ms) main debug: thread started aout_directx debug: DirectSoundThread ready main debug: output 's16l' 44100 Hz Stereo frame=1 samples/4 bytes main debug: mixer 'fl32' 44100 Hz Stereo frame=1 samples/8 bytes main debug: filter(s) 'fl32'->'s16l' 44100 Hz->44100 Hz Stereo->Stereo main debug: looking for audio filter module: 24 candidates qt4 debug: New caching: 19 qt4 debug: New caching: 19 main debug: using audio filter module "converter_float" main debug: TIMER module_need() : 18.000 ms - Total 18.000 ms / 1 intvls (Avg 18.000 ms) main debug: found a filter for the whole conversion main debug: looking for audio mixer module: 3 candidates main debug: using audio mixer module "float32_mixer" main debug: TIMER module_need() : 2.000 ms - Total 2.000 ms / 1 intvls (Avg 2.000 ms) main debug: input 'mpga' 44100 Hz Stereo frame=1152 samples/1053 bytes main debug: looking for audio filter module: 1 candidate scaletempo warning: bad input or output format main warning: no audio filter module matching "scaletempo" could be loaded main debug: TIMER module_need() : 2.000 ms - Total 2.000 ms / 1 intvls (Avg 2.000 ms) main debug: looking for audio filter module: 1 candidate scaletempo debug: format: 44100 rate, 2 nch, 4 bps, fl32 scaletempo debug: params: 30 stride, 0.200 overlap, 14 search scaletempo debug: 1.000 scale, 1323.000 stride_in, 1323 stride_out, 1059 standing, 264 overlap, 617 search, 2204 queue, fl32 mode main debug: using audio filter module "scaletempo" main debug: TIMER module_need() : 1.000 ms - Total 1.000 ms / 1 intvls (Avg 1.000 ms) main debug: filter(s) 'mpga'->'fl32' 44100 Hz->44100 Hz Stereo->Stereo main debug: looking for audio filter module: 24 candidates main debug: using audio filter module "mpgatofixed32" main debug: TIMER module_need() : 1.000 ms - Total 1.000 ms / 1 intvls (Avg 1.000 ms) main debug: found a filter for the whole conversion main debug: filter(s) 'fl32'->'fl32' 48510 Hz->44100 Hz Stereo->Stereo main debug: looking for audio filter module: 24 candidates main debug: using audio filter module "bandlimited_resampler" main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg 0.000 ms) main debug: found a filter for the whole conversion main debug: End of audio preroll main debug: Buffering 26% main debug: Buffering 32% main debug: Buffering 39% qt4 debug: New caching: 39 qt4 debug: New caching: 39 main debug: Buffering 45% qt4 debug: New caching: 45 qt4 debug: New caching: 45 main debug: Buffering 52% qt4 debug: New caching: 52 qt4 debug: New caching: 52 main debug: Buffering 58% qt4 debug: New caching: 58 qt4 debug: New caching: 58 main debug: Buffering 65% qt4 debug: New caching: 65 qt4 debug: New caching: 65 main debug: Buffering 71% qt4 debug: New caching: 71 qt4 debug: New caching: 71 main debug: Buffering 78% qt4 debug: New caching: 78 qt4 debug: New caching: 78 live555 debug: tk->rtpSource->hasBeenSynchronizedUsingRTCP() main error: ES_OUT_RESET_PCR called qt4 debug: New caching: 0 qt4 debug: New caching: 0 main debug: End of audio preroll main debug: Buffering 0% main debug: Buffering 6% qt4 debug: New caching: 6 qt4 debug: New caching: 6 main debug: Buffering 13% qt4 debug: New caching: 13 qt4 debug: New caching: 13 main debug: Buffering 19% qt4 debug: New caching: 19 qt4 debug: New caching: 19 main debug: Buffering 26% qt4 debug: New caching: 26 qt4 debug: New caching: 26 main debug: Buffering 32% qt4 debug: New caching: 32 qt4 debug: New caching: 32 main debug: Buffering 39% qt4 debug: New caching: 39 qt4 debug: New caching: 39 main debug: Buffering 45% qt4 debug: New caching: 45 qt4 debug: New caching: 45 main debug: Buffering 52% qt4 debug: New caching: 52 qt4 debug: New caching: 52 main debug: Buffering 58% qt4 debug: New caching: 58 qt4 debug: New caching: 58 main debug: Buffering 65% qt4 debug: New caching: 65 qt4 debug: New caching: 65 main debug: Buffering 71% qt4 debug: New caching: 71 qt4 debug: New caching: 71 main debug: Buffering 78% qt4 debug: New caching: 78 qt4 debug: New caching: 78 main debug: Buffering 84% qt4 debug: New caching: 84 qt4 debug: New caching: 84 main debug: Buffering 91% qt4 debug: New caching: 91 qt4 debug: New caching: 91 main debug: Buffering 97% qt4 debug: New caching: 97 qt4 debug: New caching: 97 main debug: Stream buffering done (1253 ms in 1254 ms) main debug: Decoder buffering done in 0 ms main warning: PTS is out of range (-10000), dropping buffer qt4 debug: New caching: 100 main warning: PTS is out of range (-36122), dropping buffer qt4 debug: New caching: 100 mpgatofixed32 debug: libmad error: bad main_data_begin pointer main warning: buffer is 65219 late, triggering upsampling main debug: audio output is too slow (2678756), trashing 50000us main debug: audio output is too slow (2628756), trashing 50000us main debug: audio output is too slow (2578756), trashing 50000us main debug: audio output is too slow (2528756), trashing 50000us main debug: audio output is too slow (2478756), trashing 50000us main debug: audio output is too slow (2429756), trashing 50000us main debug: audio output is too slow (2379756), trashing 50000us main debug: audio output is too slow (2329756), trashing 50000us main debug: audio output is too slow (2279756), trashing 50000us main debug: audio output is too slow (2229756), trashing 50000us main debug: audio output is too slow (2179756), trashing 50000us main debug: audio output is too slow (2129756), trashing 50000us main debug: audio output is too slow (2079756), trashing 50000us main debug: audio output is too slow (2029756), trashing 50000us main debug: audio output is too slow (1979756), trashing 50000us main debug: audio output is too slow (1929756), trashing 50000us main debug: audio output is too slow (1879756), trashing 50000us main debug: audio output is too slow (1829756), trashing 50000us main debug: audio output is too slow (1779756), trashing 50000us main debug: audio output is too slow (1729756), trashing 50000us main debug: audio output is too slow (1679756), trashing 50000us main debug: audio output is too slow (1629756), trashing 50000us main debug: audio output is too slow (1579756), trashing 50000us main debug: audio output is too slow (1529756), trashing 50000us main debug: audio output is too slow (1479756), trashing 50000us main debug: audio output is too slow (1430756), trashing 50000us main debug: audio output is too slow (1380756), trashing 50000us main debug: audio output is too slow (1330756), trashing 50000us main debug: audio output is too slow (1280756), trashing 50000us main debug: audio output is too slow (1230756), trashing 50000us main debug: audio output is too slow (1180756), trashing 50000us main debug: audio output is too slow (1130756), trashing 50000us main debug: audio output is too slow (1080756), trashing 50000us main debug: audio output is too slow (1030756), trashing 50000us main debug: audio output is too slow (980756), trashing 50000us main debug: audio output is too slow (930756), trashing 50000us main debug: audio output is too slow (880756), trashing 50000us main debug: audio output is too slow (830756), trashing 50000us main debug: audio output is too slow (780756), trashing 50000us main debug: audio output is too slow (730756), trashing 50000us main debug: audio output is too slow (680756), trashing 50000us main debug: audio output is too slow (630756), trashing 50000us main debug: audio output is too slow (580756), trashing 50000us main debug: audio output is too slow (530756), trashing 50000us main debug: audio output is too slow (481756), trashing 50000us main debug: audio output is too slow (431756), trashing 50000us main debug: audio output is too slow (381756), trashing 50000us main debug: audio output is too slow (331756), trashing 50000us main debug: audio output is too slow (281756), trashing 50000us main debug: audio output is too slow (231756), trashing 50000us main debug: audio output is too slow (181756), trashing 50000us main debug: audio output is too slow (131756), trashing 50000us main debug: audio output is too slow (81756), trashing 50000us main warning: output date isn't PTS date, requesting resampling (78756) main warning: audio drift is too big (138435), dropping buffer main warning: timing screwed, stopping resampling main warning: buffer is 112495 late, triggering upsampling main warning: output date isn't PTS date, requesting resampling (72977) main debug: incoming request - stopping current input main debug: dying input main warning: audio drift is too big (185293), dropping buffer main warning: audio drift is too big (159171), dropping buffer main debug: control type=0 main debug: control: stopping input main debug: dying input main warning: received buffer in the future main debug: thread times: real 0m5.396000s, kernel 0m0.109200s, user 0m0.358802s main debug: removing module "mpeg_audio" main debug: killing decoder fourcc `mpga', 9 PES in FIFO main debug: removing module "mpgatofixed32" main debug: removing module "scaletempo" main debug: removing module "bandlimited_resampler" aout_directx debug: closing audio device aout_directx debug: DirectSoundThread exiting main debug: thread ended main debug: thread times: real 0m5.284000s, kernel 0m0.015600s, user 0m0.000000s main debug: removing module "aout_directx" main debug: removing module "converter_float" main debug: removing module "float32_mixer" main debug: releasing aout main debug: removing module "live555" main debug: Program doesn't contain anymore ES main debug: thread ended main debug: dead input main debug: thread times: real 0m5.907000s, kernel 0m0.062400s, user 0m0.031200s qt4 debug: IM: Deleting the input qt4 debug: Updating the geometry qt4 debug: Updating the geometry main debug: TIMER input launching for 'rtsp://192.168.1.145/test.mp3' : 256.000 ms - Total 256.000 ms / 1 intvls (Avg 256.000 ms) Log of Luggage before it hangs up: qt4 warning: Input option: rtsp-caching=1200 main debug: adding item `rtsp://192.168.1.145/test.mp3' ( rtsp://192.168.1.145/test.mp3 ) qt4 debug: Adding a new MRL to recent ones: rtsp://192.168.1.145/test.mp3 main debug: rebuilding array of current - root Playlist main debug: rebuild done - 1 items, index -1 main debug: processing request item rtsp://192.168.1.145/test.mp3 node null skip 0 main debug: resyncing on rtsp://192.168.1.145/test.mp3 main debug: rtsp://192.168.1.145/test.mp3 is at 0 main debug: starting new item main debug: creating new input thread main debug: Creating an input for 'rtsp://192.168.1.145/test.mp3' main debug: meta ok for (null), need to fetch art main debug: thread started main debug: using timeshift granularity of 50 MiB main debug: using timeshift path 'C:\Users\VANDHA~1\AppData\Local\Temp' main debug: thread (input) created at priority 1 (../.././src/input/input.c:220) main debug: `rtsp://192.168.1.145/test.mp3' gives access `rtsp' demux `' path `192.168.1.145/test.mp3' main debug: creating demux: access='rtsp' demux='' path='192.168.1.145/test.mp3' main debug: looking for access_demux module: 1 candidate live555 debug: RTP subsession 'audio/MPA' main debug: selecting program id=0 live555 debug: setup start: 0.000000 stop:174.443000 qt4 debug: IM: Setting an input main debug: looking for meta fetcher module: 1 candidate lua debug: Trying Lua scripts in C:\Users\VANDHANAA\AppData\Roaming\vlc\lua\meta\fetcher lua debug: Trying Lua scripts in E:\Program Files\VideoLAN\VLC\lua\meta\fetcher lua debug: Trying Lua playlist script E:\Program Files\VideoLAN\VLC\lua\meta\fetcher\tvrage.lua main debug: using meta fetcher module "lua" main debug: TIMER module_need() : 3.000 ms - Total 3.000 ms / 1 intvls (Avg 3.000 ms) main debug: removing module "lua" main debug: searching art for rtsp://192.168.1.145/test.mp3 main debug: looking for art finder module: 2 candidates lua debug: Trying Lua scripts in C:\Users\VANDHANAA\AppData\Roaming\vlc\lua\meta\art lua debug: Trying Lua scripts in E:\Program Files\VideoLAN\VLC\lua\meta\art lua debug: Trying Lua playlist script E:\Program Files\VideoLAN\VLC\lua\meta\art\01_googleimage.lua lua debug: Trying Lua playlist script E:\Program Files\VideoLAN\VLC\lua\meta\art\02_frenchtv.lua lua debug: Trying Lua playlist script E:\Program Files\VideoLAN\VLC\lua\meta\art\03_lastfm.lua lua debug: Trying Lua playlist script E:\Program Files\VideoLAN\VLC\lua\meta\art\04_musicbrainz.lua main debug: no art finder module matching "any" could be loaded main debug: TIMER module_need() : 12.000 ms - Total 12.000 ms / 1 intvls (Avg 12.000 ms) main debug: art not found for rtsp://192.168.1.145/test.mp3 main debug: incoming request - stopping current input main debug: dying input WHat could possibly be the bug? I dint find anyone else complaining about this. Is this an actual bug or am i doing something wrong? Thanks in advance. :) From fcvlcdev at free.fr Mon Jun 13 12:52:02 2011 From: fcvlcdev at free.fr (Francois Cartegnie) Date: Mon, 13 Jun 2011 12:52:02 +0200 Subject: [vlc-devel] =?iso-8859-1?q?=5Bvlc-commits=5D_OpenGL=3A_fix_compil?= =?iso-8859-1?q?ation_/_missing=09glXGetProcAddressARB?= In-Reply-To: <201106122334.44934.remi@remlab.net> References: <20110612153956.7842413CA58@albiero.videolan.org> <201106122158.53686.fcvlcdev@free.fr> <201106122334.44934.remi@remlab.net> Message-ID: <201106131252.02398.fcvlcdev@free.fr> Le dimanche 12 juin 2011, R?mi Denis-Courmont a ?crit : > > I have xcb-glx devel packages > > xcb-glx 1.6.1 /usr/include/xcb/glx.h NOT defining glXGetProcAddressARB > > We don't use that header. In fact, we don't use xcb-glx at all. The bad thing is it is in xcb-devel dependencies, at least in my distro. There was no problems before the GLX_ARB_get_proc_address change :/ What's the way to deal with this from now ? Forcing mesa headers will solve my problem, but the build will still fail 'out of the box'. Can't we check via autoconf ? opengl >= 1.4 test not sufficient ? Francois From remi at remlab.net Mon Jun 13 13:51:35 2011 From: remi at remlab.net (=?UTF-8?Q?R=C3=A9mi_Denis-Courmont?=) Date: Mon, 13 Jun 2011 13:51:35 +0200 Subject: [vlc-devel] =?utf-8?q?=5Bvlc-commits=5D_OpenGL=3A_fix_compilation?= =?utf-8?q?_/_missing=09glXGetProcAddressARB?= In-Reply-To: <201106131252.02398.fcvlcdev@free.fr> References: <20110612153956.7842413CA58@albiero.videolan.org> <201106122158.53686.fcvlcdev@free.fr> <201106122334.44934.remi@remlab.net> <201106131252.02398.fcvlcdev@free.fr> Message-ID: <950671180b3af92cc6d63bb3092e5e35@chewa.net> On Mon, 13 Jun 2011 12:52:02 +0200, Francois Cartegnie wrote: > Le dimanche 12 juin 2011, R?mi Denis-Courmont a ?crit : >> > I have xcb-glx devel packages >> > xcb-glx 1.6.1 /usr/include/xcb/glx.h NOT defining glXGetProcAddressARB >> >> We don't use that header. In fact, we don't use xcb-glx at all. > The bad thing is it is in xcb-devel dependencies, at least in my distro. > There was no problems before the GLX_ARB_get_proc_address change :/ I have no clue what concept you put in your mind about xcb-glx. We don't use xcb-glx, we should not use xcb-glx and it is hence totally irrelevant to the compilation of any part of VLC. -- R?mi Denis-Courmont http://www.remlab.net/ From kaarlo.raiha at gmail.com Mon Jun 13 14:25:52 2011 From: kaarlo.raiha at gmail.com (=?ISO-8859-1?B?S2FhcmxvIFLkaWjk?=) Date: Mon, 13 Jun 2011 15:25:52 +0300 Subject: [vlc-devel] Problems with VOD In-Reply-To: References: <5d310d173c0110a5899eb6d863d1661b@chewa.net> Message-ID: 2011/6/13 VD > I ran live555streamingmedia and tried to stream it through vlc-1.1.7, > 1.1.9, > 1.1.10. All of them seem to hang up after a while. I have to kill the > process > from task manager in order to close vlc. But i am able to watch the rtsp > stream > properly in 1.0.0. i tried to see the log files but did not find much. > > Log of Golden Eye: > > main debug: adding item `rtsp://192.168.1.145/test.mp3' ( > rtsp://192.168.1.145/test.mp3 ) > qt4 debug: Adding a new MRL to recent ones: rtsp://192.168.1.145/test.mp3 > main debug: rebuilding array of current - root Playlist > main debug: rebuild done - 1 items, index -1 > main debug: processing request item rtsp://192.168.1.145/test.mp3 node > null skip > 0 > main debug: resyncing on rtsp://192.168.1.145/test.mp3 > main debug: rtsp://192.168.1.145/test.mp3 is at 0 > main debug: starting new item > main debug: creating new input thread > main debug: Creating an input for 'rtsp://192.168.1.145/test.mp3' > main debug: thread (input) created at priority 1 > (../.././src/input/input.c:230) > qt4 debug: IM: Setting an input > main debug: thread started > main debug: using timeshift granularity of 50 MBytes > main debug: using timeshift path 'C:\Users\VANDHA~1\AppData\Local\Temp' > main debug: `rtsp://192.168.1.145/test.mp3' gives access `rtsp' demux `' > path > `192.168.1.145/test.mp3' > main debug: creating demux: access='rtsp' demux='' path=' > 192.168.1.145/test.mp3' > main debug: looking for access_demux module: 1 candidate > qt4 debug: Updating the geometry > qt4 debug: Updating the geometry > live555 debug: RTP subsession 'audio/MPA' > main debug: selecting program id=0 > live555 debug: setup start: 0.000000 stop:174.443000 > live555 debug: We have a timeout of 60 seconds > live555 debug: spawned timeout thread > live555 debug: play start: 0.000000 stop:174.443000 > main debug: using access_demux module "live555" > main debug: TIMER module_need() : 178.000 ms - Total 178.000 ms / 1 intvls > (Avg > 178.000 ms) > main debug: looking for a subtitle file in E:\Program Files\VLC\ > main debug: looking for decoder module: 35 candidates > main debug: using decoder module "mpeg_audio" > main debug: TIMER module_need() : 26.000 ms - Total 26.000 ms / 1 intvls > (Avg > 26.000 ms) > main debug: thread (decoder) created at priority 2 > (../.././src/input/decoder.c:315) > main debug: thread started > main debug: `rtsp://192.168.1.145/test.mp3' successfully opened > mpeg_audio debug: MPGA channels:2 samplerate:44100 bitrate:128 > main debug: Buffering 0% > main debug: creating aout > main debug: looking for audio output module: 3 candidates > aout_directx debug: OpenAudio > qt4 debug: Updating the geometry > qt4 debug: Updating the geometry > qt4 debug: Updating the geometry > qt4 debug: Updating the geometry > aout_directx debug: found device: Primary Sound Driver > aout_directx debug: found device: Speakers (SoundMAX Integrated Digital HD > Audio) > qt4 debug: Updating the geometry > main debug: Buffering 6% > qt4 debug: Updating the geometry > qt4 debug: Updating the geometry > qt4 debug: New caching: 6 > qt4 debug: New caching: 6 > main debug: Buffering 13% > aout_directx debug: device supports 2 channels (DEFAULT!) > aout_directx debug: device supports 1 channel > aout_directx debug: Windows says your SpeakerConfig is stereo > main debug: Buffering 19% > aout_directx debug: creating DirectSoundThread > main debug: thread (DirectSound Notification Thread) created at priority 15 > (../../.././modules/audio_output/directx.c:427) > main debug: using audio output module "aout_directx" > main debug: TIMER module_need() : 237.000 ms - Total 237.000 ms / 1 intvls > (Avg > 237.000 ms) > main debug: thread started > aout_directx debug: DirectSoundThread ready > main debug: output 's16l' 44100 Hz Stereo frame=1 samples/4 bytes > main debug: mixer 'fl32' 44100 Hz Stereo frame=1 samples/8 bytes > main debug: filter(s) 'fl32'->'s16l' 44100 Hz->44100 Hz Stereo->Stereo > main debug: looking for audio filter module: 24 candidates > qt4 debug: New caching: 19 > qt4 debug: New caching: 19 > main debug: using audio filter module "converter_float" > main debug: TIMER module_need() : 18.000 ms - Total 18.000 ms / 1 intvls > (Avg > 18.000 ms) > main debug: found a filter for the whole conversion > main debug: looking for audio mixer module: 3 candidates > main debug: using audio mixer module "float32_mixer" > main debug: TIMER module_need() : 2.000 ms - Total 2.000 ms / 1 intvls (Avg > 2.000 ms) > main debug: input 'mpga' 44100 Hz Stereo frame=1152 samples/1053 bytes > main debug: looking for audio filter module: 1 candidate > scaletempo warning: bad input or output format > main warning: no audio filter module matching "scaletempo" could be loaded > main debug: TIMER module_need() : 2.000 ms - Total 2.000 ms / 1 intvls (Avg > 2.000 ms) > main debug: looking for audio filter module: 1 candidate > scaletempo debug: format: 44100 rate, 2 nch, 4 bps, fl32 > scaletempo debug: params: 30 stride, 0.200 overlap, 14 search > scaletempo debug: 1.000 scale, 1323.000 stride_in, 1323 stride_out, 1059 > standing, 264 overlap, 617 search, 2204 queue, fl32 mode > main debug: using audio filter module "scaletempo" > main debug: TIMER module_need() : 1.000 ms - Total 1.000 ms / 1 intvls (Avg > 1.000 ms) > main debug: filter(s) 'mpga'->'fl32' 44100 Hz->44100 Hz Stereo->Stereo > main debug: looking for audio filter module: 24 candidates > main debug: using audio filter module "mpgatofixed32" > main debug: TIMER module_need() : 1.000 ms - Total 1.000 ms / 1 intvls (Avg > 1.000 ms) > main debug: found a filter for the whole conversion > main debug: filter(s) 'fl32'->'fl32' 48510 Hz->44100 Hz Stereo->Stereo > main debug: looking for audio filter module: 24 candidates > main debug: using audio filter module "bandlimited_resampler" > main debug: TIMER module_need() : 0.000 ms - Total 0.000 ms / 1 intvls (Avg > 0.000 ms) > main debug: found a filter for the whole conversion > main debug: End of audio preroll > main debug: Buffering 26% > main debug: Buffering 32% > main debug: Buffering 39% > qt4 debug: New caching: 39 > qt4 debug: New caching: 39 > main debug: Buffering 45% > qt4 debug: New caching: 45 > qt4 debug: New caching: 45 > main debug: Buffering 52% > qt4 debug: New caching: 52 > qt4 debug: New caching: 52 > main debug: Buffering 58% > qt4 debug: New caching: 58 > qt4 debug: New caching: 58 > main debug: Buffering 65% > qt4 debug: New caching: 65 > qt4 debug: New caching: 65 > main debug: Buffering 71% > qt4 debug: New caching: 71 > qt4 debug: New caching: 71 > main debug: Buffering 78% > qt4 debug: New caching: 78 > qt4 debug: New caching: 78 > live555 debug: tk->rtpSource->hasBeenSynchronizedUsingRTCP() > main error: ES_OUT_RESET_PCR called > qt4 debug: New caching: 0 > qt4 debug: New caching: 0 > main debug: End of audio preroll > main debug: Buffering 0% > main debug: Buffering 6% > qt4 debug: New caching: 6 > qt4 debug: New caching: 6 > main debug: Buffering 13% > qt4 debug: New caching: 13 > qt4 debug: New caching: 13 > main debug: Buffering 19% > qt4 debug: New caching: 19 > qt4 debug: New caching: 19 > main debug: Buffering 26% > qt4 debug: New caching: 26 > qt4 debug: New caching: 26 > main debug: Buffering 32% > qt4 debug: New caching: 32 > qt4 debug: New caching: 32 > main debug: Buffering 39% > qt4 debug: New caching: 39 > qt4 debug: New caching: 39 > main debug: Buffering 45% > qt4 debug: New caching: 45 > qt4 debug: New caching: 45 > main debug: Buffering 52% > qt4 debug: New caching: 52 > qt4 debug: New caching: 52 > main debug: Buffering 58% > qt4 debug: New caching: 58 > qt4 debug: New caching: 58 > main debug: Buffering 65% > qt4 debug: New caching: 65 > qt4 debug: New caching: 65 > main debug: Buffering 71% > qt4 debug: New caching: 71 > qt4 debug: New caching: 71 > main debug: Buffering 78% > qt4 debug: New caching: 78 > qt4 debug: New caching: 78 > main debug: Buffering 84% > qt4 debug: New caching: 84 > qt4 debug: New caching: 84 > main debug: Buffering 91% > qt4 debug: New caching: 91 > qt4 debug: New caching: 91 > main debug: Buffering 97% > qt4 debug: New caching: 97 > qt4 debug: New caching: 97 > main debug: Stream buffering done (1253 ms in 1254 ms) > main debug: Decoder buffering done in 0 ms > main warning: PTS is out of range (-10000), dropping buffer > qt4 debug: New caching: 100 > main warning: PTS is out of range (-36122), dropping buffer > qt4 debug: New caching: 100 > mpgatofixed32 debug: libmad error: bad main_data_begin pointer > main warning: buffer is 65219 late, triggering upsampling > main debug: audio output is too slow (2678756), trashing 50000us > main debug: audio output is too slow (2628756), trashing 50000us > main debug: audio output is too slow (2578756), trashing 50000us > main debug: audio output is too slow (2528756), trashing 50000us > main debug: audio output is too slow (2478756), trashing 50000us > main debug: audio output is too slow (2429756), trashing 50000us > main debug: audio output is too slow (2379756), trashing 50000us > main debug: audio output is too slow (2329756), trashing 50000us > main debug: audio output is too slow (2279756), trashing 50000us > main debug: audio output is too slow (2229756), trashing 50000us > main debug: audio output is too slow (2179756), trashing 50000us > main debug: audio output is too slow (2129756), trashing 50000us > main debug: audio output is too slow (2079756), trashing 50000us > main debug: audio output is too slow (2029756), trashing 50000us > main debug: audio output is too slow (1979756), trashing 50000us > main debug: audio output is too slow (1929756), trashing 50000us > main debug: audio output is too slow (1879756), trashing 50000us > main debug: audio output is too slow (1829756), trashing 50000us > main debug: audio output is too slow (1779756), trashing 50000us > main debug: audio output is too slow (1729756), trashing 50000us > main debug: audio output is too slow (1679756), trashing 50000us > main debug: audio output is too slow (1629756), trashing 50000us > main debug: audio output is too slow (1579756), trashing 50000us > main debug: audio output is too slow (1529756), trashing 50000us > main debug: audio output is too slow (1479756), trashing 50000us > main debug: audio output is too slow (1430756), trashing 50000us > main debug: audio output is too slow (1380756), trashing 50000us > main debug: audio output is too slow (1330756), trashing 50000us > main debug: audio output is too slow (1280756), trashing 50000us > main debug: audio output is too slow (1230756), trashing 50000us > main debug: audio output is too slow (1180756), trashing 50000us > main debug: audio output is too slow (1130756), trashing 50000us > main debug: audio output is too slow (1080756), trashing 50000us > main debug: audio output is too slow (1030756), trashing 50000us > main debug: audio output is too slow (980756), trashing 50000us > main debug: audio output is too slow (930756), trashing 50000us > main debug: audio output is too slow (880756), trashing 50000us > main debug: audio output is too slow (830756), trashing 50000us > main debug: audio output is too slow (780756), trashing 50000us > main debug: audio output is too slow (730756), trashing 50000us > main debug: audio output is too slow (680756), trashing 50000us > main debug: audio output is too slow (630756), trashing 50000us > main debug: audio output is too slow (580756), trashing 50000us > main debug: audio output is too slow (530756), trashing 50000us > main debug: audio output is too slow (481756), trashing 50000us > main debug: audio output is too slow (431756), trashing 50000us > main debug: audio output is too slow (381756), trashing 50000us > main debug: audio output is too slow (331756), trashing 50000us > main debug: audio output is too slow (281756), trashing 50000us > main debug: audio output is too slow (231756), trashing 50000us > main debug: audio output is too slow (181756), trashing 50000us > main debug: audio output is too slow (131756), trashing 50000us > main debug: audio output is too slow (81756), trashing 50000us > main warning: output date isn't PTS date, requesting resampling (78756) > main warning: audio drift is too big (138435), dropping buffer > main warning: timing screwed, stopping resampling > main warning: buffer is 112495 late, triggering upsampling > main warning: output date isn't PTS date, requesting resampling (72977) > main debug: incoming request - stopping current input > main debug: dying input > main warning: audio drift is too big (185293), dropping buffer > main warning: audio drift is too big (159171), dropping buffer > main debug: control type=0 > main debug: control: stopping input > main debug: dying input > main warning: received buffer in the future > main debug: thread times: real 0m5.396000s, kernel 0m0.109200s, user > 0m0.358802s > main debug: removing module "mpeg_audio" > main debug: killing decoder fourcc `mpga', 9 PES in FIFO > main debug: removing module "mpgatofixed32" > main debug: removing module "scaletempo" > main debug: removing module "bandlimited_resampler" > aout_directx debug: closing audio device > aout_directx debug: DirectSoundThread exiting > main debug: thread ended > main debug: thread times: real 0m5.284000s, kernel 0m0.015600s, user > 0m0.000000s > main debug: removing module "aout_directx" > main debug: removing module "converter_float" > main debug: removing module "float32_mixer" > main debug: releasing aout > main debug: removing module "live555" > main debug: Program doesn't contain anymore ES > main debug: thread ended > main debug: dead input > main debug: thread times: real 0m5.907000s, kernel 0m0.062400s, user > 0m0.031200s > qt4 debug: IM: Deleting the input > qt4 debug: Updating the geometry > qt4 debug: Updating the geometry > main debug: TIMER input launching for 'rtsp://192.168.1.145/test.mp3' : > 256.000 > ms - Total 256.000 ms / 1 intvls (Avg 256.000 ms) > > > Log of Luggage before it hangs up: > > qt4 warning: Input option: rtsp-caching=1200 > main debug: adding item `rtsp://192.168.1.145/test.mp3' ( > rtsp://192.168.1.145/test.mp3 ) > qt4 debug: Adding a new MRL to recent ones: rtsp://192.168.1.145/test.mp3 > main debug: rebuilding array of current - root Playlist > main debug: rebuild done - 1 items, index -1 > main debug: processing request item rtsp://192.168.1.145/test.mp3 node > null skip > 0 > main debug: resyncing on rtsp://192.168.1.145/test.mp3 > main debug: rtsp://192.168.1.145/test.mp3 is at 0 > main debug: starting new item > main debug: creating new input thread > main debug: Creating an input for 'rtsp://192.168.1.145/test.mp3' > main debug: meta ok for (null), need to fetch art > main debug: thread started > main debug: using timeshift granularity of 50 MiB > main debug: using timeshift path 'C:\Users\VANDHA~1\AppData\Local\Temp' > main debug: thread (input) created at priority 1 > (../.././src/input/input.c:220) > main debug: `rtsp://192.168.1.145/test.mp3' gives access `rtsp' demux `' > path > `192.168.1.145/test.mp3' > main debug: creating demux: access='rtsp' demux='' path=' > 192.168.1.145/test.mp3' > main debug: looking for access_demux module: 1 candidate > live555 debug: RTP subsession 'audio/MPA' > main debug: selecting program id=0 > live555 debug: setup start: 0.000000 stop:174.443000 > qt4 debug: IM: Setting an input > main debug: looking for meta fetcher module: 1 candidate > lua debug: Trying Lua scripts in > C:\Users\VANDHANAA\AppData\Roaming\vlc\lua\meta\fetcher > lua debug: Trying Lua scripts in E:\Program > Files\VideoLAN\VLC\lua\meta\fetcher > lua debug: Trying Lua playlist script E:\Program > Files\VideoLAN\VLC\lua\meta\fetcher\tvrage.lua > main debug: using meta fetcher module "lua" > main debug: TIMER module_need() : 3.000 ms - Total 3.000 ms / 1 intvls (Avg > 3.000 ms) > main debug: removing module "lua" > main debug: searching art for rtsp://192.168.1.145/test.mp3 > main debug: looking for art finder module: 2 candidates > lua debug: Trying Lua scripts in > C:\Users\VANDHANAA\AppData\Roaming\vlc\lua\meta\art > lua debug: Trying Lua scripts in E:\Program Files\VideoLAN\VLC\lua\meta\art > lua debug: Trying Lua playlist script E:\Program > Files\VideoLAN\VLC\lua\meta\art\01_googleimage.lua > lua debug: Trying Lua playlist script E:\Program > Files\VideoLAN\VLC\lua\meta\art\02_frenchtv.lua > lua debug: Trying Lua playlist script E:\Program > Files\VideoLAN\VLC\lua\meta\art\03_lastfm.lua > lua debug: Trying Lua playlist script E:\Program > Files\VideoLAN\VLC\lua\meta\art\04_musicbrainz.lua > main debug: no art finder module matching "any" could be loaded > main debug: TIMER module_need() : 12.000 ms - Total 12.000 ms / 1 intvls > (Avg > 12.000 ms) > main debug: art not found for rtsp://192.168.1.145/test.mp3 > main debug: incoming request - stopping current input > main debug: dying input > > WHat could possibly be the bug? I dint find anyone else complaining about > this. > Is this an actual bug or am i doing something wrong? Thanks in advance. :) > If VLC hangs (as in you can't control it anymore), it is a bug. But without debug tools it is usually hard to figure out which component is causing the problems > > > > > > > _______________________________________________ > vlc-devel mailing list > To unsubscribe or modify your subscription options: > http://mailman.videolan.org/listinfo/vlc-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From kaarlo.raiha at gmail.com Mon Jun 13 14:36:00 2011 From: kaarlo.raiha at gmail.com (=?ISO-8859-1?B?S2FhcmxvIFLkaWjk?=) Date: Mon, 13 Jun 2011 15:36:00 +0300 Subject: [vlc-devel] [PATCH]Change fs controller and mouse cursor hide timeout to 1000 ms In-Reply-To: <201106121908.25563.remi@remlab.net> References: <201106121908.25563.remi@remlab.net> Message-ID: 2011/6/12 R?mi Denis-Courmont > Le samedi 11 juin 2011 18:13:43 Kaarlo R?ih?, vous avez ?crit : > > There is known issue with QT4 interface and mouse cursor not hiding when > > fullscreen playback is done under Win32. Someone in forum thread[1] > noticed > > that issue is related to "Hide mouse cursor and fullscreen controller > > after..." option, which if set to too high will cause the issue. So this > > patch changes the default timeout to 1 second (earlier was 1.5 seconds) > > which should make cursor hide properly under fullscreen playback. > > > > This doesn't fix the underlying issue (so if someone manually sets the > > value to e.g. 5000 ms, then the cursor doesn't hide) but I don't think > big > > changes are needed for VLC 1.1.x anymore. > > > > [1] > http://forum.videolan.org/viewtopic.php?f=14&t=80735&p=301602#p301506 > > We should remove the default value from the help string, so we don't break > translations yet again if the value changes once more. > Yes, there are many VLC options which have default values written to their description. So maybe someone wants to megapatch this? (remove values from text and read them from add_* in same way as boolean defaults are done) > > -- > R?mi Denis-Courmont > http://www.remlab.net/ > http://fi.linkedin.com/in/remidenis > _______________________________________________ > vlc-devel mailing list > To unsubscribe or modify your subscription options: > http://mailman.videolan.org/listinfo/vlc-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Paul.Corke at datatote.co.uk Mon Jun 13 17:33:26 2011 From: Paul.Corke at datatote.co.uk (Paul Corke) Date: Mon, 13 Jun 2011 16:33:26 +0100 Subject: [vlc-devel] Output level clamping filter Message-ID: <80750DE29744994A9F639DC80160DC8E042A64@mail-back.sys.internal> My vlc output is mixed with another video source by an external chroma-key device. If the file played back by vlc has [near] black in it then it gets mixed when I don't want it to be! What I want to do is something like "if (y < 10) y = 10". I don't want to change the brightness / contrast on the whole picture (so "Image Properties" doesn't work for me). I can write a vout filter to do this, but just wondered if anyone knows of an existing way to do this? I can't find anything in the documentation or -H. TIA, Paul. From yuvaltze at gmail.com Mon Jun 13 20:59:05 2011 From: yuvaltze at gmail.com (Yuval Tze) Date: Mon, 13 Jun 2011 21:59:05 +0300 Subject: [vlc-devel] [PATCH] Subtitles duration factor bug fix Message-ID: <1307991545-30901-1-git-send-email-yuvaltze@gmail.com> The subtitles duration factor change on the SyncControls widget constructor caused the subsdelay filter to be activated when the synchronization dialog was first opened. - Subtitles duration update was moved to the update function (which turns b_userAction off before updating) - updateSubsDuration was renamed to initSubsDuration --- modules/gui/qt4/components/extended_panels.cpp | 9 ++++----- modules/gui/qt4/components/extended_panels.hpp | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/modules/gui/qt4/components/extended_panels.cpp b/modules/gui/qt4/components/extended_panels.cpp index 340e49a..b3f5501 100644 --- a/modules/gui/qt4/components/extended_panels.cpp +++ b/modules/gui/qt4/components/extended_panels.cpp @@ -1617,9 +1617,10 @@ SyncControls::SyncControls( intf_thread_t *_p_intf, QWidget *_parent ) : BUTTON_SET_ACT_I( updateButton, "", update, qtr( "Force update of this dialog's values" ), update() ); + initSubsDuration(); + /* Set it */ update(); - updateSubsDuration(); } SyncControls::~SyncControls() @@ -1634,7 +1635,6 @@ void SyncControls::clean() subsSpin->setValue( 0.0 ); subSpeedSpin->setValue( 1.0 ); subsdelayClean(); - updateSubsDuration(); b_userAction = true; } @@ -1650,6 +1650,7 @@ void SyncControls::update() i_delay = var_GetTime( THEMIM->getInput(), "spu-delay" ); subsSpin->setValue( ( (double)i_delay ) / 1000000 ); subSpeedSpin->setValue( var_GetFloat( THEMIM->getInput(), "sub-fps" ) ); + subDurationSpin->setValue( var_InheritFloat( p_intf, SUBSDELAY_CFG_FACTOR ) ); } b_userAction = true; } @@ -1689,7 +1690,7 @@ void SyncControls::adjustSubsDuration( double f_factor ) } } -void SyncControls::updateSubsDuration() +void SyncControls::initSubsDuration() { int i_mode = var_InheritInteger( p_intf, SUBSDELAY_CFG_MODE ); @@ -1713,8 +1714,6 @@ void SyncControls::updateSubsDuration() subDurationSpin->setSuffix( "" ); break; } - - subDurationSpin->setValue( var_InheritFloat( p_intf, SUBSDELAY_CFG_FACTOR ) ); } void SyncControls::subsdelayClean() diff --git a/modules/gui/qt4/components/extended_panels.hpp b/modules/gui/qt4/components/extended_panels.hpp index 6883761..3058338 100644 --- a/modules/gui/qt4/components/extended_panels.hpp +++ b/modules/gui/qt4/components/extended_panels.hpp @@ -186,7 +186,7 @@ private: void clean(); - void updateSubsDuration(); + void initSubsDuration(); void subsdelayClean(); void subsdelaySetFactor( double ); public slots: -- 1.7.4.1 From fcvlcdev at free.fr Mon Jun 13 21:30:22 2011 From: fcvlcdev at free.fr (Francois Cartegnie) Date: Mon, 13 Jun 2011 21:30:22 +0200 Subject: [vlc-devel] =?utf-8?q?=5Bvlc-commits=5D_OpenGL=3A_fix_compilation?= =?utf-8?q?_/_missing=09glXGetProcAddressARB?= In-Reply-To: <950671180b3af92cc6d63bb3092e5e35@chewa.net> References: <20110612153956.7842413CA58@albiero.videolan.org> <201106131252.02398.fcvlcdev@free.fr> <950671180b3af92cc6d63bb3092e5e35@chewa.net> Message-ID: <201106132130.22692.fcvlcdev@free.fr> Le lundi 13 juin 2011, R?mi Denis-Courmont a ?crit : > I have no clue what concept you put in your mind about xcb-glx. We don't > use xcb-glx, we should not use xcb-glx and it is hence totally irrelevant > to the compilation of any part of VLC. You don't use it, but the build process chooses the wrong version when those two are installed. Overriding with GL_CFLAGS="-I /usr/include/GL" doesn't help. Francois From remi at remlab.net Mon Jun 13 21:38:14 2011 From: remi at remlab.net (=?utf-8?q?R=C3=A9mi?= Denis-Courmont) Date: Mon, 13 Jun 2011 22:38:14 +0300 Subject: [vlc-devel] =?utf-8?q?=5Bvlc-commits=5D_OpenGL=3A_fix_compilation?= =?utf-8?q?_/_missing=09glXGetProcAddressARB?= In-Reply-To: <201106132130.22692.fcvlcdev@free.fr> References: <20110612153956.7842413CA58@albiero.videolan.org> <950671180b3af92cc6d63bb3092e5e35@chewa.net> <201106132130.22692.fcvlcdev@free.fr> Message-ID: <201106132238.14923.remi@remlab.net> Le lundi 13 juin 2011 22:30:22 Francois Cartegnie, vous avez ?crit : > Le lundi 13 juin 2011, R?mi Denis-Courmont a ?crit : > > I have no clue what concept you put in your mind about xcb-glx. We don't > > use xcb-glx, we should not use xcb-glx and it is hence totally irrelevant > > to the compilation of any part of VLC. > > You don't use it, but the build process chooses the wrong version when > those two are installed. Overriding with GL_CFLAGS="-I /usr/include/GL" > doesn't help. We don't use anywhere, only -- R?mi Denis-Courmont http://www.remlab.net/ http://fi.linkedin.com/in/remidenis From sourabhshyampandit at gmail.com Tue Jun 14 13:03:34 2011 From: sourabhshyampandit at gmail.com (Sourabh Pandit) Date: Tue, 14 Jun 2011 11:03:34 +0000 (UTC) Subject: [vlc-devel] DASH access plugin References: <002101cbcf63$caf70790$60e516b0$@itec.uni-klu.ac.at> Message-ID: Christopher M?ller itec.uni-klu.ac.at> writes: > > > Dear all, > ? > During our research work we have developed a VLC Plugin that supports DASH (Dynamic Adaptive Streaming over HTTP). DASH is an international standard that is currently under development by MPEG. A first public version of the standard is available via MPEG: http://mpeg.chiariglione.org/working_documents.htm#MPEG-B > ? > Due to some requests on the MPEG-DASH mailing-list we (Christian Timmerer and Christopher Mueller) made our DASH implementation as VLC plugin available:?http://www-itec.uni-klu.ac.at/dash/ > The plugin and test content (ISO Base Media File Format segments and sample MPDs) are located at this page. If you have any questions, please contact us through this list or directly. > ? > Please check the documentation (for caveats and obstructions) and, of course, please feel free to extend and improve it (e.g., in terms of the actual adaptation logic). > ? > Best Regards > Christopher Mueller > > > _______________________________________________ > vlc-devel mailing list > To unsubscribe or modify your subscription options: > http://mailman.videolan.org/listinfo/vlc-devel > link to download mpd is broken. Please update with correct link. -Sourabh From lederer at bitmovin.net Tue Jun 14 16:33:59 2011 From: lederer at bitmovin.net (Stefan Lederer) Date: Tue, 14 Jun 2011 16:33:59 +0200 Subject: [vlc-devel] DASH access plugin In-Reply-To: References: <002101cbcf63$caf70790$60e516b0$@itec.uni-klu.ac.at> Message-ID: <01c301cc2aa0$1b81b100$52851300$@net> Hi Sourabh > link to download mpd is broken. > Please update with correct link. I tested the mpd, everything is working correctly. Could you please send me the link you used? Best Regards Stefan From barletz at gmail.com Tue Jun 14 21:12:12 2011 From: barletz at gmail.com (Tomer Barletz) Date: Tue, 14 Jun 2011 12:12:12 -0700 Subject: [vlc-devel] [PATCH] Look-up variable just when opening the decoder, and not every time the text is parsed. Message-ID: <1308078732-1180-1-git-send-email-barletz@gmail.com> --- modules/codec/stl.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/modules/codec/stl.c b/modules/codec/stl.c index 981333f..6d2b95d 100644 --- a/modules/codec/stl.c +++ b/modules/codec/stl.c @@ -69,6 +69,7 @@ typedef struct { struct decoder_sys_t { cct_number_value_t cct; + int i_align; }; static cct_number_t cct_nums[] = { {CCT_ISO_6937_2, "ISO_6937-2"}, @@ -165,6 +166,7 @@ static subpicture_t *Decode(decoder_t *dec, block_t **block) payload_size, cct_nums[dec->p_sys->cct - CCT_BEGIN].str); sub->p_region->psz_html = NULL; + sub->p_region->i_align = SUBPICTURE_ALIGN_BOTTOM | dec->p_sys->i_align; } free(payload); @@ -217,6 +219,7 @@ static int Open(vlc_object_t *object) return VLC_ENOMEM; sys->cct = cct; + sys->i_align = var_InheritInteger(dec, "subsdec-align"); dec->p_sys = sys; dec->pf_decode_sub = Decode; -- 1.7.4.1 From barletz at gmail.com Tue Jun 14 21:16:06 2011 From: barletz at gmail.com (Tomer Barletz) Date: Tue, 14 Jun 2011 12:16:06 -0700 Subject: [vlc-devel] [PATCH] Change log severity from Err to Info. Message-ID: <1308078966-1991-1-git-send-email-barletz@gmail.com> --- modules/demux/stl.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/modules/demux/stl.c b/modules/demux/stl.c index 3b6c7dd..804c7c3 100644 --- a/modules/demux/stl.c +++ b/modules/demux/stl.c @@ -173,7 +173,7 @@ static int Open(vlc_object_t *object) const int cct = ParseInteger(&header[12], 2); const mtime_t program_start = ParseTextTimeCode(&header[256], fps); const int tti_count = ParseInteger(&header[238], 5); - msg_Err(demux, "Detected EBU STL : CCT=%d TTI=%d start=%8.8s %lld", cct, tti_count, &header[256], program_start); + msg_Info(demux, "Detected EBU STL : CCT=%d TTI=%d start=%8.8s %lld", cct, tti_count, &header[256], program_start); demux_sys_t *sys = malloc(sizeof(*sys)); sys->next_date = 0; -- 1.7.4.1 From remi at remlab.net Tue Jun 14 21:25:16 2011 From: remi at remlab.net (=?iso-8859-1?q?R=E9mi?= Denis-Courmont) Date: Tue, 14 Jun 2011 22:25:16 +0300 Subject: [vlc-devel] [PATCH] Look-up variable just when opening the decoder, and not every time the text is parsed. In-Reply-To: <1308078732-1180-1-git-send-email-barletz@gmail.com> References: <1308078732-1180-1-git-send-email-barletz@gmail.com> Message-ID: <201106142225.16422.remi@remlab.net> Le mardi 14 juin 2011 22:12:12 Tomer Barletz, vous avez ?crit : > --- > modules/codec/stl.c | 3 +++ > 1 files changed, 3 insertions(+), 0 deletions(-) In this patch, I can see the "just when opening", but what about the "not every time"...? -- R?mi Denis-Courmont http://www.remlab.net/ http://fi.linkedin.com/in/remidenis From remi at remlab.net Tue Jun 14 21:25:40 2011 From: remi at remlab.net (=?iso-8859-1?q?R=E9mi?= Denis-Courmont) Date: Tue, 14 Jun 2011 22:25:40 +0300 Subject: [vlc-devel] [PATCH] Change log severity from Err to Info. In-Reply-To: <1308078966-1991-1-git-send-email-barletz@gmail.com> References: <1308078966-1991-1-git-send-email-barletz@gmail.com> Message-ID: <201106142225.40812.remi@remlab.net> Le mardi 14 juin 2011 22:16:06 Tomer Barletz, vous avez ?crit : > --- > modules/demux/stl.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) Should be msg_Dbg(). -- R?mi Denis-Courmont http://www.remlab.net/ http://fi.linkedin.com/in/remidenis From barletz at gmail.com Tue Jun 14 21:57:38 2011 From: barletz at gmail.com (Tomer Barletz) Date: Tue, 14 Jun 2011 12:57:38 -0700 Subject: [vlc-devel] [PATCH] Change log severity from Err to Info. In-Reply-To: <201106142225.40812.remi@remlab.net> References: <1308078966-1991-1-git-send-email-barletz@gmail.com> <201106142225.40812.remi@remlab.net> Message-ID: 2011/6/14 R?mi Denis-Courmont : > Le mardi 14 juin 2011 22:16:06 Tomer Barletz, vous avez ?crit : >> --- >> ?modules/demux/stl.c | ? ?2 +- >> ?1 files changed, 1 insertions(+), 1 deletions(-) > > Should be msg_Dbg(). > > > -- > R?mi Denis-Courmont > http://www.remlab.net/ > http://fi.linkedin.com/in/remidenis > _______________________________________________ > vlc-devel mailing list > To unsubscribe or modify your subscription options: > http://mailman.videolan.org/listinfo/vlc-devel > Patch attached. -------------- next part -------------- A non-text attachment was scrubbed... Name: 0001-Change-log-severity-from-Err-to-Debug.patch Type: text/x-patch Size: 995 bytes Desc: not available URL: From remi at remlab.net Tue Jun 14 22:05:34 2011 From: remi at remlab.net (=?iso-8859-1?q?R=E9mi?= Denis-Courmont) Date: Tue, 14 Jun 2011 23:05:34 +0300 Subject: [vlc-devel] [PATCH] Subtitles duration factor bug fix In-Reply-To: <1307991545-30901-1-git-send-email-yuvaltze@gmail.com> References: <1307991545-30901-1-git-send-email-yuvaltze@gmail.com> Message-ID: <201106142305.35538.remi@remlab.net> Le lundi 13 juin 2011 21:59:05 Yuval Tze, vous avez ?crit : > The subtitles duration factor change on the SyncControls widget constructor > caused the subsdelay filter to be activated when the synchronization > dialog was first opened. Merged, thanks! -- R?mi Denis-Courmont http://www.remlab.net/ http://fi.linkedin.com/in/remidenis From remi at remlab.net Tue Jun 14 22:07:49 2011 From: remi at remlab.net (=?iso-8859-15?q?R=E9mi?= Denis-Courmont) Date: Tue, 14 Jun 2011 23:07:49 +0300 Subject: [vlc-devel] [PATCH] Change log severity from Err to Info. In-Reply-To: References: <1308078966-1991-1-git-send-email-barletz@gmail.com> <201106142225.40812.remi@remlab.net> Message-ID: <201106142307.49467.remi@remlab.net> Le mardi 14 juin 2011 22:57:38 Tomer Barletz, vous avez ?crit : > 2011/6/14 R?mi Denis-Courmont : > > Le mardi 14 juin 2011 22:16:06 Tomer Barletz, vous avez ?crit : > >> --- > >> modules/demux/stl.c | 2 +- > >> 1 files changed, 1 insertions(+), 1 deletions(-) > > Should be msg_Dbg(). > Patch attached. You did not try to compile this patch, did you? -- R?mi Denis-Courmont http://www.remlab.net/ http://fi.linkedin.com/in/remidenis From barletz at gmail.com Tue Jun 14 22:25:28 2011 From: barletz at gmail.com (Tomer Barletz) Date: Tue, 14 Jun 2011 13:25:28 -0700 Subject: [vlc-devel] [PATCH] Change log severity from Err to Info. In-Reply-To: <201106142307.49467.remi@remlab.net> References: <1308078966-1991-1-git-send-email-barletz@gmail.com> <201106142225.40812.remi@remlab.net> <201106142307.49467.remi@remlab.net> Message-ID: 2011/6/14 R?mi Denis-Courmont : > Le mardi 14 juin 2011 22:57:38 Tomer Barletz, vous avez ?crit : >> 2011/6/14 R?mi Denis-Courmont : >> > Le mardi 14 juin 2011 22:16:06 Tomer Barletz, vous avez ?crit : >> >> --- >> >> ?modules/demux/stl.c | ? ?2 +- >> >> ?1 files changed, 1 insertions(+), 1 deletions(-) > >> > Should be msg_Dbg(). > >> Patch attached. > > You did not try to compile this patch, did you? > > -- > R?mi Denis-Courmont > http://www.remlab.net/ > http://fi.linkedin.com/in/remidenis > _______________________________________________ > vlc-devel mailing list > To unsubscribe or modify your subscription options: > http://mailman.videolan.org/listinfo/vlc-devel > Sorry about that. Attached. -------------- next part -------------- A non-text attachment was scrubbed... Name: 0001-Change-log-severity-from-Err-to-Dbg.patch Type: text/x-patch Size: 991 bytes Desc: not available URL: From elminster2031 at archmageinc.com Tue Jun 14 23:08:10 2011 From: elminster2031 at archmageinc.com (Elminster2031) Date: Tue, 14 Jun 2011 17:08:10 -0400 Subject: [vlc-devel] [PATCH] LUA HTTP interface Message-ID: <20110614170810.58483v87mc9nhb5m@webmail.thebrooksfamilyonline.com> This modification provides a 'clean' http interface using jQuery. This uses asynchronous ajax calls to communicate to the VLM. jQuery is loaded via CDN as is flowplayer. -------------- next part -------------- A non-text attachment was scrubbed... Name: 0001-LUA-HTTP-interface.patch Type: text/x-patch Size: 573509 bytes Desc: not available URL: From mehrotra.akash at gmail.com Wed Jun 15 00:21:02 2011 From: mehrotra.akash at gmail.com (akash mehrotra) Date: Wed, 15 Jun 2011 03:51:02 +0530 Subject: [vlc-devel] [PATCH] LUA HTTP interface In-Reply-To: <20110614170810.58483v87mc9nhb5m@webmail.thebrooksfamilyonline.com> References: <20110614170810.58483v87mc9nhb5m@webmail.thebrooksfamilyonline.com> Message-ID: This is wrong, since it removes the following functionalities from the xml, the js and the readme 1. Audio delay access 2. Subtitle delay access 3. Playback rate access ( Line 12840 to 12851 specifically) On Wed, Jun 15, 2011 at 2:38 AM, Elminster2031 < elminster2031 at archmageinc.com> wrote: > This modification provides a 'clean' http interface using jQuery. This > uses asynchronous ajax calls to communicate to the VLM. jQuery is loaded > via CDN as is flowplayer. > > _______________________________________________ > vlc-devel mailing list > To unsubscribe or modify your subscription options: > http://mailman.videolan.org/listinfo/vlc-devel > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From adanecito at yahoo.com Wed Jun 15 01:45:37 2011 From: adanecito at yahoo.com (Tony Anecito) Date: Tue, 14 Jun 2011 16:45:37 -0700 (PDT) Subject: [vlc-devel] VLC 1.2 for ubuntu... Message-ID: <596000.69566.qm@web113620.mail.gq1.yahoo.com> Doe anyone know of a vlc 1.2 install for Ubuntu? I want to try the install. Thanks, -Tony From bdrung at ubuntu.com Wed Jun 15 01:59:43 2011 From: bdrung at ubuntu.com (Benjamin Drung) Date: Wed, 15 Jun 2011 01:59:43 +0200 Subject: [vlc-devel] VLC 1.2 for ubuntu... In-Reply-To: <596000.69566.qm@web113620.mail.gq1.yahoo.com> References: <596000.69566.qm@web113620.mail.gq1.yahoo.com> Message-ID: <1308095983.2526.73.camel@deep-thought> Am Dienstag, den 14.06.2011, 16:45 -0700 schrieb Tony Anecito: > Doe anyone know of a vlc 1.2 install for Ubuntu? I want to try the install. We have a daily build of vlc 1.2 for Ubuntu [1], but it currently has build problems resulting in install problems. Help to fix the build failure is welcome. [1] https://code.launchpad.net/~videolan/+recipe/master-daily -- Benjamin Drung Debian & Ubuntu Developer -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: This is a digitally signed message part URL: From jb at videolan.org Wed Jun 15 02:09:44 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Wed, 15 Jun 2011 02:09:44 +0200 Subject: [vlc-devel] [PATCH] LUA HTTP interface In-Reply-To: <20110614170810.58483v87mc9nhb5m@webmail.thebrooksfamilyonline.com> References: <20110614170810.58483v87mc9nhb5m@webmail.thebrooksfamilyonline.com> Message-ID: <20110615000944.GA8380@videolan.org> On Tue, Jun 14, 2011 at 05:08:10PM -0400, Elminster2031 wrote : > This modification provides a 'clean' http interface using jQuery. This > uses asynchronous ajax calls to communicate to the VLM. jQuery is loaded > via CDN as is flowplayer. First, I would like to say a huge thanks, because this is a huge work undertaken. A few remarks/questions: - Do you have a pix, so other people can see it? - What are the licenses for ui-lightness and jquery-ui-1.8.13.custom.css? - Same for jstree? - What is the status of vlm and mosaic wizard aftewards (just curious) - Your code remove functionnalities added lately to the xml requests interface, as Akash pointed, this is wrong, IMVHO. - Are the pngs crushed? Thanks a lot for your work! Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From fcvlcdev at free.fr Wed Jun 15 03:01:44 2011 From: fcvlcdev at free.fr (Francois Cartegnie) Date: Wed, 15 Jun 2011 03:01:44 +0200 Subject: [vlc-devel] [PATCH] LUA HTTP interface In-Reply-To: <20110614170810.58483v87mc9nhb5m@webmail.thebrooksfamilyonline.com> References: <20110614170810.58483v87mc9nhb5m@webmail.thebrooksfamilyonline.com> Message-ID: <201106150301.45094.fcvlcdev@free.fr> Le mardi 14 juin 2011, Elminster2031 a ?crit : Can't test your (too) big patch. fatal: corrupt patch at line 1563 (missing new line) > uses asynchronous ajax calls to communicate to the VLM. jQuery is loaded > via CDN as is flowplayer. If not a fan of mandatory internet access for an interface. Francois From adanecito at yahoo.com Wed Jun 15 08:00:36 2011 From: adanecito at yahoo.com (Tony Anecito) Date: Tue, 14 Jun 2011 23:00:36 -0700 (PDT) Subject: [vlc-devel] VLC 1.2 for ubuntu... In-Reply-To: <1308095983.2526.73.camel@deep-thought> References: <596000.69566.qm@web113620.mail.gq1.yahoo.com> <1308095983.2526.73.camel@deep-thought> Message-ID: <313620.79731.qm@web113618.mail.gq1.yahoo.com> I am mainly a java developer with some windows experience so Ubuntu and linux type builds are a mystery to me. I think I will ask the vlcj developer since he only supports 1.2 now he should know of someone who does 1.2 builds. Thanks, -Tony ----- Original Message ---- From: Benjamin Drung To: vlc-devel at videolan.org Sent: Tue, June 14, 2011 5:59:43 PM Subject: Re: [vlc-devel] VLC 1.2 for ubuntu... Am Dienstag, den 14.06.2011, 16:45 -0700 schrieb Tony Anecito: > Doe anyone know of a vlc 1.2 install for Ubuntu? I want to try the install. We have a daily build of vlc 1.2 for Ubuntu [1], but it currently has build problems resulting in install problems. Help to fix the build failure is welcome. [1] https://code.launchpad.net/~videolan/+recipe/master-daily -- Benjamin Drung Debian & Ubuntu Developer From remi at remlab.net Wed Jun 15 09:09:45 2011 From: remi at remlab.net (=?UTF-8?Q?R=C3=A9mi_Denis-Courmont?=) Date: Wed, 15 Jun 2011 09:09:45 +0200 Subject: [vlc-devel] [PATCH] LUA HTTP interface In-Reply-To: <201106150301.45094.fcvlcdev@free.fr> References: <20110614170810.58483v87mc9nhb5m@webmail.thebrooksfamilyonline.com> <201106150301.45094.fcvlcdev@free.fr> Message-ID: On Wed, 15 Jun 2011 03:01:44 +0200, Francois Cartegnie wrote: >> uses asynchronous ajax calls to communicate to the VLM. jQuery is loaded >> via CDN as is flowplayer. > If not a fan of mandatory internet access for an interface. +1 Some people do use VLC in "walled garden" networks. -- R?mi Denis-Courmont http://www.remlab.net/ From jb at videolan.org Wed Jun 15 11:49:32 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Wed, 15 Jun 2011 11:49:32 +0200 Subject: [vlc-devel] [PATCH] LUA HTTP interface In-Reply-To: References: <20110614170810.58483v87mc9nhb5m@webmail.thebrooksfamilyonline.com> <201106150301.45094.fcvlcdev@free.fr> Message-ID: <20110615094932.GA21332@videolan.org> On Wed, Jun 15, 2011 at 09:09:45AM +0200, R?mi Denis-Courmont wrote : > >> via CDN as is flowplayer. > > If not a fan of mandatory internet access for an interface. > +1 > > Some people do use VLC in "walled garden" networks. 100% my fault. You are right. Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From fcvlcdev at free.fr Wed Jun 15 14:23:01 2011 From: fcvlcdev at free.fr (Francois Cartegnie) Date: Wed, 15 Jun 2011 14:23:01 +0200 Subject: [vlc-devel] [PATCH] LUA HTTP interface In-Reply-To: <20110615094932.GA21332@videolan.org> References: <20110614170810.58483v87mc9nhb5m@webmail.thebrooksfamilyonline.com> <20110615094932.GA21332@videolan.org> Message-ID: <201106151423.01760.fcvlcdev@free.fr> Le mercredi 15 juin 2011, Jean-Baptiste Kempf a ?crit : > > > > Some people do use VLC in "walled garden" networks. > > 100% my fault. I think i saw something on irc about large lines, git and compressed jquery. Consider adding: share/lua/http/*query*.js -diff in .git/info/attributes then. Francois From brandon at thebrooksfamilyonline.com Wed Jun 15 13:21:59 2011 From: brandon at thebrooksfamilyonline.com (brandon at thebrooksfamilyonline.com) Date: Wed, 15 Jun 2011 07:21:59 -0400 Subject: [vlc-devel] [PATCH] LUA HTTP interface Message-ID: <20110615072159.124076pn31y1as47@webmail.thebrooksfamilyonline.com> 1) Yes, I realized it removed this functionality. I am already in progress of putting it back in and building it into the interface. (I also see something about allowing the http interface to access the EQ, so that functionality will be coming in as well. 2) I will put up some pix and link to them in the next patch 3) I will have to investigate the licenses for flowplayer, jQuery's themes, and jstree, though I do not anticipate a problem. 4) I had started a mosaic wizard, though I wanted the core functionality to be present. After the issues listed here, I will continue work on the additional functionality 5) I am sorry it is such a big patch. I started working on this for v1.1.9, and then realized it was all going to change in v1.2, so I had most of the work completed. I can try to break it up into multiple patches 6) I am not sure what went wrong with the patch, but I'll double check when I break it into multiple patches. 7) As j-b said, it's his fault. :) Including flowplayer, and jquery will also increase the overhead of the patch. :( I am also not a fan of mandatory internet access. I guess for now, disregard this patch until I address the above issues. I will send another update once complete. Thank you From victor.koretsky at gmail.com Wed Jun 15 17:25:49 2011 From: victor.koretsky at gmail.com (Victor Koretsky) Date: Wed, 15 Jun 2011 18:25:49 +0300 Subject: [vlc-devel] VLC 1.1.10 produces strong audio noise while playing DV1 (iavs) Message-ID: latest VLC produces terrible noise while playing back DV1 (iavs); however, DV2 are played back normally. Thanks and regards, Victor -------------- next part -------------- An HTML attachment was scrubbed... URL: From jb at videolan.org Wed Jun 15 17:50:05 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Wed, 15 Jun 2011 17:50:05 +0200 Subject: [vlc-devel] [PATCH] LUA HTTP interface In-Reply-To: <20110615072159.124076pn31y1as47@webmail.thebrooksfamilyonline.com> References: <20110615072159.124076pn31y1as47@webmail.thebrooksfamilyonline.com> Message-ID: <20110615155005.GA24240@videolan.org> On Wed, Jun 15, 2011 at 07:21:59AM -0400, brandon at thebrooksfamilyonline.com wrote : > 1) Yes, I realized it removed this functionality. I am already in > progress of putting it back in and building it into the interface. Great. > 2) I will put up some pix and link to them in the next patch Great? > 3) I will have to investigate the licenses for flowplayer, jQuery's > themes, and jstree, though I do not anticipate a problem. GPL, for all of them. > 4) I had started a mosaic wizard, though I wanted the core > functionality to be present. After the issues listed here, I will > continue work on the additional functionality This is not a priority, IMVHO. > 5) I am sorry it is such a big patch. I started working on this for > v1.1.9, and then realized it was all going to change in v1.2, so I > had most of the work completed. I can try to break it up into > multiple patches 1 patch = 1 functionnality. If it can't be broken easily in multiple patches, so be it. People will have to live with it. Artificial split is just brain-dead. I suggested libs in one patch and the core development in another one. > 6) I am not sure what went wrong with the patch, but I'll double > check when I break it into multiple patches. Maybe just give a link to it. > 7) As j-b said, it's his fault. :) Yep. Only people doing nothing don't make mistakes. > Including flowplayer, and jquery > will also increase the overhead of the patch. :( I am also not a fan > of mandatory internet access. See above. > I guess for now, disregard this patch until I address the above > issues. I will send another update once complete. Great. Thanks a lot for this work. Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From jb at videolan.org Wed Jun 15 17:50:36 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Wed, 15 Jun 2011 17:50:36 +0200 Subject: [vlc-devel] VLC 1.1.10 produces strong audio noise while playing DV1 (iavs) In-Reply-To: References: Message-ID: <20110615155036.GA24871@videolan.org> On Wed, Jun 15, 2011 at 06:25:49PM +0300, Victor Koretsky wrote : > latest VLC produces terrible noise while playing back DV1 (iavs); however, > DV2 are played back normally. https://trac.videolan.org/vlc/ http://streams.videolan.org/upload/ Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From kaarlo.raiha at gmail.com Wed Jun 15 18:43:29 2011 From: kaarlo.raiha at gmail.com (=?ISO-8859-1?B?S2FhcmxvIFLkaWjk?=) Date: Wed, 15 Jun 2011 19:43:29 +0300 Subject: [vlc-devel] VLC 1.1.10 produces strong audio noise while playing DV1 (iavs) In-Reply-To: <20110615155036.GA24871@videolan.org> References: <20110615155036.GA24871@videolan.org> Message-ID: 2011/6/15 Jean-Baptiste Kempf > On Wed, Jun 15, 2011 at 06:25:49PM +0300, Victor Koretsky wrote : > > latest VLC produces terrible noise while playing back DV1 (iavs); > however, > > DV2 are played back normally. > > https://trac.videolan.org/vlc/ > http://streams.videolan.org/upload/ > > Best Regards, > Or share a sample file and I can open ticket during weekend. > > -- > Jean-Baptiste Kempf > http://www.jbkempf.com/ - +33 672 704 734 > Sent from my Electronic Device > _______________________________________________ > vlc-devel mailing list > To unsubscribe or modify your subscription options: > http://mailman.videolan.org/listinfo/vlc-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From rob at hobbyistsoftware.com Wed Jun 15 20:22:03 2011 From: rob at hobbyistsoftware.com (Rob) Date: Wed, 15 Jun 2011 19:22:03 +0100 Subject: [vlc-devel] LUA HTTP interface - json? In-Reply-To: <201106151423.01760.fcvlcdev@free.fr> References: <20110614170810.58483v87mc9nhb5m@webmail.thebrooksfamilyonline.com> <20110615094932.GA21332@videolan.org> <201106151423.01760.fcvlcdev@free.fr> Message-ID: while we're on the subject of the Http interface, is anyone wedded to the use of xml for the return info? I was thinking that I might add status.json and playlist.json as an additional way of getting info (keeping status.xml for backwards compatibility). That would obviously return data in json format. Using the json in the web interface should simplify things a bit too. No need to do the whole node dance to get info out of the response... thoughts? Rob On Wed, 15 Jun 2011 13:23:01 +0100, Francois Cartegnie wrote: > Le mercredi 15 juin 2011, Jean-Baptiste Kempf a ?crit : >> > >> > Some people do use VLC in "walled garden" networks. >> >> 100% my fault. > > I think i saw something on irc about large lines, git and compressed > jquery. > > Consider adding: > share/lua/http/*query*.js -diff > in .git/info/attributes then. > > Francois > _______________________________________________ > vlc-devel mailing list > To unsubscribe or modify your subscription options: > http://mailman.videolan.org/listinfo/vlc-devel From jb at videolan.org Wed Jun 15 23:00:29 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Wed, 15 Jun 2011 23:00:29 +0200 Subject: [vlc-devel] LUA HTTP interface - json? In-Reply-To: References: <20110614170810.58483v87mc9nhb5m@webmail.thebrooksfamilyonline.com> <20110615094932.GA21332@videolan.org> <201106151423.01760.fcvlcdev@free.fr> Message-ID: <20110615210029.GA17356@videolan.org> On Wed, Jun 15, 2011 at 07:22:03PM +0100, Rob wrote : > while we're on the subject of the Http interface, is anyone wedded > to the use of xml for the return info? > > I was thinking that I might add status.json and playlist.json as an > additional way of getting info (keeping status.xml for backwards > compatibility). > > That would obviously return data in json format. Using the json in > the web interface should simplify things a bit too. No need to do > the whole node dance to get info out of the response... > > thoughts? Thought? Good idea. Very good idea if that is in ADDITION to xml, and not a replacement. I think it would fit also in the GSoC. Let's see with your student, then. Best Regards, PS: please stop top-posting, this is annoying. -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From jb at videolan.org Wed Jun 15 23:14:48 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Wed, 15 Jun 2011 23:14:48 +0200 Subject: [vlc-devel] [vlc-commits] INSTALL.win32: clarify In-Reply-To: <20110615211300.2395C140BD0@albiero.videolan.org> References: <20110615211300.2395C140BD0@albiero.videolan.org> Message-ID: <20110615211448.GA20513@videolan.org> On Wed, Jun 15, 2011 at 11:13:00PM +0200, Rafa?l Carr? wrote : > vlc | branch: master | Rafa?l Carr? | Tue Jun 14 22:04:21 2011 -0400| [1852b7e190dc6144324b4dd6b15649d807a78a26] | committer: Rafa?l Carr? > > INSTALL.win32: clarify > > Explain why we prefer to build under GNU/Linux > Remove completely mention of Visual Studio, it 'will not work' anyway > Use of Cygwin is discouraged Sure, but why the hell do we even need this file? Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From remi at remlab.net Thu Jun 16 08:36:03 2011 From: remi at remlab.net (=?UTF-8?Q?R=C3=A9mi_Denis-Courmont?=) Date: Thu, 16 Jun 2011 08:36:03 +0200 Subject: [vlc-devel] [vlc-commits] cli.lua: handles ^D in the console (rvlc) In-Reply-To: <20110615211302.ABB5E140CF0@albiero.videolan.org> References: <20110615211302.ABB5E140CF0@albiero.videolan.org> Message-ID: <8c5fd0f6bd8dbaf39f0783186da13afb@chewa.net> On Wed, 15 Jun 2011 23:13:02 +0200 (CEST), git at videolan.org (Rafa?l Carr?) wrote: > vlc | branch: master | Rafa?l Carr? | Tue Jun 14 > 23:55:16 2011 -0400| [2e3c00054e92207ff3c59cc1af763a0e0fa557a5] | > committer: Rafa?l Carr? > > cli.lua: handles ^D in the console (rvlc) Ctrl+D results in a zero-length read if your console is configured correctly. And on Windows, Ctrl+Z, not Ctrl+D is used for EOF. I don't see the point of this at all. -- R?mi Denis-Courmont http://www.remlab.net/ From geo.couprie at gmail.com Thu Jun 16 14:11:28 2011 From: geo.couprie at gmail.com (Geoffroy Couprie) Date: Thu, 16 Jun 2011 14:11:28 +0200 Subject: [vlc-devel] [vlc-commits] INSTALL.win32: clarify In-Reply-To: <20110615211300.2395C140BD0@albiero.videolan.org> References: <20110615211300.2395C140BD0@albiero.videolan.org> Message-ID: Hello, On Wed, Jun 15, 2011 at 11:13 PM, Rafa?l Carr? wrote: > vlc | branch: master | Rafa?l Carr? | Tue Jun 14 22:04:21 2011 -0400| [1852b7e190dc6144324b4dd6b15649d807a78a26] | committer: Rafa?l Carr? > > INSTALL.win32: clarify > > Explain why we prefer to build under GNU/Linux > Remove completely mention of Visual Studio, it 'will not work' anyway > Use of Cygwin is discouraged > >> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=1852b7e190dc6144324b4dd6b15649d807a78a26 > --- > > ?INSTALL.win32 | ? 13 ++++++------- > ?1 files changed, 6 insertions(+), 7 deletions(-) > > diff --git a/INSTALL.win32 b/INSTALL.win32 > index ff8050f..d8f83f1 100644 > --- a/INSTALL.win32 > +++ b/INSTALL.win32 > @@ -24,21 +24,20 @@ Building VLC from the source code > ?If you want to build VLC from sources, you can do it in several ways: > > ?- On GNU/Linux, using the mingw32 cross-compiler. > - ?This method is preferred over all the others. > + ?This is the preferred method, as this is the one used by VideoLAN to > + ?build the official Windows binaries. > > ?- natively on Windows, using MSYS+MINGW (www.mingw.org) > ? (MSYS is a minimal build environment to compile Unixish projects under > ? windows. It provides all the common Unix tools like sh, gmake...) AFAIK, MSYS still works. But support is another matter. From jb at videolan.org Thu Jun 16 14:40:21 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Thu, 16 Jun 2011 14:40:21 +0200 Subject: [vlc-devel] [vlc-commits] INSTALL.win32: clarify In-Reply-To: References: <20110615211300.2395C140BD0@albiero.videolan.org> Message-ID: <20110616124021.GA29943@videolan.org> > AFAIK, MSYS still works. But support is another matter. It works quite well, if you are able to read ALL the steps of the wiki... Or download my SDK. And integration with QtCreator works too. Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From brandon at thebrooksfamilyonline.com Thu Jun 16 00:09:40 2011 From: brandon at thebrooksfamilyonline.com (brandon at thebrooksfamilyonline.com) Date: Wed, 15 Jun 2011 18:09:40 -0400 Subject: [vlc-devel] [PATCH 2/2] new LUA HTTP Interface Part 2 of 2 Message-ID: <20110615180940.21142hv4y05rw1b8@webmail.thebrooksfamilyonline.com> This is part 2 of the new LUA HTTP Interface. I apologize for the size of these patches, but since this is a complete replacement of the existing HTTP interface, it is somewhat unavoidable. This patch removes the existing interface and replaces it with a cleaner more user-friendly interface. Please see the previous thread: http://mailman.videolan.org/pipermail/vlc-devel/2011-June/080717.html For screen shots visit: http://www.archmageinc.com/vlc -------------- next part -------------- A non-text attachment was scrubbed... Name: 0002-new-LUA-HTTP-Interface-Part-2.patch Type: text/x-patch Size: 49554 bytes Desc: not available URL: From elminster2031 at archmageinc.com Thu Jun 16 00:08:42 2011 From: elminster2031 at archmageinc.com (Elminster2031) Date: Wed, 15 Jun 2011 18:08:42 -0400 Subject: [vlc-devel] [PATCH 1/2] new LUA HTTP Interface Part 1 of 2 Message-ID: <20110615180842.11473vynq7mt2i5m@webmail.thebrooksfamilyonline.com> This is part 1 of the new LUA HTTP Interface. This patch includes new files used as part of the jQuery interface. jsQuery, jQuery, and jsTree are included to prevent 'manditory' internet access. Flowplayer will remain CDN. I apologize for the size of these patches, but since this is a complete replacement of the existing HTTP interface, it is somewhat unavoidable. Please see the previous thread: http://mailman.videolan.org/pipermail/vlc-devel/2011-June/080717.html -------------- next part -------------- A non-text attachment was scrubbed... Name: 0001-new-LUA-HTTP-Interface-Part-1.patch Type: text/x-patch Size: 641788 bytes Desc: not available URL: From dergraf1997 at googlemail.com Thu Jun 16 15:34:08 2011 From: dergraf1997 at googlemail.com (Fabian M.) Date: Thu, 16 Jun 2011 15:34:08 +0200 Subject: [vlc-devel] Question about VLC Message-ID: <4DFA0650.40906@gmail.com> Hi programmers from all over the world. I have a question about VLC media player. First of all, I have to say VLC is great software and it is my only and favorite media player. So now to my question: I'm a Windows 7 64-Bit user. VLC is available as 32-Bit version. But how about a 64-Bit build? Thank you for reading. Greets, Fabian M. From pvanthof at xs4all.nl Thu Jun 16 16:06:43 2011 From: pvanthof at xs4all.nl (Pieter van 't Hof) Date: Thu, 16 Jun 2011 16:06:43 +0200 Subject: [vlc-devel] Question about VLC Message-ID: <056ouedo9i6briw73styerxd.1308233203617@email.android.com> Please let me answer that question with another question: Why would jou nee a 64 bit mediaplayer? "Fabian M." wrote: >Hi programmers from all over the world. I have a question about VLC >media player. First of all, I have to say VLC is great software and it >is my only and favorite media player. So now to my question: I'm a >Windows 7 64-Bit user. VLC is available as 32-Bit version. But how about >a 64-Bit build? > >Thank you for reading. > >Greets, Fabian M. > >_______________________________________________ >vlc-devel mailing list >To unsubscribe or modify your subscription options: >http://mailman.videolan.org/listinfo/vlc-devel From juha.jeronen at jyu.fi Thu Jun 16 16:10:32 2011 From: juha.jeronen at jyu.fi (Juha Jeronen) Date: Thu, 16 Jun 2011 17:10:32 +0300 Subject: [vlc-devel] [PATCH 2/2] new LUA HTTP Interface Part 2 of 2 In-Reply-To: <20110615180940.21142hv4y05rw1b8@webmail.thebrooksfamilyonline.com> References: <20110615180940.21142hv4y05rw1b8@webmail.thebrooksfamilyonline.com> Message-ID: <4DFA0ED8.1080807@jyu.fi> On 06/16/2011 01:09 AM, brandon at thebrooksfamilyonline.com wrote: > This is part 2 of the new LUA HTTP Interface. [...snip...] > For screen shots visit: > > http://www.archmageinc.com/vlc Wow. Just... wow. This looks *really* cool. One technical question: I noticed a "deinterlace" checkbox in one of the screenshots. Is there an option to choose the deinterlacer mode if you select it? True interlaced, and NTSC telecined, streams require different modes for correct deinterlacing, and the same user may have both kinds of streams. Now that we have IVTC in 1.2, a choice for this is needed. For a short explanation and links, see http://wiki.videolan.org/Deinterlacing Probably the simplest way to do this UI-wise would be one more combobox, which becomes enabled when the Deinterlace checkbox is checked. The mode chosen in the VLC configuration (if it's possible to query for it) could be pre-selected in the combobox by default when the Stream Creator opens. This is of course just a suggestion as to how I would do it :) -J (P.S. Still alive, and still busy with RealLife (TM) (R) (pat. pend.). I intend to get back to hacking VLC as soon as my schedule allows :) ) From remi at remlab.net Thu Jun 16 16:31:30 2011 From: remi at remlab.net (=?iso-8859-1?q?R=E9mi?= Denis-Courmont) Date: Thu, 16 Jun 2011 17:31:30 +0300 Subject: [vlc-devel] Question about VLC In-Reply-To: <4DFA0650.40906@gmail.com> References: <4DFA0650.40906@gmail.com> Message-ID: <201106161731.30849.remi@remlab.net> Le jeudi 16 juin 2011 16:34:08 Fabian M., vous avez ?crit : > Hi programmers from all over the world. I have a question about VLC > media player. First of all, I have to say VLC is great software and it > is my only and favorite media player. So now to my question: I'm a > Windows 7 64-Bit user. VLC is available as 32-Bit version. But how about > a 64-Bit build? You can build VLC for Win64 if you want. However, the UI framework used by VLC is not currently available for Win64. We don't want to deliver VLC without UI. -- R?mi Denis-Courmont http://www.remlab.net/ http://fi.linkedin.com/in/remidenis From jb at videolan.org Thu Jun 16 16:37:00 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Thu, 16 Jun 2011 16:37:00 +0200 Subject: [vlc-devel] Question about VLC In-Reply-To: <056ouedo9i6briw73styerxd.1308233203617@email.android.com> References: <056ouedo9i6briw73styerxd.1308233203617@email.android.com> Message-ID: <20110616143700.GA12825@videolan.org> On Thu, Jun 16, 2011 at 04:06:43PM +0200, Pieter van 't Hof wrote : > Please let me answer that question with another question: Why would jou nee a 64 bit mediaplayer? Let me see... - mtime_t is native registry size, - more registers to speed-up decoding. Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From jb at videolan.org Thu Jun 16 16:38:33 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Thu, 16 Jun 2011 16:38:33 +0200 Subject: [vlc-devel] [PATCH 2/2] new LUA HTTP Interface Part 2 of 2 In-Reply-To: <4DFA0ED8.1080807@jyu.fi> References: <20110615180940.21142hv4y05rw1b8@webmail.thebrooksfamilyonline.com> <4DFA0ED8.1080807@jyu.fi> Message-ID: <20110616143833.GB12825@videolan.org> On Thu, Jun 16, 2011 at 05:10:32PM +0300, Juha Jeronen wrote : > > For screen shots visit: > > > > http://www.archmageinc.com/vlc > > Wow. Just... wow. This looks *really* cool. Agreed... > One technical question: I noticed a "deinterlace" checkbox in one of the > [snip] > opens. This is of course just a suggestion as to how I would do it :) Good idea, but maybe not necessary in the first merge. > (P.S. Still alive, and still busy with RealLife (TM) (R) (pat. pend.). I > intend to get back to hacking VLC as soon as my schedule allows :) ) You can have a patent on that? I have prior art! Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From juha.jeronen at jyu.fi Thu Jun 16 17:04:53 2011 From: juha.jeronen at jyu.fi (Juha Jeronen) Date: Thu, 16 Jun 2011 18:04:53 +0300 Subject: [vlc-devel] [PATCH 2/2] new LUA HTTP Interface Part 2 of 2 In-Reply-To: <20110616143833.GB12825@videolan.org> References: <20110615180940.21142hv4y05rw1b8@webmail.thebrooksfamilyonline.com> <4DFA0ED8.1080807@jyu.fi> <20110616143833.GB12825@videolan.org> Message-ID: <4DFA1B95.60306@jyu.fi> On 06/16/2011 05:38 PM, Jean-Baptiste Kempf wrote: > On Thu, Jun 16, 2011 at 05:10:32PM +0300, Juha Jeronen wrote : >> One technical question: I noticed a "deinterlace" checkbox in one of the >> [snip] >> opens. This is of course just a suggestion as to how I would do it :) > Good idea, but maybe not necessary in the first merge. Mm, yes. The current version already looks very promising :) >> (P.S. Still alive, and still busy with RealLife (TM) (R) (pat. pend.). I >> intend to get back to hacking VLC as soon as my schedule allows :) ) > You can have a patent on that? I have prior art! :P -J From pvanthof at xs4all.nl Thu Jun 16 19:04:55 2011 From: pvanthof at xs4all.nl (Pieter van 't Hof) Date: Thu, 16 Jun 2011 19:04:55 +0200 Subject: [vlc-devel] Question about VLC Message-ID: 32 bit mtime_t is no problem until 2038 ;) However, the statement for more registers looks pretty solid :) Jean-Baptiste Kempf wrote: >On Thu, Jun 16, 2011 at 04:06:43PM +0200, Pieter van 't Hof wrote : >> Please let me answer that question with another question: Why would jou nee a 64 bit mediaplayer? > >Let me see... > - mtime_t is native registry size, > - more registers to speed-up decoding. > >Best Regards, > >-- >Jean-Baptiste Kempf >http://www.jbkempf.com/ - +33 672 704 734 >Sent from my Electronic Device >_______________________________________________ >vlc-devel mailing list >To unsubscribe or modify your subscription options: >http://mailman.videolan.org/listinfo/vlc-devel From remi at remlab.net Thu Jun 16 19:10:14 2011 From: remi at remlab.net (=?iso-8859-1?q?R=E9mi?= Denis-Courmont) Date: Thu, 16 Jun 2011 20:10:14 +0300 Subject: [vlc-devel] Question about VLC In-Reply-To: References: Message-ID: <201106162010.14383.remi@remlab.net> Le jeudi 16 juin 2011 20:04:55 Pieter van 't Hof, vous avez ?crit : > 32 bit mtime_t is no problem until 2038 ;) I don't know about you, but I like to be able to use VLC over 1 hour, 11 minutes and 34 seconds from the computer boot time. -- R?mi Denis-Courmont http://www.remlab.net/ http://fi.linkedin.com/in/remidenis From fcvlcdev at free.fr Thu Jun 16 20:14:33 2011 From: fcvlcdev at free.fr (Francois Cartegnie) Date: Thu, 16 Jun 2011 20:14:33 +0200 Subject: [vlc-devel] =?utf-8?q?=5Bvlc-commits=5D_OpenGL=3A_fix_compilation?= =?utf-8?q?_/_missing=09glXGetProcAddressARB?= In-Reply-To: <201106132238.14923.remi@remlab.net> References: <20110612153956.7842413CA58@albiero.videolan.org> <201106132130.22692.fcvlcdev@free.fr> <201106132238.14923.remi@remlab.net> Message-ID: <201106162014.34096.fcvlcdev@free.fr> Le lundi 13 juin 2011, vous avez ?crit : > We don't use anywhere, only Once this said, no reason for me to suspect the other header. Checkpointing the includes showed it was behaving nonsense, where a single glx.h include was still not defining the function. It was finally a broken build system from broken updates... Sorry for the noise. Francois From fcvlcdev at free.fr Thu Jun 16 20:52:01 2011 From: fcvlcdev at free.fr (Francois Cartegnie) Date: Thu, 16 Jun 2011 20:52:01 +0200 Subject: [vlc-devel] [PATCH 2/2] new LUA HTTP Interface Part 2 of 2 In-Reply-To: <20110615180940.21142hv4y05rw1b8@webmail.thebrooksfamilyonline.com> References: <20110615180940.21142hv4y05rw1b8@webmail.thebrooksfamilyonline.com> Message-ID: <201106162052.01177.fcvlcdev@free.fr> Le jeudi 16 juin 2011, vous avez ?crit : > This is part 2 of the new LUA HTTP Interface. I apologize for the size of > these patches, but since this is a complete replacement of the existing > HTTP interface, it is somewhat unavoidable. This patch removes the > existing interface and replaces it with a cleaner more user-friendly > interface. Testing your patches. You could have included the minified JQuery files: See my previous message to avoid git complaining about large lines. Here's few things that will need to be fixed: - Not validating XHTML. A min of 23 errors on main page. - Units are missing on Offsets dialog - need to apply a vertical-align:top on tds (create stream dialog) - set table width to 100% (create stream) - 'Open' Stream Button -> 'Create' Stream (???) - Media Browser needs to start with a height (in case of large number of dirs) - Media Browser needs clickable links of the same color as other dialogs - Media Browser shouldn't need a double click, or if it allows multiple selection, must toggle the style of selected items - Audio slider is not really working - You should not use the same color as Title Bars for SlideBars. - Playlist should only show filenames (display full path as tooltip) What's the test results with other browsers ? Francois From mehrotra.akash at gmail.com Thu Jun 16 23:13:43 2011 From: mehrotra.akash at gmail.com (akash mehrotra) Date: Fri, 17 Jun 2011 02:43:43 +0530 Subject: [vlc-devel] "equalizer-bands" corrupt/truncated occasionally Message-ID: I'm trying to access the equalizer from the luahttp interface as a part of my GSoC project. For this, I'm accessing the equalizer-bands string and parsing the gain values from that string in the interface code. However, the string is corrupted/truncated sometimes when the equalizer is modified using the Qt interface. The linked screen shot ( http://i.imgur.com/qeCT7.png )displays the string and its hex value when the string is modified through the Qt interface (from extended_panels.cpp) I'm using this code to print the string(the part indented to the extreme left is the code I added for printing out the string) from modules/gui/qt4/components/extended_panels.cpp : void Equalizer::setCoreBands() { /**\todo smoothing */ QString values; for( int i = 0; i < BANDS; i++ ) { const float f_val = (float)( bands[i]->value() ) / 10 - 20; QString val = QString("%1").arg( f_val, 5, 'f', 1 ); printf("%d\n",bands[i]->value()/10-20); band_texts[i]->setText( band_frequencies[i] + "\n" + val + "dB" ); values += " " + val; } const char *psz_values = values.toAscii().constData(); aout_instance_t *p_aout = THEMIM->getAout(); if( p_aout ) { //delCallbacks( p_aout ); var_SetString( p_aout, "equalizer-bands", psz_values ); int i=0; while(psz_values[i]!='\0' && i<=100) printf("%02x",psz_values[i++]); printf("\n%s\n",psz_values); //addCallbacks( p_aout ); vlc_object_release( p_aout ); } } Is this fixable, or should I workaround this assuming that the values of the last 3 bands may not always be available. -------------- next part -------------- An HTML attachment was scrubbed... URL: From elminster2031 at archmageinc.com Thu Jun 16 23:16:23 2011 From: elminster2031 at archmageinc.com (Elminster2031) Date: Thu, 16 Jun 2011 17:16:23 -0400 Subject: [vlc-devel] [PATCH 2/2] new LUA HTTP Interface Part 2 of 2 Message-ID: <20110616171623.18907dr8467osp7r@webmail.thebrooksfamilyonline.com> 1) I only show 4 errors, but non-the-less it should be changed 2) Units is a great idea! - in part 3 3) Picky picky - vertical align in part 3 4) 100% width - in part 3 5) Yes the 'open stream' is designed for one click streaming for user friendliness 6) Browser max height: 600 - in part 3 7) Ah yes, this is actually jQuery themes lack of ui-selected css definition, Manual colors would make it less them-able, I'll wait until I or someone else has a better solution. 8) see number 7, the style is toggled, though there is no ui-selected css def. 9) 'Audio slider is not really working' needs more explanation. What audio slider? 'Audio Delay'? 10) Talk to jQuery UI about their color definitions. If you don't like it, use another theme. 11) The playlist loads with the media library and is an output from playlist.xml, if it displays wrong, it isn't coming out of the xml right. I have tested with FF: 4.0.1, GC: 12.0.742.100, IE 9.0 -------------- next part -------------- A non-text attachment was scrubbed... Name: 0003-New-LUA-HTTP-Interface-Part-3-of-3.patch Type: text/x-patch Size: 13305 bytes Desc: not available URL: From xtophe at chewa.net Fri Jun 17 00:08:11 2011 From: xtophe at chewa.net (Christophe Mutricy) Date: Fri, 17 Jun 2011 00:08:11 +0200 Subject: [vlc-devel] Urdu translation In-Reply-To: References: Message-ID: <20110616220811.GU12275@chewa.net> On Fri, Jun 10, 11 at 13:01 +0500, asad ali wrote: > Vlc- player is not in URDU language. i would like to translate it to my > local (URDU) language. i aim to do with POEDIT1.4.6 so, i need localization > file, as your site reffered me. http://people.videolan.org/~xtophe/l10n/ur.po Make sure to use UTF-8 as encoding. When you have done some progress, put the file online and send the link to the mailing-list. Thanks -- Xtophe From mehrotra.akash at gmail.com Fri Jun 17 00:13:44 2011 From: mehrotra.akash at gmail.com (akash mehrotra) Date: Fri, 17 Jun 2011 03:43:44 +0530 Subject: [vlc-devel] "equalizer-bands" corrupt/truncated occasionally In-Reply-To: References: Message-ID: Adding on to the previous mail, replacing the code in the for loop with the following also causes the corruption: for( int i = 0; i < BANDS; i++ ) { const float f_val = 2; QString val = QString("%1").arg( f_val, 5, 'f', 1 ); values += " " + val; } const char *psz_values = values.toAscii().constData(); http://i.imgur.com/gD8dc.png -- the 2nd string is still corrupted On Fri, Jun 17, 2011 at 2:43 AM, akash mehrotra wrote: > I'm trying to access the equalizer from the luahttp interface as a part of > my GSoC project. > For this, I'm accessing the equalizer-bands string and parsing the gain > values from that string in the interface code. > > However, the string is corrupted/truncated sometimes when the equalizer is > modified using the Qt interface. > The linked screen shot ( http://i.imgur.com/qeCT7.png )displays the string > and its hex value when the string is modified through the Qt interface (from > extended_panels.cpp) > > I'm using this code to print the string(the part indented to the extreme > left is the code I added for printing out the string) from > modules/gui/qt4/components/extended_panels.cpp : > > void Equalizer::setCoreBands() > { > /**\todo smoothing */ > > QString values; > for( int i = 0; i < BANDS; i++ ) > { > const float f_val = (float)( bands[i]->value() ) / 10 - 20; > QString val = QString("%1").arg( f_val, 5, 'f', 1 ); > printf("%d\n",bands[i]->value()/10-20); > band_texts[i]->setText( band_frequencies[i] + "\n" + val + "dB" ); > values += " " + val; > } > const char *psz_values = values.toAscii().constData(); > > aout_instance_t *p_aout = THEMIM->getAout(); > if( p_aout ) > { > //delCallbacks( p_aout ); > var_SetString( p_aout, "equalizer-bands", psz_values ); > int i=0; > while(psz_values[i]!='\0' && i<=100) > printf("%02x",psz_values[i++]); > printf("\n%s\n",psz_values); > //addCallbacks( p_aout ); > vlc_object_release( p_aout ); > } > } > > > > > Is this fixable, or should I workaround this assuming that the values of > the last 3 bands may not always be available. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From xtophe at chewa.net Fri Jun 17 00:48:52 2011 From: xtophe at chewa.net (Christophe Mutricy) Date: Fri, 17 Jun 2011 00:48:52 +0200 Subject: [vlc-devel] Serbian translation update In-Reply-To: References: Message-ID: <20110616224852.GV12275@chewa.net> Hello, On Tue, Jun 07, 11 at 23:32 +0200, Predrag Ljubenovi? wrote: > > Here is update of Serbian translation for VLC media player > > first is from extras/package/win32/languages/serbian.nsh Comitted > second is from po/serbian.po A bit confused with this one. Did you refresh your sr.po with the sr.po or vlc.pot from git at some point ? If yes, when and with which file from which git. The good answer would be http://git.videolan.org/?p=vlc/vlc-1.1.git I'm asking because it seems that the number of translated strings has diminished from 3086 to 2958 with your new version. -- Xtophe From fcvlcdev at free.fr Fri Jun 17 01:13:03 2011 From: fcvlcdev at free.fr (Francois Cartegnie) Date: Fri, 17 Jun 2011 01:13:03 +0200 Subject: [vlc-devel] new LUA HTTP Interface Part 3 In-Reply-To: <20110616171623.18907dr8467osp7r@webmail.thebrooksfamilyonline.com> References: <20110616171623.18907dr8467osp7r@webmail.thebrooksfamilyonline.com> Message-ID: <201106170113.03213.fcvlcdev@free.fr> Le jeudi 16 juin 2011, Elminster2031 a ?crit : Please reply inline (quoting). Referring by number to unnumbered bullets in another mail is really not friendly. > 1) I only show 4 errors, but non-the-less it should be changed http://validator.w3.org doesn't say the same > 3) Picky picky - vertical align in part 3 Not picky. When you reduce sizes, everything becomes unaligned. You already had the good idea to align labels to the right side. > 5) Yes the 'open stream' is designed for one click streaming for user > friendliness The name must reflect the usage. > 6) Browser max height: 600 - in part 3 Would be better to set it dynamically to browser's height. Anyway, the current limit isn't working (only works when using the resize handle). You need to force the widget to recompute size. > 7) Ah yes, this is actually jQuery themes lack of ui-selected css > definition, Manual colors would make it less them-able, I'll wait > until I or someone else has a better solution. .ui-selectee { color: #1C94C4; } > 8) see number 7, the style is toggled, though there is no ui-selected css > def. .ui-selected { background-color: #1C94C4; } .ui-selected div { color: #000; } > 9) 'Audio slider is not really working' needs more explanation. What > audio slider? 'Audio Delay'? Drag or click, the volume always goes back to the previous value. > 10) Talk to jQuery UI about their color definitions. If you don't like > it, use another theme. .ui-slider-range { background-color: #000; } > 11) The playlist loads with the media library and is an output from > playlist.xml, if it displays wrong, it isn't coming out of the xml > right. You're building an UI, not printing raw data. Think about people with long and/or many subdirs. Just suppress anything before the last '/' for the item entry and keep the link as is. > I have tested with FF: 4.0.1, GC: 12.0.742.100, IE 9.0 We need tests with some more buggier (IE <<) and some more pickier (webkit based). "1.2.0-git Twoflower - Lua Web Interface - Copyright ? 1996-2011 the VideoLAN team " What about adding a link to a new Wiki Web Page dedicated to this new interface ? (will put online help there) Francois From elminster2031 at archmageinc.com Fri Jun 17 04:35:50 2011 From: elminster2031 at archmageinc.com (Elminster2031) Date: Thu, 16 Jun 2011 22:35:50 -0400 Subject: [vlc-devel] new LUA HTTP Interface Part 3 In-Reply-To: <201106170113.03213.fcvlcdev@free.fr> References: <20110616171623.18907dr8467osp7r@webmail.thebrooksfamilyonline.com> <201106170113.03213.fcvlcdev@free.fr> Message-ID: <20110616223550.432637ka4q6vfnuu@webmail.thebrooksfamilyonline.com> > Please reply inline (quoting). Referring by number to unnumbered bullets in > another mail is really not friendly. I apologize as I am still familiarizing myself with posting here >> 1) I only show 4 errors, but non-the-less it should be changed > http://validator.w3.org doesn't say the same That's where I went and only showed four errors, never-the-less it was changed >> 3) Picky picky - vertical align in part 3 > Not picky. When you reduce sizes, everything becomes unaligned. > You already had the good idea to align labels to the right side. It was sarcasm >> 5) Yes the 'open stream' is designed for one click streaming for user >> friendliness > > The name must reflect the usage. What do you recommend? >> 6) Browser max height: 600 - in part 3 > > Would be better to set it dynamically to browser's height. > Anyway, the current limit isn't working (only works when using the resize > handle). You need to force the widget to recompute size. maxHeight: 600 in patch 3 should have fixed it. It shouldn't have a static height. >> 7) Ah yes, this is actually jQuery themes lack of ui-selected css >> definition, Manual colors would make it less them-able, I'll wait >> until I or someone else has a better solution. > > .ui-selectee { color: #1C94C4; } By manually using a color, it adds user complexity when changing themes. >> 8) see number 7, the style is toggled, though there is no ui-selected css >> def. > > .ui-selected { background-color: #1C94C4; } > .ui-selected div { color: #000; } Again, manual colors is not theme friendly. >> 9) 'Audio slider is not really working' needs more explanation. What >> audio slider? 'Audio Delay'? > > Drag or click, the volume always goes back to the previous value. I do not experience this problem in any of my environments. Do you see it send the command? Does the library reload? >> 10) Talk to jQuery UI about their color definitions. If you don't like >> it, use another theme. > > .ui-slider-range { background-color: #000; } Again, manual colors. >> 11) The playlist loads with the media library and is an output from >> playlist.xml, if it displays wrong, it isn't coming out of the xml >> right. > > You're building an UI, not printing raw data. > Think about people with long and/or many subdirs. > Just suppress anything before the last '/' for the item entry and keep the > link as is. My point is the xml output should be standardized. The UI should not have to process pre-processed information. >> I have tested with FF: 4.0.1, GC: 12.0.742.100, IE 9.0 > > We need tests with some more buggier (IE <<) and some more pickier (webkit > based). Be my guest. > "1.2.0-git Twoflower - Lua Web Interface - Copyright ? 1996-2011 the VideoLAN > team " > What about adding a link to a new Wiki Web Page dedicated to this new > interface ? (will put online help there) What new wiki? With as many times as these patches have come back to me, I really don't know if it will ever make it into the release. -Brandon From kaarlo.raiha at gmail.com Fri Jun 17 07:01:58 2011 From: kaarlo.raiha at gmail.com (=?ISO-8859-1?B?S2FhcmxvIFLkaWjk?=) Date: Fri, 17 Jun 2011 08:01:58 +0300 Subject: [vlc-devel] [PATCH 2/2] new LUA HTTP Interface Part 2 of 2 In-Reply-To: <201106162052.01177.fcvlcdev@free.fr> References: <20110615180940.21142hv4y05rw1b8@webmail.thebrooksfamilyonline.com> <201106162052.01177.fcvlcdev@free.fr> Message-ID: 2011/6/16 Francois Cartegnie > Le jeudi 16 juin 2011, vous avez ?crit : > > This is part 2 of the new LUA HTTP Interface. I apologize for the size of > > these patches, but since this is a complete replacement of the existing > > HTTP interface, it is somewhat unavoidable. This patch removes the > > existing interface and replaces it with a cleaner more user-friendly > > interface. > > Testing your patches. > > You could have included the minified JQuery files: See my previous message > to > avoid git complaining about large lines. > IMHO it is better to have non-minified Javascript when they are shared like this - Installers are compressed (so the size difference shouldn't be big) - It is easier to debug - Possible patches are easier for eye > > Here's few things that will need to be fixed: > > - Not validating XHTML. A min of 23 errors on main page. > - Units are missing on Offsets dialog > - need to apply a vertical-align:top on tds (create stream dialog) > - set table width to 100% (create stream) > - 'Open' Stream Button -> 'Create' Stream (???) > - Media Browser needs to start with a height (in case of large number of > dirs) > - Media Browser needs clickable links of the same color as other dialogs > - Media Browser shouldn't need a double click, or if it allows multiple > selection, must toggle the style of selected items > - Audio slider is not really working > - You should not use the same color as Title Bars for SlideBars. > - Playlist should only show filenames (display full path as tooltip) > > What's the test results with other browsers ? > > Francois > _______________________________________________ > vlc-devel mailing list > To unsubscribe or modify your subscription options: > http://mailman.videolan.org/listinfo/vlc-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From remi at remlab.net Fri Jun 17 08:39:26 2011 From: remi at remlab.net (=?UTF-8?Q?R=C3=A9mi_Denis-Courmont?=) Date: Fri, 17 Jun 2011 08:39:26 +0200 Subject: [vlc-devel] "equalizer-bands" corrupt/truncated occasionally In-Reply-To: References: Message-ID: <04e3e404ef2774a381ecd4820413e328@chewa.net> On Fri, 17 Jun 2011 02:43:43 +0530, akash mehrotra wrote: > void Equalizer::setCoreBands() > { > /**\todo smoothing */ > > QString values; > for( int i = 0; i < BANDS; i++ ) > { > const float f_val = (float)( bands[i]->value() ) / 10 - 20; > QString val = QString("%1").arg( f_val, 5, 'f', 1 ); > printf("%d\n",bands[i]->value()/10-20); > band_texts[i]->setText( band_frequencies[i] + "\n" + val + "dB" ); > values += " " + val; I might be wrong, but this line looks suspicious. How about this one? values += qfu(" ") + val; -- R?mi Denis-Courmont http://www.remlab.net/ From jb at videolan.org Fri Jun 17 10:15:51 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Fri, 17 Jun 2011 10:15:51 +0200 Subject: [vlc-devel] Question about VLC In-Reply-To: References: Message-ID: <20110617081551.GA21250@videolan.org> On Thu, Jun 16, 2011 at 07:04:55PM +0200, Pieter van 't Hof wrote : > However, the statement for more registers looks pretty solid :) Well, anyway, Unixes 64bits versions of VLC are working well... LLP64 is the issue... I believe that now, it is just a matter of compilation to have Win64 version of VLC, but it will be long. Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From jb at videolan.org Fri Jun 17 10:30:37 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Fri, 17 Jun 2011 10:30:37 +0200 Subject: [vlc-devel] new LUA HTTP Interface Part 3 In-Reply-To: <20110616223550.432637ka4q6vfnuu@webmail.thebrooksfamilyonline.com> References: <20110616171623.18907dr8467osp7r@webmail.thebrooksfamilyonline.com> <201106170113.03213.fcvlcdev@free.fr> <20110616223550.432637ka4q6vfnuu@webmail.thebrooksfamilyonline.com> Message-ID: <20110617083037.GA23703@videolan.org> On Thu, Jun 16, 2011 at 10:35:50PM -0400, Elminster2031 wrote : > >Please reply inline (quoting). Referring by number to unnumbered bullets in > >another mail is really not friendly. > > I apologize as I am still familiarizing myself with posting here We all learned the hard way. > >>1) I only show 4 errors, but non-the-less it should be changed > >http://validator.w3.org doesn't say the same > > That's where I went and only showed four errors, never-the-less it was changed Great. > >>5) Yes the 'open stream' is designed for one click streaming for user > >>friendliness > > > >The name must reflect the usage. > > What do you recommend? What name ? > By manually using a color, it adds user complexity when changing themes. > Again, manual colors is not theme friendly. > Again, manual colors. Avoid manual things, please... > >>9) 'Audio slider is not really working' needs more explanation. What > >>audio slider? 'Audio Delay'? > > > >Drag or click, the volume always goes back to the previous value. > > I do not experience this problem in any of my environments. Do you > see it send the command? Does the library reload? Worksforme too. > >>11) The playlist loads with the media library and is an output from > >>playlist.xml, if it displays wrong, it isn't coming out of the xml > >>right. > > > >You're building an UI, not printing raw data. > >Think about people with long and/or many subdirs. > >Just suppress anything before the last '/' for the item entry and keep the > >link as is. > > My point is the xml output should be standardized. The UI should not > have to process pre-processed information. This is nitpicking and should be done by a later patch if someones wants. > >>I have tested with FF: 4.0.1, GC: 12.0.742.100, IE 9.0 > > > >We need tests with some more buggier (IE <<) and some more pickier (webkit > >based). > > Be my guest. Clear. Blocking a patch because of broken browsers is just stupid. > >"1.2.0-git Twoflower - Lua Web Interface - Copyright ? 1996-2011 the VideoLAN > >team " > >What about adding a link to a new Wiki Web Page dedicated to this new > >interface ? (will put online help there) Wiki doesn't have anything to do with that patch. > What new wiki? With as many times as these patches have come back to > me, I really don't know if it will ever make it into the release. I know it is frustrating. Is it better than the current intf? I am sure the answer is 100x Yes, so it will be merged quite soon. If people want to nitpick afterwards, they are welcome to send patches. Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From jb at videolan.org Fri Jun 17 10:31:42 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Fri, 17 Jun 2011 10:31:42 +0200 Subject: [vlc-devel] [PATCH 2/2] new LUA HTTP Interface Part 2 of 2 In-Reply-To: References: <20110615180940.21142hv4y05rw1b8@webmail.thebrooksfamilyonline.com> <201106162052.01177.fcvlcdev@free.fr> Message-ID: <20110617083142.GB23703@videolan.org> On Fri, Jun 17, 2011 at 08:01:58AM +0300, Kaarlo R?ih? wrote : > 2011/6/16 Francois Cartegnie > > > Le jeudi 16 juin 2011, vous avez ?crit : > > > This is part 2 of the new LUA HTTP Interface. I apologize for the size of > > > these patches, but since this is a complete replacement of the existing > > > HTTP interface, it is somewhat unavoidable. This patch removes the > > > existing interface and replaces it with a cleaner more user-friendly > > > interface. > > > > Testing your patches. > > > > You could have included the minified JQuery files: See my previous message > > to > > avoid git complaining about large lines. > > > > IMHO it is better to have non-minified Javascript when they are shared like > this > - Installers are compressed (so the size difference shouldn't be big) > - It is easier to debug > - Possible patches are easier for eye Agreed. Best Regards, -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From jb at videolan.org Fri Jun 17 10:32:32 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Fri, 17 Jun 2011 10:32:32 +0200 Subject: [vlc-devel] [PATCH 2/2] new LUA HTTP Interface Part 2 of 2 In-Reply-To: <4DFA1B95.60306@jyu.fi> References: <20110615180940.21142hv4y05rw1b8@webmail.thebrooksfamilyonline.com> <4DFA0ED8.1080807@jyu.fi> <20110616143833.GB12825@videolan.org> <4DFA1B95.60306@jyu.fi> Message-ID: <20110617083232.GC23703@videolan.org> On Thu, Jun 16, 2011 at 06:04:53PM +0300, Juha Jeronen wrote : > On 06/16/2011 05:38 PM, Jean-Baptiste Kempf wrote: > > On Thu, Jun 16, 2011 at 05:10:32PM +0300, Juha Jeronen wrote : > >> One technical question: I noticed a "deinterlace" checkbox in one of the > >> [snip] > >> opens. This is of course just a suggestion as to how I would do it :) > > Good idea, but maybe not necessary in the first merge. > > Mm, yes. The current version already looks very promising :) Agreed. -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From jb at videolan.org Fri Jun 17 10:34:06 2011 From: jb at videolan.org (Jean-Baptiste Kempf) Date: Fri, 17 Jun 2011 10:34:06 +0200 Subject: [vlc-devel] [PATCH 2/2] new LUA HTTP Interface Part 2 of 2 In-Reply-To: <201106162052.01177.fcvlcdev@free.fr> References: <20110615180940.21142hv4y05rw1b8@webmail.thebrooksfamilyonline.com> <201106162052.01177.fcvlcdev@free.fr> Message-ID: <20110617083406.GD23703@videolan.org> On Thu, Jun 16, 2011 at 08:52:01PM +0200, Francois Cartegnie wrote : > You could have included the minified JQuery files: See my previous message to > avoid git complaining about large lines. I disagree. > Here's few things that will need to be fixed: s/will need/would be nice to/ > - Not validating XHTML. A min of 23 errors on main page. > - Units are missing on Offsets dialog > - need to apply a vertical-align:top on tds (create stream dialog) > - set table width to 100% (create stream) > - 'Open' Stream Button -> 'Create' Stream (???) > - Media Browser needs to start with a height (in case of large number of dirs) > - Media Browser needs clickable links of the same color as other dialogs > - Media Browser shouldn't need a double click, or if it allows multiple > selection, must toggle the style of selected items > - Audio slider is not really working > - You should not use the same color as Title Bars for SlideBars. > - Playlist should only show filenames (display full path as tooltip) While some points are valid, some are really nitpicking, sorry. And a lot could be fixed/improved in later small patches. -- Jean-Baptiste Kempf http://www.jbkempf.com/ - +33 672 704 734 Sent from my Electronic Device From juha.jeronen at jyu.fi Fri Jun 17 12:23:31 2011 From: juha.jeronen at jyu.fi (Juha Jeronen) Date: Fri, 17 Jun 2011 13:23:31 +0300 Subject: [vlc-devel] new LUA HTTP Interface Part 3 In-Reply-To: <20110616223550.432637ka4q6vfnuu@webmail.thebrooksfamilyonline.com> References: <20110616171623.18907dr8467osp7r@webmail.thebrooksfamilyonline.com> <201106170113.03213.fcvlcdev@free.fr> <20110616223550.432637ka4q6vfnuu@webmail.thebrooksfamilyonline.com> Message-ID: <4DFB2B23.3070204@jyu.fi> On 06/17/2011 05:35 AM, Elminster2031 wrote: >> "1.2.0-git Twoflower - Lua Web Interface - Copyright ? 1996-2011 the >> VideoLAN >> team " >> What about adding a link to a new Wiki Web Page dedicated to this new >> interface ? (will put online help there) > > What new wiki? Hmm, I parsed that as (new) (Wiki Web Page) instead of (new Wiki) (Web Page). I believe the idea was that a help page could be added somewhere on http://wiki.videolan.org/ and a link added to that in the UI. But maybe it's not critical to have it in the first version. > With as many times as these patches have come back to me, I really > don't know if it will ever make it into the release. Believe me, this is normal :) Especially with big patches, it takes some time and a few reviews to get everything right. It can be frustrating sometimes, but the end result will be good :) -J From mehrotra.akash at gmail.com Fri Jun 17 12:39:08 2011 From: mehrotra.akash at gmail.com (akash mehrotra) Date: Fri, 17 Jun 2011 16:09:08 +0530 Subject: [vlc-devel] "equalizer-bands" corrupt/truncated occasionally In-Reply-To: <04e3e404ef2774a381ecd4820413e328@chewa.net> References: <04e3e404ef2774a381ecd4820413e328@chewa.net> Message-ID: 2011/6/17 R?mi Denis-Courmont > On Fri, 17 Jun 2011 02:43:43 +0530, akash mehrotra > wrote: > > void Equalizer::setCoreBands() > > { > > /**\todo smoothing */ > > > > QString values; > > for( int i = 0; i < BANDS; i++ ) > > { > > const float f_val = (float)( bands[i]->value() ) / 10 - 20; > > QString val = QString("%1").arg( f_val, 5, 'f', 1 ); > > printf("%d\n",bands[i]->value()/10-20); > > band_texts[i]->setText( band_frequencies[i] + "\n" + val + "dB" > ); > > values += " " + val; > > I might be wrong, but this line looks suspicious. How about this one? > values += qfu(" ") + val; > This change doesnt help.. the corruption is still there I'm not very sure, but the corruption seems to be happening in this line: const char *psz_values = values.toAscii().constData(); the length of "values" is correct till just before this, but after conversion, psz_values is often shorter than it should be > > -- > R?mi Denis-Courmont > http://www.remlab.net/ > _______________________________________________ > vlc-devel mailing list > To unsubscribe or modify your subscription options: > http://mailman.videolan.org/listinfo/vlc-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From rob at hobbyistsoftware.com Fri Jun 17 13:12:26 2011 From: rob at hobbyistsoftware.com (Rob) Date: Fri, 17 Jun 2011 12:12:26 +0100 Subject: [vlc-devel] [PATCH] luahttp add .json equivalents for status.xml and playlist.xml Message-ID: these (should) mirror the functionality and output of their xml equivalents shared code has been moved to modules in /lua/modules, so there shouldn't be much extra effort for maintenance. if these look ok, then I'll follow on with more json equivalents for the request pages Rob -------------- next part -------------- A non-text attachment was scrubbed... Name: 0001-added-.json-equivalents-for-status.xml-and-playlist..patch Type: application/octet-stream Size: 20419 bytes Desc: not available URL: From remi at remlab.net Fri Jun 17 13:36:01 2011 From: remi at remlab.net (=?UTF-8?Q?R=C3=A9mi_Denis-Courmont?=) Date: Fri, 17 Jun 2011 13:36:01 +0200 Subject: [vlc-devel] "equalizer-bands" corrupt/truncated occasionally In-Reply-To: References: <04e3e404ef2774a381ecd4820413e328@chewa.net> Message-ID: On Fri, 17 Jun 2011 16:09:08 +0530, akash mehrotra wrote: > I'm not very sure, but the corruption seems to be happening in this line: > const char *psz_values = values.toAscii().constData(); > > the length of "values" is correct till just before this, but after > conversion, psz_values is often shorter than it should be QString::toAscii() creates a temporary anonymous object, which is garbage collected at the end of the statement, is that right? I wrote many times not to assign char pointers to temporary QString's... -- R?mi Denis-Courmont http://www.remlab.net/ From remi at remlab.net Fri Jun 17 14:18:53 2011 From: remi at remlab.net (=?UTF-8?Q?R=C3=A9mi_Denis-Courmont?=) Date: Fri, 17 Jun 2011 14:18:53 +0200 Subject: [vlc-devel] OpenMAX DL: scaling and combined YUV->RGB + scaling In-Reply-To: <20110616180908.8EC1A140E5D@albiero.videolan.org> References: <20110616180908.8EC1A140E5D@albiero.videolan.org> Message-ID: On Thu, 16 Jun 2011 20:09:08 +0200 (CEST), git at videolan.org (R?mi Denis-Courmont) wrote: > vlc | branch: master | R?mi Denis-Courmont | Thu Jun 16 > 21:07:08 2011 +0300| [0cb75804ccbf68db6e08c3899b03d82cbdf96005] | > committer: R?mi Denis-Courmont > > OpenMAX DL: scaling and combined YUV->RGB + scaling ARM Ltd provides C reference, ARM11 assembler and Cortex-A8 assembler implementations. I did not try the assembler versions, and they might require the ARM toolchain. The licensing terms are as follows. I do not know if they are compatible with GPL redistribution, in any version. Evidently, some the requirements are GPL-incompatible restrictions, but it seems like they do not carry over to sub-licensees. Use at your own legal risk. ----8<--------8<--------8<--------8<--------8<--------8<--------8<---- 1. Subject to the provisions of this Agreement, ARM hereby grants to YOU (either an individual or single entity), under ARM's copyright in the Software, a perpetual, non-exclusive, non-transferable, royalty free, worldwide licence to ; (i) use, copy, modify, the Software for the purposes of developing or having developed software applications and; (ii) distribute and sublicense the right to use, copy and modify the software applications to third parties. 2. THE SOFTWARE IS LICENSED "AS IS". ARM EXPRESSLY DISCLAIMS ALL REPRESENTATIONS, AND WARRANTIES EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF SATISFACTORY QUALITY, MERCHANTABILITY, NON-INFRINGMENT OR FITNESS FOR A PARTICULAR PURPOSE. 3. Your use of this Software and the right to redistribute any software applications developed by or for YOU and which are derived from the Software may require you to obtain patent licences from third parties ("Third Party Patents"). ARM therefore requires and YOU hereby agree that prior to exercise of any of the rights to distribute any software applications in accordance with the licences granted under this Agreement, YOU shall have obtained all necessary rights and licences to Third Party Patents, of which YOU are aware of or become aware during the term of this Agreement, to enable YOU to distribute the ARM Software in accordance with the licences granted hereunder without infringing the Third Party Patents whether as a primary, secondary, indirect or contributory infringer, or otherwise, and the copyright licences contained herein are conditional on you agreeing to obtain such licences. For the purpose of interpretation of this Clause 3, any allegation by a third party that any action by YOU infringes any Third Party Patents shall be presumed as valid until properly rebutted by YOU and ARM may suspend the licences granted in Clause 1 until any such allegation is resolved in favour of YOU or YOU reach a settlement with the party making the allegation. If any breach by YOU of the provisions of this Clause 3 results in ARM being subject to a claim for infringement of any Third Party Patents, YOU shall indemnify against and hold ARM harmless from any claims, demands, damages, costs and expenses made against or suffered by ARM as a result of any such claim or action. 4. No licence, express, implied or otherwise, is granted to YOU under the provisions of Clause 1, to use the ARM tradename in connection with the Software or any products based thereon. Nothing in Clause 1 shall be construed as authority for YOU to make any representations on behalf of ARM in respect of the Software. 5. If you are downloading the Software on behalf of a company, partnership or other legal entity, you represent and warrant that you have authority to bind that entity to these terms and Conditions. If you do not have this authority you should not proceed to download the Software. 6. Any breach by YOU of the terms of this Agreement shall entitle ARM to terminate this Agreement with immediate effect. Upon termination of this Agreement, all licences granted to YOU shall cease immediately and YOU shall at ARM's option either return to ARM or destroy all copies of the Software including any modifications or derivatives thereof. 7. This Agreement shall be governed by and construed in accordance with the laws of England and Wales. ----8<--------8<--------8<--------8<--------8<--------8<--------8<---- -- R?mi Denis-Courmont http://www.remlab.net/ From fcvlcdev at free.fr Fri Jun 17 14:33:49 2011 From: fcvlcdev at free.fr (Francois Cartegnie) Date: Fri, 17 Jun 2011 14:33:49 +0200 Subject: [vlc-devel] new LUA HTTP Interface Part 3 In-Reply-To: <20110616223550.432637ka4q6vfnuu@webmail.thebrooksfamilyonline.com> References: <20110616171623.18907dr8467osp7r@webmail.thebrooksfamilyonline.com> <201106170113.03213.fcvlcdev@free.fr> <20110616223550.432637ka4q6vfnuu@webmail.thebrooksfamilyonline.com> Message-ID: <201106171433.49999.fcvlcdev@free.fr> Le vendredi 17 juin 2011, vous avez ?crit : > >> 5) Yes the 'open stream' is designed for one click streaming for user > >> friendliness > > > > The name must reflect the usage. > > What do you recommend? One Click Streaming == Easy Stream ? Create Easy Stream ? > maxHeight: 600 in patch 3 should have fixed it. It shouldn't have a > static height. I send you a video. > > .ui-selected { background-color: #1C94C4; } > > .ui-selected div { color: #000; } > > Again, manual colors is not theme friendly. What I don't understand, is that your jQuery-ui css is already custom. If they want to change something, let them broke usability. The lack of selection visual feedback is a real problem. > I do not experience this problem in any of my environments. Do you see > it send the command? Does the library reload? Error loading /requests/status.xml
lua/intf/modules/common.lua:146: 
bad argument #1 to 'set' (number expected, got string)

> My point is the xml output should be standardized. The UI should not
> have to process pre-processed information.

You're definitively not speaking of usability.

The difference with other UI, is that you display entries in a fixed 230px 
window. Most people will need to scroll.

Francois


From fcvlcdev at free.fr  Fri Jun 17 14:52:00 2011
From: fcvlcdev at free.fr (Francois Cartegnie)
Date: Fri, 17 Jun 2011 14:52:00 +0200
Subject: [vlc-devel] new LUA HTTP Interface Part 3
In-Reply-To: <20110617083037.GA23703@videolan.org>
References: <20110616171623.18907dr8467osp7r@webmail.thebrooksfamilyonline.com>
	<20110616223550.432637ka4q6vfnuu@webmail.thebrooksfamilyonline.com>
	<20110617083037.GA23703@videolan.org>
Message-ID: <201106171452.00799.fcvlcdev@free.fr>

Le vendredi 17 juin 2011, vous avez ?crit :
> > My point is the xml output should be standardized. The UI should not
> > have to process pre-processed information.
> 
> This is nitpicking and should be done by a later patch if someones
> wants.

Not something I wouldn't fix on the regular UI.

> Clear. Blocking a patch because of broken browsers is just stupid.

It's only tested with IE 9 (6%) when IE8+IE7 (34%) might have troubles.
http://gs.statcounter.com/#browser_version-ww-monthly-201106-201106-bar

trac.videolan.org will tell.

> > >What about adding a link to a new Wiki Web Page dedicated to this new
> > >interface ? (will put online help there)
> 
> Wiki doesn't have anything to do with that patch.

That was a suggestion, not a bug.

Francois


From rob at hobbyistsoftware.com  Fri Jun 17 15:42:56 2011
From: rob at hobbyistsoftware.com (Rob)
Date: Fri, 17 Jun 2011 14:42:56 +0100
Subject: [vlc-devel] new LUA HTTP Interface Part 3
In-Reply-To: <20110616223550.432637ka4q6vfnuu@webmail.thebrooksfamilyonline.com>
References: <20110616171623.18907dr8467osp7r@webmail.thebrooksfamilyonline.com>
	<201106170113.03213.fcvlcdev@free.fr>
	<20110616223550.432637ka4q6vfnuu@webmail.thebrooksfamilyonline.com>
Message-ID: 

On Fri, 17 Jun 2011 03:35:50 +0100, Elminster2031  
 wrote:

> 11) The playlist loads with the media library and is an output from
> playlist.xml, if it displays wrong, it isn't coming out of the xml
> right.
>  You're building an UI, not printing raw data.
> Think about people with long and/or many subdirs.
> Just suppress anything before the last '/' for the item entry and keep  
> the
> link as is.
>  My point is the xml output should be standardized. The UI should not  
> have to process pre-processed information.

This is displaying the name and path elements of the playlist item. On  
Windows, VLC formats name to be the last path component of path - minus  
the file extension. On Mac (and presumably other unix variants), name is  
equal to path.

I can clean this up in the playlist code after the new interface is  
committed, or alternatively someone else could clean it up at the source  
(vlc.playlist)

that'll keep the http interface simpler and non platform dependant.

Rob


From rob at hobbyistsoftware.com  Fri Jun 17 16:23:22 2011
From: rob at hobbyistsoftware.com (Rob)
Date: Fri, 17 Jun 2011 15:23:22 +0100
Subject: [vlc-devel] "equalizer-bands" corrupt/truncated occasionally
In-Reply-To: 
References: 
	<04e3e404ef2774a381ecd4820413e328@chewa.net>
	
	
Message-ID: 


>> I'm not very sure, but the corruption seems to be happening in this
> line:
>>     const char *psz_values = values.toAscii().constData();
>>
>> the length of "values" is correct till just before this, but after
>> conversion, psz_values is often shorter than it should be
>
> QString::toAscii() creates a temporary anonymous object, which is garbage
> collected at the end of the statement, is that right? I wrote many times
> not to assign char pointers to temporary QString's...

Hi Remi,

Any chance of a suggestion on how to fix this?

Akash is using the output of this in the httpLua part of vlc for his gsoc  
project. He has narrowed the problem down to this area and it looks like  
you have identified the problem.

Unfortunately neither he nor I know anything about QT (and it isn't core  
to his project). Any chance of a pointer to the right way to do this? (or  
even a correct line of code)?

thanks in advance,

Rob


From remi at remlab.net  Fri Jun 17 16:37:36 2011
From: remi at remlab.net (=?UTF-8?Q?R=C3=A9mi_Denis-Courmont?=)
Date: Fri, 17 Jun 2011 16:37:36 +0200
Subject: [vlc-devel] "equalizer-bands" corrupt/truncated occasionally
In-Reply-To: 
References: 
	<04e3e404ef2774a381ecd4820413e328@chewa.net>
	
	
	
Message-ID: <76532ac9bfad11e89aeaca9df6a24de2@chewa.net>

On Fri, 17 Jun 2011 15:23:22 +0100, Rob  wrote:
> Any chance of a suggestion on how to fix this?

Is that not just what I did?


-- 
R?mi Denis-Courmont
http://www.remlab.net/


From rob at hobbyistsoftware.com  Fri Jun 17 17:55:33 2011
From: rob at hobbyistsoftware.com (Rob)
Date: Fri, 17 Jun 2011 16:55:33 +0100
Subject: [vlc-devel] "equalizer-bands" corrupt/truncated occasionally
In-Reply-To: <76532ac9bfad11e89aeaca9df6a24de2@chewa.net>
References: 
	<04e3e404ef2774a381ecd4820413e328@chewa.net>
	
	
	
	<76532ac9bfad11e89aeaca9df6a24de2@chewa.net>
Message-ID: 

On Fri, 17 Jun 2011 15:37:36 +0100, R?mi Denis-Courmont   
wrote:

>> Any chance of a suggestion on how to fix this?
>
> Is that not just what I did?
>


nope. You pointed out that QString::toAscii() is wrong. I still have no  
idea what is right.

const char *psz_values =  
values.toAsciiButWithoutTemporaryObject().constData();  ??????

yes - I am that ignorant about QT, and the right answer is no doubt  
trivial to someone who knows their way around QT.

Hence my request for the right answer so that Akash can get on with his  
work on the luaHttp side of things without a detour to become competent in  
QT.

thanks in advance,

Rob


From rsatom at gmail.com  Fri Jun 17 18:44:28 2011
From: rsatom at gmail.com (Sergey Radionov)
Date: Fri, 17 Jun 2011 23:44:28 +0700
Subject: [vlc-devel] [PATCH] Mozilla/ActiveX Fullscreen support,
	attempt 3
In-Reply-To: 
References: 
Message-ID: 

and VLCFullScreenWnd.cpp/VLCFullScreenWnd.h  files now are absolutely
identical in Mozilla and ActiveX plugins.

2011/6/17 Sergey Radionov 

> Full screen part have made self-sufficient. All references to
> VlcPlugin/VLCPlugin have been removed. Simplified integration with existing
> code.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From vlcplugindev at gmail.com  Fri Jun 17 19:18:34 2011
From: vlcplugindev at gmail.com (John Smith)
Date: Fri, 17 Jun 2011 13:18:34 -0400
Subject: [vlc-devel] Microsoft Visual C++ Runtime error in web plugin
Message-ID: 

I've keep getting crashes with the web plugin with an error message:

"Assertion failed" at line 386 of /modules/video_output/wrapper.c
Expression: vout_IsDisplayedFiltered(vd) == !sys->use_dr

See screenshot for more info

VLC: 1.1.9
OS: Windows XP 32-bit
Graphics: Radeon X1300/1550 Series


I noticed that the web browser only seems to crash at higher resolutions
(1280x720 or 1920x1080).

Anyone know of a fix for this or if it's been addressed?

Thanks,

John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: error.JPG
Type: image/jpeg
Size: 24358 bytes
Desc: not available
URL: 

From mehrotra.akash at gmail.com  Fri Jun 17 19:48:35 2011
From: mehrotra.akash at gmail.com (akash mehrotra)
Date: Fri, 17 Jun 2011 23:18:35 +0530
Subject: [vlc-devel] "equalizer-bands" corrupt/truncated occasionally
In-Reply-To: 
References: 
	<04e3e404ef2774a381ecd4820413e328@chewa.net>
	
	
Message-ID: 

2011/6/17 R?mi Denis-Courmont 

> On Fri, 17 Jun 2011 16:09:08 +0530, akash mehrotra
>  wrote:
> > I'm not very sure, but the corruption seems to be happening in this
> line:
> >     const char *psz_values = values.toAscii().constData();
> >
> > the length of "values" is correct till just before this, but after
> > conversion, psz_values is often shorter than it should be
>
> QString::toAscii() creates a temporary anonymous object, which is garbage
> collected at the end of the statement, is that right? I wrote many times
> not to assign char pointers to temporary QString's...
>
> Yes, this line seems to be the issue, as printf("%s\n",(const char
*)values.toAscii()); always gives the correct output.

What would you suggest as a replacement?

> --
> R?mi Denis-Courmont
> http://www.remlab.net/
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From mehrotra.akash at gmail.com  Fri Jun 17 20:16:03 2011
From: mehrotra.akash at gmail.com (akash mehrotra)
Date: Fri, 17 Jun 2011 23:46:03 +0530
Subject: [vlc-devel] "equalizer-bands" corrupt/truncated occasionally
In-Reply-To: 
References: 
	<04e3e404ef2774a381ecd4820413e328@chewa.net>
	
	
	
Message-ID: 

This code seems to work:

std::string s = values.toStdString();
const char *psz_values=s.c_str();

is this fine, or does it break something else?

On Fri, Jun 17, 2011 at 11:18 PM, akash mehrotra
wrote:

>
>
> 2011/6/17 R?mi Denis-Courmont 
>
>> On Fri, 17 Jun 2011 16:09:08 +0530, akash mehrotra
>>  wrote:
>> > I'm not very sure, but the corruption seems to be happening in this
>> line:
>> >     const char *psz_values = values.toAscii().constData();
>> >
>> > the length of "values" is correct till just before this, but after
>> > conversion, psz_values is often shorter than it should be
>>
>> QString::toAscii() creates a temporary anonymous object, which is garbage
>> collected at the end of the statement, is that right? I wrote many times
>> not to assign char pointers to temporary QString's...
>>
>> Yes, this line seems to be the issue, as printf("%s\n",(const char
> *)values.toAscii()); always gives the correct output.
>
> What would you suggest as a replacement?
>
>> --
>> R?mi Denis-Courmont
>> http://www.remlab.net/
>> _______________________________________________
>> vlc-devel mailing list
>> To unsubscribe or modify your subscription options:
>> http://mailman.videolan.org/listinfo/vlc-devel
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From mehrotra.akash at gmail.com  Fri Jun 17 20:37:39 2011
From: mehrotra.akash at gmail.com (akash mehrotra)
Date: Sat, 18 Jun 2011 00:07:39 +0530
Subject: [vlc-devel] [PATCH] Fixes occasional corruption of "equalizer-bands"
Message-ID: 

Fixes occasional corruption of "equalizer-bands"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Fixes-occassional-corruption-of-equalizer-bands.patch
Type: application/octet-stream
Size: 1467 bytes
Desc: not available
URL: 

From fenrir at elivagar.org  Fri Jun 17 20:42:11 2011
From: fenrir at elivagar.org (Laurent Aimar)
Date: Fri, 17 Jun 2011 20:42:11 +0200
Subject: [vlc-devel] [PATCH] Fixes occasional corruption
	of	"equalizer-bands"
In-Reply-To: 
References: 
Message-ID: <20110617184211.GA10223@elivagar.org>

On Sat, Jun 18, 2011 at 12:07:39AM +0530, akash mehrotra wrote:
> Fixes occasional corruption of "equalizer-bands"


> diff --git a/modules/gui/qt4/components/extended_panels.cpp b/modules/gui/qt4/components/extended_panels.cpp
> index b3f5501..d58a164 100644
> --- a/modules/gui/qt4/components/extended_panels.cpp
> +++ b/modules/gui/qt4/components/extended_panels.cpp
> @@ -1060,9 +1061,10 @@ char * Equalizer::createValuesFromPreset( int i_preset )
>      /* Create the QString in Qt */
>      for( int i = 0 ; i< BANDS ;i++ )
>          values += QString( " %1" ).arg( eqz_preset_10b[i_preset]->f_amp[i] );
> -
> +    std::string s = values.toStdString();
> +    const char *psz_values=s.c_str();
>      /* Convert it to char * */
> -    return strdup( values.toAscii().constData() );
> +    return strdup( psz_values );
 I don't think this one is needed as the temporary object is only destroy 
at the end of the scope (ie when strdup() has returned).

-- 
fenrir


From mehrotra.akash at gmail.com  Fri Jun 17 20:52:47 2011
From: mehrotra.akash at gmail.com (akash mehrotra)
Date: Sat, 18 Jun 2011 00:22:47 +0530
Subject: [vlc-devel] [PATCH] Fixes occasional corruption of
	"equalizer-bands"
In-Reply-To: <20110617184211.GA10223@elivagar.org>
References: 
	<20110617184211.GA10223@elivagar.org>
Message-ID: 

Fixed

On Sat, Jun 18, 2011 at 12:12 AM, Laurent Aimar  wrote:

> On Sat, Jun 18, 2011 at 12:07:39AM +0530, akash mehrotra wrote:
> > Fixes occasional corruption of "equalizer-bands"
>
>
> > diff --git a/modules/gui/qt4/components/extended_panels.cpp
> b/modules/gui/qt4/components/extended_panels.cpp
> > index b3f5501..d58a164 100644
> > --- a/modules/gui/qt4/components/extended_panels.cpp
> > +++ b/modules/gui/qt4/components/extended_panels.cpp
> > @@ -1060,9 +1061,10 @@ char * Equalizer::createValuesFromPreset( int
> i_preset )
> >      /* Create the QString in Qt */
> >      for( int i = 0 ; i< BANDS ;i++ )
> >          values += QString( " %1" ).arg(
> eqz_preset_10b[i_preset]->f_amp[i] );
> > -
> > +    std::string s = values.toStdString();
> > +    const char *psz_values=s.c_str();
> >      /* Convert it to char * */
> > -    return strdup( values.toAscii().constData() );
> > +    return strdup( psz_values );
>  I don't think this one is needed as the temporary object is only destroy
> at the end of the scope (ie when strdup() has returned).
>
> --
> fenrir
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Fixes-occasional-corruption-of-equalizer-bands.patch
Type: application/octet-stream
Size: 978 bytes
Desc: not available
URL: 

From mehrotra.akash at gmail.com  Fri Jun 17 20:56:40 2011
From: mehrotra.akash at gmail.com (akash mehrotra)
Date: Sat, 18 Jun 2011 00:26:40 +0530
Subject: [vlc-devel] luahttp can now get the equalizer gain values
Message-ID: 

luahttp can now get the equalizer gain values
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-luahttp-can-now-get-the-equalizer-gain-values.patch
Type: application/octet-stream
Size: 4272 bytes
Desc: not available
URL: 

From mehrotra.akash at gmail.com  Fri Jun 17 21:24:45 2011
From: mehrotra.akash at gmail.com (akash mehrotra)
Date: Sat, 18 Jun 2011 00:54:45 +0530
Subject: [vlc-devel] [PATCH]Use the same format when setting
 "equalizer-bands",
 regardless of whether it is being set manually or from a preset
Message-ID: 

Use the same format when setting "equalizer-bands", regardless of whether it
is being set manually or from a preset
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-Use-the-same-format-when-setting-equalizer-bands-reg.patch
Type: application/octet-stream
Size: 1076 bytes
Desc: not available
URL: 

From kaarlo.raiha at gmail.com  Fri Jun 17 22:03:47 2011
From: kaarlo.raiha at gmail.com (=?ISO-8859-1?B?S2FhcmxvIFLkaWjk?=)
Date: Fri, 17 Jun 2011 23:03:47 +0300
Subject: [vlc-devel] Microsoft Visual C++ Runtime error in web plugin
In-Reply-To: 
References: 
Message-ID: 

2011/6/17 John Smith 

> I've keep getting crashes with the web plugin with an error message:
>
> "Assertion failed" at line 386 of /modules/video_output/wrapper.c
> Expression: vout_IsDisplayedFiltered(vd) == !sys->use_dr
>
> See screenshot for more info
>
> VLC: 1.1.9
> OS: Windows XP 32-bit
> Graphics: Radeon X1300/1550 Series
>
>
> I noticed that the web browser only seems to crash at higher resolutions
> (1280x720 or 1920x1080).
>
> Anyone know of a fix for this or if it's been addressed?
>

Did you test 1.2.0 nightly builds?


>
> Thanks,
>
> John
>
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From remi at remlab.net  Fri Jun 17 22:24:03 2011
From: remi at remlab.net (=?ISO-8859-1?Q?R=E9mi?= Denis-Courmont)
Date: Fri, 17 Jun 2011 23:24:03 +0300
Subject: [vlc-devel] [PATCH] Fixes occasional
	corruption	of	"equalizer-bands"
In-Reply-To: <20110617184211.GA10223@elivagar.org>
References: 
	<20110617184211.GA10223@elivagar.org>
Message-ID: <1308342243.2220.2.camel@Nokia-N900-51-1>

----- Message d'origine -----
> > diff --git a/modules/gui/qt4/components/extended_panels.cpp
> > b/modules/gui/qt4/components/extended_panels.cpp index b3f5501..d58a164 100644
> > --- a/modules/gui/qt4/components/extended_panels.cpp
> > +++ b/modules/gui/qt4/components/extended_panels.cpp
> > @@ -1060,9 +1061,10 @@ char * Equalizer::createValuesFromPreset( int i_preset )
> >? ? ? ? ? /* Create the QString in Qt */
> >? ? ? ? ? for( int i = 0 ; i< BANDS ;i++ )
> >? ? ? ? ? ? ? ? ? values += QString( " %1" ).arg( eqz_preset_10b[i_preset]->f_amp[i] );
> > -
> > +? ? ? std::string s = values.toStdString();
> > +? ? ? const char *psz_values=s.c_str();
> >? ? ? ? ? /* Convert it to char * */
> > -? ? ? return strdup( values.toAscii().constData() );
> > +? ? ? return strdup( psz_values );
>? I don't think this one is needed as the temporary object is only destroy
> at the end of the scope (ie when strdup() has returned).

Yeah. Temporary anonymous object are scoped to the expression.

And we dont use the STL in Qt. I would use a QByteArray if an explicit object is needed/wanted.

-- 
R?mi


From vlcplugindev at gmail.com  Fri Jun 17 22:39:17 2011
From: vlcplugindev at gmail.com (John Smith)
Date: Fri, 17 Jun 2011 16:39:17 -0400
Subject: [vlc-devel] Microsoft Visual C++ Runtime error in web plugin
In-Reply-To: 
References: 
	
Message-ID: 

I have not tried 1.2 as of yet

On Fri, Jun 17, 2011 at 4:03 PM, Kaarlo R?ih? wrote:

>
>
> 2011/6/17 John Smith 
>
>> I've keep getting crashes with the web plugin with an error message:
>>
>> "Assertion failed" at line 386 of /modules/video_output/wrapper.c
>> Expression: vout_IsDisplayedFiltered(vd) == !sys->use_dr
>>
>> See screenshot for more info
>>
>> VLC: 1.1.9
>> OS: Windows XP 32-bit
>> Graphics: Radeon X1300/1550 Series
>>
>>
>> I noticed that the web browser only seems to crash at higher resolutions
>> (1280x720 or 1920x1080).
>>
>> Anyone know of a fix for this or if it's been addressed?
>>
>
> Did you test 1.2.0 nightly builds?
>
>
>>
>> Thanks,
>>
>> John
>>
>>
>> _______________________________________________
>> vlc-devel mailing list
>> To unsubscribe or modify your subscription options:
>> http://mailman.videolan.org/listinfo/vlc-devel
>>
>>
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From fcvlcdev at free.fr  Fri Jun 17 22:40:21 2011
From: fcvlcdev at free.fr (Francois Cartegnie)
Date: Fri, 17 Jun 2011 22:40:21 +0200
Subject: [vlc-devel] [PATCH] Fixes occasional corruption
 =?iso-8859-1?q?of=09?="equalizer-bands"
In-Reply-To: <20110617184211.GA10223@elivagar.org>
References: 
	<20110617184211.GA10223@elivagar.org>
Message-ID: <201106172240.21567.fcvlcdev@free.fr>

Le vendredi 17 juin 2011, Laurent Aimar a ?crit :

> > +    std::string s = values.toStdString();
> > +    const char *psz_values=s.c_str();

> > +    return strdup( psz_values );
> 
>  I don't think this one is needed as the temporary object is only destroy
> at the end of the scope (ie when strdup() has returned).

QString -> QByteArray -> char * -> std::s -> char *...

Don't use char* at all and just return the QString.
QString Equalizer::createValuesFromPreset( int )


And as QByteArray always return a valid pointer( NULL != "\0" ), it
breaks code later:
1079     char *psz_values = createValuesFromPreset( i_preset );
1080     if( !psz_values ) return ;


Francois


From elminster2031 at archmageinc.com  Sat Jun 18 00:15:29 2011
From: elminster2031 at archmageinc.com (Elminster2031)
Date: Fri, 17 Jun 2011 18:15:29 -0400
Subject: [vlc-devel] new LUA HTTP Interface Part 3
In-Reply-To: <201106171433.49999.fcvlcdev@free.fr>
References: <20110616171623.18907dr8467osp7r@webmail.thebrooksfamilyonline.com>
	<201106170113.03213.fcvlcdev@free.fr>
	<20110616223550.432637ka4q6vfnuu@webmail.thebrooksfamilyonline.com>
	<201106171433.49999.fcvlcdev@free.fr>
Message-ID: <20110617181529.965347ajnxwzd91d@webmail.thebrooksfamilyonline.com>

>> >> 5) Yes the 'open stream' is designed for one click streaming for user
>> >> friendliness
>> >
>> > The name must reflect the usage.
>>
>> What do you recommend?
>
> One Click Streaming == Easy Stream ? Create Easy Stream ?

Good enough, will change in part 4

>> maxHeight: 600 in patch 3 should have fixed it. It shouldn't have a
>> static height.
>
> I send you a video.
>
>> > .ui-selected { background-color: #1C94C4; }
>> > .ui-selected div { color: #000; }
>>
>> Again, manual colors is not theme friendly.
>
> What I don't understand, is that your jQuery-ui css is already custom.
> If they want to change something, let them broke usability.
>
> The lack of selection visual feedback is a real problem.

The jQuery-UI css is jQuery's ui-lightness theme via theme roller. I  
agree that the lack of visual feedback is a problem, but I am torn  
between breaking theme roller, and usability.

>> I do not experience this problem in any of my environments. Do you see
>> it send the command? Does the library reload?
>
> Error loading /requests/status.xml
lua/intf/modules/common.lua:146:
> bad argument #1 to 'set' (number expected, got string)

I see the problem in your video, but I have not been able to duplicate  
this issue. Do you see the URI request? What is actually being sent?

I also see the issue with the browse window height, and understand why  
it is not being enforced by the maxHeight parameter. Will fix in part 4.


From elminster2031 at archmageinc.com  Sat Jun 18 00:16:44 2011
From: elminster2031 at archmageinc.com (Elminster2031)
Date: Fri, 17 Jun 2011 18:16:44 -0400
Subject: [vlc-devel] new LUA HTTP Interface Part 3
In-Reply-To: 
References: <20110616171623.18907dr8467osp7r@webmail.thebrooksfamilyonline.com>
	<201106170113.03213.fcvlcdev@free.fr>
	<20110616223550.432637ka4q6vfnuu@webmail.thebrooksfamilyonline.com>
	
Message-ID: <20110617181644.17332yc3d2cn05e4@webmail.thebrooksfamilyonline.com>


>> 11) The playlist loads with the media library and is an output from
>> playlist.xml, if it displays wrong, it isn't coming out of the xml
>> right.
>> You're building an UI, not printing raw data.
>> Think about people with long and/or many subdirs.
>> Just suppress anything before the last '/' for the item entry and keep the
>> link as is.
>> My point is the xml output should be standardized. The UI should  
>> not have to process pre-processed information.
>
> This is displaying the name and path elements of the playlist item.  
> On Windows, VLC formats name to be the last path component of path -  
> minus the file extension. On Mac (and presumably other unix  
> variants), name is equal to path.
>
> I can clean this up in the playlist code after the new interface is  
> committed, or alternatively someone else could clean it up at the  
> source (vlc.playlist)
>
> that'll keep the http interface simpler and non platform dependant.
>
> Rob

Thank you for understanding what I was saying.




From fcvlcdev at free.fr  Sat Jun 18 00:31:11 2011
From: fcvlcdev at free.fr (Francois Cartegnie)
Date: Sat, 18 Jun 2011 00:31:11 +0200
Subject: [vlc-devel] new LUA HTTP Interface Part 3
In-Reply-To: <20110617181529.965347ajnxwzd91d@webmail.thebrooksfamilyonline.com>
References: <20110616171623.18907dr8467osp7r@webmail.thebrooksfamilyonline.com>
	<201106171433.49999.fcvlcdev@free.fr>
	<20110617181529.965347ajnxwzd91d@webmail.thebrooksfamilyonline.com>
Message-ID: <201106180031.11727.fcvlcdev@free.fr>

Le samedi 18 juin 2011, vous avez ?crit :
> > Error loading
> > /requests/status.xml
lua/intf/modules/common.lua:146: bad
> > argument #1 to 'set' (number expected, got string)
> 
> I see the problem in your video, but I have not been able to duplicate
> this issue. Do you see the URI request? What is actually being sent?

GET /requests/status.xml?command=volume&val=399.36 HTTP/1.1

Line 52, a missing Math.round
	'val':(ui.value*5.12)

Francois


From elminster2031 at archmageinc.com  Sat Jun 18 01:03:29 2011
From: elminster2031 at archmageinc.com (Elminster2031)
Date: Fri, 17 Jun 2011 19:03:29 -0400
Subject: [vlc-devel] new LUA HTTP Interface Part 3
In-Reply-To: <201106180031.11727.fcvlcdev@free.fr>
References: <20110616171623.18907dr8467osp7r@webmail.thebrooksfamilyonline.com>
	<201106171433.49999.fcvlcdev@free.fr>
	<20110617181529.965347ajnxwzd91d@webmail.thebrooksfamilyonline.com>
	<201106180031.11727.fcvlcdev@free.fr>
Message-ID: <20110617190329.213344y0tpxr6xc1@webmail.thebrooksfamilyonline.com>

> Le samedi 18 juin 2011, vous avez ?crit :
>> > Error loading
>> > /requests/status.xml
lua/intf/modules/common.lua:146: bad
>> > argument #1 to 'set' (number expected, got string)
>>
>> I see the problem in your video, but I have not been able to duplicate
>> this issue. Do you see the URI request? What is actually being sent?
>
> GET /requests/status.xml?command=volume&val=399.36 HTTP/1.1
>
> Line 52, a missing Math.round
> 	'val':(ui.value*5.12)

Odd, why is yours throwing an error on that and neither j-b nor I see  
it. Anyway, I added Math.round in Part 4, as the decimal adjustment is  
not necessary.


From elminster2031 at archmageinc.com  Sat Jun 18 01:06:21 2011
From: elminster2031 at archmageinc.com (Elminster2031)
Date: Fri, 17 Jun 2011 19:06:21 -0400
Subject: [vlc-devel] [PATCH 4/2] new LUA HTTP Interface Part 4
Message-ID: <20110617190621.72265bg9uhxkr2lp@webmail.thebrooksfamilyonline.com>

This is part 4 of the new LUA HTTP Interface. It makes some minor  
adjustments to the UI to address the thread below:

http://mailman.videolan.org/pipermail/vlc-devel/2011-June/080756.html

Thanks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0004-new-LUA-HTTP-Interface-Part-4.patch
Type: text/x-patch
Size: 6213 bytes
Desc: not available
URL: 

From rsatom at gmail.com  Sat Jun 18 10:31:02 2011
From: rsatom at gmail.com (Sergey Radionov)
Date: Sat, 18 Jun 2011 15:31:02 +0700
Subject: [vlc-devel] [PATCH 1/2] ActiveX FullScreen support, attempt 3
Message-ID: <4DFC6246.8000707@gmail.com>

Full screen part have made self-sufficient. All references to
VlcPlugin/VLCPlugin have been removed. Simplified integration with existing
code.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-ActiveX-Fullscreen-support.patch
Type: application/octet-stream
Size: 51801 bytes
Desc: not available
URL: 

From rsatom at gmail.com  Sat Jun 18 10:31:22 2011
From: rsatom at gmail.com (Sergey Radionov)
Date: Sat, 18 Jun 2011 15:31:22 +0700
Subject: [vlc-devel] [PATCH 2/2] Mozilla FullScreen support, attempt 3
Message-ID: <4DFC625A.1010405@gmail.com>

Full screen part have made self-sufficient. All references to
VlcPlugin/VLCPlugin have been removed. Simplified integration with existing
code.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Mozilla-Fullscreen-support.patch
Type: application/octet-stream
Size: 52930 bytes
Desc: not available
URL: 

From victor.koretsky at gmail.com  Thu Jun 16 17:05:39 2011
From: victor.koretsky at gmail.com (Victor Koretsky)
Date: Thu, 16 Jun 2011 18:05:39 +0300
Subject: [vlc-devel] VLC doesn't show time progress and clip length while
	playing m2ts files
Message-ID: 

1.1.10 version of VLC doesn't show time progress and clip length while
playing m2ts files.
-- 
Thanks and regards, Victor
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From yacine_tz74 at yahoo.fr  Thu Jun 16 20:39:38 2011
From: yacine_tz74 at yahoo.fr (Yacine Amazigh)
Date: Thu, 16 Jun 2011 19:39:38 +0100 (BST)
Subject: [vlc-devel] New localization
Message-ID: <135850.89157.qm@web24908.mail.ird.yahoo.com>

Hellow I am Algerian and I hop to translate VLC to Kabyle. Please send me a .po file (English? or French).
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From chhorran at yahoo.com  Sun Jun 19 02:38:28 2011
From: chhorran at yahoo.com (Ran Chhor)
Date: Sat, 18 Jun 2011 17:38:28 -0700 (PDT)
Subject: [vlc-devel] How may I translate VLC into Khmer (Cambodia)
Message-ID: <13964.3949.qm@web38003.mail.mud.yahoo.com>

Hi VLC developers

I am very glad to be at VLC.

VLC is a very good video player software and there are lots of translated 
languages for VLC. 

I also would like to translate VLC into Khmer (Cambodia) language. And how may I 
do for that?

Best regards

Ran CHHOR
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From beauze.h at gmail.com  Mon Jun 20 08:40:31 2011
From: beauze.h at gmail.com (Hugo Beauzee-Luyssen)
Date: Mon, 20 Jun 2011 08:40:31 +0200
Subject: [vlc-devel] [Patch] MKV: Avoid duplicating the entire vector.
Message-ID: 

Hi,

This simple patch removes a useless copy of the entire segments vector.

Regards,

-- 
Hugo Beauz?e-Luyssen
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-mkv-Avoid-duplicating-the-entire-vector.patch
Type: text/x-patch
Size: 1566 bytes
Desc: not available
URL: 

From kaarlo.raiha at gmail.com  Mon Jun 20 08:44:55 2011
From: kaarlo.raiha at gmail.com (=?ISO-8859-1?B?S2FhcmxvIFLkaWjk?=)
Date: Mon, 20 Jun 2011 09:44:55 +0300
Subject: [vlc-devel] VLC doesn't show time progress and clip length
 while playing m2ts files
In-Reply-To: 
References: 
Message-ID: 

2011/6/16 Victor Koretsky 

> 1.1.10 version of VLC doesn't show time progress and clip length while
> playing m2ts files.
>

Known issue. TS parser doesn't calculate timecodes because it is hard
problem to solve.

> --
> Thanks and regards, Victor
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From jb at videolan.org  Mon Jun 20 11:21:40 2011
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Mon, 20 Jun 2011 11:21:40 +0200
Subject: [vlc-devel] [Patch] MKV: Avoid duplicating the entire vector.
In-Reply-To: 
References: 
Message-ID: <20110620092140.GA20981@videolan.org>

On Mon, Jun 20, 2011 at 08:40:31AM +0200, Hugo Beauzee-Luyssen wrote :
> This simple patch removes a useless copy of the entire segments vector.
thx.

Best Regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device


From jb at videolan.org  Mon Jun 20 14:26:26 2011
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Mon, 20 Jun 2011 14:26:26 +0200
Subject: [vlc-devel] [PATCH 4/2] new LUA HTTP Interface Part 4
In-Reply-To: <20110617190621.72265bg9uhxkr2lp@webmail.thebrooksfamilyonline.com>
References: <20110617190621.72265bg9uhxkr2lp@webmail.thebrooksfamilyonline.com>
Message-ID: <20110620122626.GA23264@videolan.org>

On Fri, Jun 17, 2011 at 07:06:21PM -0400, Elminster2031 wrote :
> This is part 4 of the new LUA HTTP Interface. It makes some minor
> adjustments to the UI to address the thread below:

Applied and squashed in previous commits

Best Regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device


From jb at videolan.org  Mon Jun 20 14:26:45 2011
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Mon, 20 Jun 2011 14:26:45 +0200
Subject: [vlc-devel] [PATCH]Use the same format when setting
 "equalizer-bands",
 regardless of whether it is being set manually or from a preset
In-Reply-To: 
References: 
Message-ID: <20110620122645.GB23264@videolan.org>

On Sat, Jun 18, 2011 at 12:54:45AM +0530, akash mehrotra wrote :
> Use the same format when setting "equalizer-bands", regardless of whether it
> is being set manually or from a preset

Applied.
Best Regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device


From jb at videolan.org  Mon Jun 20 14:27:51 2011
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Mon, 20 Jun 2011 14:27:51 +0200
Subject: [vlc-devel] [PATCH 2/2] new LUA HTTP Interface Part 2 of 2
In-Reply-To: <20110616171623.18907dr8467osp7r@webmail.thebrooksfamilyonline.com>
References: <20110616171623.18907dr8467osp7r@webmail.thebrooksfamilyonline.com>
Message-ID: <20110620122751.GC23264@videolan.org>

Applied and squashed.

On Thu, Jun 16, 2011 at 05:16:23PM -0400, Elminster2031 wrote :

Best Regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device


From jb at videolan.org  Mon Jun 20 14:28:15 2011
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Mon, 20 Jun 2011 14:28:15 +0200
Subject: [vlc-devel] [PATCH 2/2] new LUA HTTP Interface Part 2 of 2
In-Reply-To: <20110615180940.21142hv4y05rw1b8@webmail.thebrooksfamilyonline.com>
References: <20110615180940.21142hv4y05rw1b8@webmail.thebrooksfamilyonline.com>
Message-ID: <20110620122815.GD23264@videolan.org>

On Wed, Jun 15, 2011 at 06:09:40PM -0400, brandon at thebrooksfamilyonline.com wrote :
> For screen shots visit:

Applied.

Best Regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device


From jb at videolan.org  Mon Jun 20 14:28:25 2011
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Mon, 20 Jun 2011 14:28:25 +0200
Subject: [vlc-devel] [PATCH 1/2] new LUA HTTP Interface Part 1 of 2
In-Reply-To: <20110615180842.11473vynq7mt2i5m@webmail.thebrooksfamilyonline.com>
References: <20110615180842.11473vynq7mt2i5m@webmail.thebrooksfamilyonline.com>
Message-ID: <20110620122825.GE23264@videolan.org>

On Wed, Jun 15, 2011 at 06:08:42PM -0400, Elminster2031 wrote :
> This is part 1 of the new LUA HTTP Interface. This patch includes new
> files used as part of the jQuery interface. jsQuery, jQuery, and jsTree
> are included to prevent 'manditory' internet access. Flowplayer will
> remain CDN. I apologize for the size of these patches, but since this is
> a complete replacement of the existing HTTP interface, it is somewhat
> unavoidable.

APplied.

Best Regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device


From mehrotra.akash at gmail.com  Mon Jun 20 14:53:31 2011
From: mehrotra.akash at gmail.com (akash mehrotra)
Date: Mon, 20 Jun 2011 18:23:31 +0530
Subject: [vlc-devel] [PATCH] Luahttp can access equalizer settings
Message-ID: 

Luahttp can access and modify equalizer settings

Access to presets is not available currently
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-luahttp-can-now-access-and-modify-equalizer.patch
Type: application/octet-stream
Size: 5968 bytes
Desc: not available
URL: 

From remi at remlab.net  Mon Jun 20 15:10:45 2011
From: remi at remlab.net (=?UTF-8?Q?R=C3=A9mi_Denis-Courmont?=)
Date: Mon, 20 Jun 2011 15:10:45 +0200
Subject: [vlc-devel] [PATCH] Luahttp can access equalizer settings
In-Reply-To: 
References: 
Message-ID: 

On Mon, 20 Jun 2011 18:23:31 +0530, akash mehrotra
 wrote:
> Luahttp can access and modify equalizer settings
> 
> Access to presets is not available currently

If something is corrupt, fix it. We have enough hacks in VLC already, no
thanks.

-- 
R?mi Denis-Courmont
http://www.remlab.net/


From mehrotra.akash at gmail.com  Mon Jun 20 15:30:27 2011
From: mehrotra.akash at gmail.com (akash mehrotra)
Date: Mon, 20 Jun 2011 19:00:27 +0530
Subject: [vlc-devel] [PATCH] Luahttp can access equalizer settings
In-Reply-To: 
References: 
	
Message-ID: 

http://mailman.videolan.org/pipermail/vlc-devel/attachments/20110618/b2d51c5e/attachment.obj

would have fixed it, but since it was not accepted, I'm using this hack till
the time I can learn Qt enough to fix the problem without the use of STL

2011/6/20 R?mi Denis-Courmont 

> On Mon, 20 Jun 2011 18:23:31 +0530, akash mehrotra
>  wrote:
> > Luahttp can access and modify equalizer settings
> >
> > Access to presets is not available currently
>
> If something is corrupt, fix it. We have enough hacks in VLC already, no
> thanks.
>
> --
> R?mi Denis-Courmont
> http://www.remlab.net/
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From remi at remlab.net  Mon Jun 20 15:33:58 2011
From: remi at remlab.net (=?UTF-8?Q?R=C3=A9mi_Denis-Courmont?=)
Date: Mon, 20 Jun 2011 15:33:58 +0200
Subject: [vlc-devel] [PATCH] Luahttp can access equalizer settings
In-Reply-To: 
References: 
	
	
Message-ID: 

On Mon, 20 Jun 2011 19:00:27 +0530, akash mehrotra
 wrote:
>
http://mailman.videolan.org/pipermail/vlc-devel/attachments/20110618/b2d51c5e/attachment.obj
> 
> would have fixed it, but since it was not accepted, I'm using this hack
> till the time I can learn Qt enough to fix the problem without the use
of STL

Hacks like this are not going to be merged. I don't want to hear excuses.

-- 
R?mi Denis-Courmont
http://www.remlab.net/


From Michael.Karcher at fu-berlin.de  Mon Jun 20 18:02:47 2011
From: Michael.Karcher at fu-berlin.de (Michael Karcher)
Date: Mon, 20 Jun 2011 18:02:47 +0200
Subject: [vlc-devel] [PATCH] Luahttp can access equalizer settings
In-Reply-To: 
References: 
	
	
Message-ID: <1308585768.8351.20.camel@localhost>

Am Montag, den 20.06.2011, 19:00 +0530 schrieb akash mehrotra:
> http://mailman.videolan.org/pipermail/vlc-devel/attachments/20110618/b2d51c5e/attachment.obj
> 
> would have fixed it, but since it was not accepted, I'm using this
> hack till the time I can learn Qt enough to fix the problem without
> the use of STL

Ah, that's easy. The problem is, as you were told, that the expression
values.toAscii().constData() contains the creation of a QByteArray
object that contains the ascii version. As this object (returned by
toAscii(), consumed as "this" by constData() ) is not bound to any
variable, it gets destroyed as soon as the compiler finishes evalution
of "values.toAscii().constData()", which leaves you with a dangling
pointer. Create a named QByteArray instead. It will live until it gets
out of scope, like in

  QByteArray arr = values.toAscii();
  const char * psz_values = arr.constData();

(not compile tested, but you get the idea)

Regards,
  Michael Karcher



From mehrotra.akash at gmail.com  Mon Jun 20 21:08:12 2011
From: mehrotra.akash at gmail.com (akash mehrotra)
Date: Tue, 21 Jun 2011 00:38:12 +0530
Subject: [vlc-devel] [PATCH] Luahttp can access equalizer settings
In-Reply-To: <1308585768.8351.20.camel@localhost>
References: 
	
	
	<1308585768.8351.20.camel@localhost>
Message-ID: 

Fixed and new patch attached..

It seems someone else fixed the corruption problem while I was working on
the equalizer, so the check is not needed now.

On Mon, Jun 20, 2011 at 9:32 PM, Michael Karcher <
Michael.Karcher at fu-berlin.de> wrote:

> Am Montag, den 20.06.2011, 19:00 +0530 schrieb akash mehrotra:
> >
> http://mailman.videolan.org/pipermail/vlc-devel/attachments/20110618/b2d51c5e/attachment.obj
> >
> > would have fixed it, but since it was not accepted, I'm using this
> > hack till the time I can learn Qt enough to fix the problem without
> > the use of STL
>
> Ah, that's easy. The problem is, as you were told, that the expression
> values.toAscii().constData() contains the creation of a QByteArray
> object that contains the ascii version. As this object (returned by
> toAscii(), consumed as "this" by constData() ) is not bound to any
> variable, it gets destroyed as soon as the compiler finishes evalution
> of "values.toAscii().constData()", which leaves you with a dangling
> pointer. Create a named QByteArray instead. It will live until it gets
> out of scope, like in
>
>  QByteArray arr = values.toAscii();
>  const char * psz_values = arr.constData();
>
> (not compile tested, but you get the idea)
>
> Regards,
>   Michael Karcher
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-luahttp-can-access-and-modify-equalizer-bands.patch
Type: application/octet-stream
Size: 5814 bytes
Desc: not available
URL: 

From remi at remlab.net  Mon Jun 20 21:11:14 2011
From: remi at remlab.net (=?iso-8859-15?q?R=E9mi?= Denis-Courmont)
Date: Mon, 20 Jun 2011 22:11:14 +0300
Subject: [vlc-devel] [PATCH] Luahttp can access equalizer settings
In-Reply-To: 
References: 
	<1308585768.8351.20.camel@localhost>
	
Message-ID: <201106202211.14533.remi@remlab.net>

Le lundi 20 juin 2011 22:08:12 akash mehrotra, vous avez ?crit :
> Fixed and new patch attached..
> 
> It seems someone else fixed the corruption problem while I was working on
> the equalizer, so the check is not needed now.

Err, does strtof() works with all LC_NUMERIC locales?

-- 
R?mi Denis-Courmont
http://www.remlab.net/
http://fi.linkedin.com/in/remidenis


From avishwa19 at gmail.com  Mon Jun 20 21:21:54 2011
From: avishwa19 at gmail.com (anshu vishwa)
Date: Tue, 21 Jun 2011 00:51:54 +0530
Subject: [vlc-devel] regarding adding new enhancement to vlc.
Message-ID: 

In VLC there is a feature that it's icon gets changed near Christmas.
I want to enhance this feature, but there is no request reported for it.
So, do I first need to report a request and get the ticket registered
at Trac regarding this
or I can submit a patch directly?

--
Abhinav Vishwa


From mehrotra.akash at gmail.com  Mon Jun 20 21:22:18 2011
From: mehrotra.akash at gmail.com (akash mehrotra)
Date: Tue, 21 Jun 2011 00:52:18 +0530
Subject: [vlc-devel] [PATCH] Luahttp can access equalizer settings
In-Reply-To: <201106202211.14533.remi@remlab.net>
References: 
	<1308585768.8351.20.camel@localhost>
	
	<201106202211.14533.remi@remlab.net>
Message-ID: 

2011/6/21 R?mi Denis-Courmont 

> Le lundi 20 juin 2011 22:08:12 akash mehrotra, vous avez ?crit :
> > Fixed and new patch attached..
> >
> > It seems someone else fixed the corruption problem while I was working on
> > the equalizer, so the check is not needed now.
>
> Err, does strtof() works with all LC_NUMERIC locales?
>
> Is seems so.
"

     The radix character  is  defined  in  the  program's  locale
     (category  LC_NUMERIC).  In the POSIX locale, or in a locale
     where the radix character is not defined, the radix  charac-
     ter defaults to a period ('.').
"
from

http://compute.cnr.berkeley.edu/cgi-bin/man-cgi?strtod+3

--
> R?mi Denis-Courmont
> http://www.remlab.net/
> http://fi.linkedin.com/in/remidenis
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From remi at remlab.net  Mon Jun 20 21:43:02 2011
From: remi at remlab.net (=?iso-8859-15?q?R=E9mi?= Denis-Courmont)
Date: Mon, 20 Jun 2011 22:43:02 +0300
Subject: [vlc-devel] [PATCH] Luahttp can access equalizer settings
In-Reply-To: 
References: 
	<201106202211.14533.remi@remlab.net>
	
Message-ID: <201106202243.02553.remi@remlab.net>

Le lundi 20 juin 2011 22:22:18 akash mehrotra, vous avez ?crit :
> "
>      The radix character  is  defined  in  the  program's  locale
>      (category  LC_NUMERIC).  In the POSIX locale, or in a locale
>      where the radix character is not defined, the radix  charac-
>      ter defaults to a period ('.').
> "
> from
> 
> http://compute.cnr.berkeley.edu/cgi-bin/man-cgi?strtod+3

Yeah, thanks but I can read the manual pages by myself.

So what?

-- 
R?mi Denis-Courmont
http://www.remlab.net/
http://fi.linkedin.com/in/remidenis


From mehrotra.akash at gmail.com  Mon Jun 20 21:49:03 2011
From: mehrotra.akash at gmail.com (akash mehrotra)
Date: Tue, 21 Jun 2011 01:19:03 +0530
Subject: [vlc-devel] [PATCH] Luahttp can access equalizer settings
In-Reply-To: <201106202243.02553.remi@remlab.net>
References: 
	<201106202211.14533.remi@remlab.net>
	
	<201106202243.02553.remi@remlab.net>
Message-ID: 

2011/6/21 R?mi Denis-Courmont 

> Le lundi 20 juin 2011 22:22:18 akash mehrotra, vous avez ?crit :
> > "
> >      The radix character  is  defined  in  the  program's  locale
> >      (category  LC_NUMERIC).  In the POSIX locale, or in a locale
> >      where the radix character is not defined, the radix  charac-
> >      ter defaults to a period ('.').
> > "
> > from
> >
> > http://compute.cnr.berkeley.edu/cgi-bin/man-cgi?strtod+3
>
> Yeah, thanks but I can read the manual pages by myself.
>
> So what?
>
> I thought it answered the question of:
"does strtof() works with all LC_NUMERIC locales?"

> --
> R?mi Denis-Courmont
> http://www.remlab.net/
> http://fi.linkedin.com/in/remidenis
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From remi at remlab.net  Mon Jun 20 21:53:48 2011
From: remi at remlab.net (=?iso-8859-15?q?R=E9mi?= Denis-Courmont)
Date: Mon, 20 Jun 2011 22:53:48 +0300
Subject: [vlc-devel] [PATCH] Luahttp can access equalizer settings
In-Reply-To: 
References: 
	<201106202243.02553.remi@remlab.net>
	
Message-ID: <201106202253.48792.remi@remlab.net>

Le lundi 20 juin 2011 22:49:03 akash mehrotra, vous avez ?crit :
> > I thought it answered the question of:
> "does strtof() works with all LC_NUMERIC locales?"

I *obviously* meant to ask whether it works *correctly*, not whether the 
function call is well-defined.

-- 
R?mi Denis-Courmont
http://www.remlab.net/
http://fi.linkedin.com/in/remidenis


From jb at videolan.org  Mon Jun 20 21:59:54 2011
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Mon, 20 Jun 2011 21:59:54 +0200
Subject: [vlc-devel] regarding adding new enhancement to vlc.
In-Reply-To: 
References: 
Message-ID: <20110620195954.GA12990@videolan.org>

On Tue, Jun 21, 2011 at 12:51:54AM +0530, anshu vishwa wrote :
> In VLC there is a feature that it's icon gets changed near Christmas.
> I want to enhance this feature, but there is no request reported for it.
> So, do I first need to report a request and get the ticket registered
> at Trac regarding this
> or I can submit a patch directly?

Submit the patch directly.

Best Regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device


From mehrotra.akash at gmail.com  Mon Jun 20 23:24:55 2011
From: mehrotra.akash at gmail.com (akash mehrotra)
Date: Tue, 21 Jun 2011 02:54:55 +0530
Subject: [vlc-devel] [PATCH] Luahttp can access equalizer settings
In-Reply-To: <201106202253.48792.remi@remlab.net>
References: 
	<201106202243.02553.remi@remlab.net>
	
	<201106202253.48792.remi@remlab.net>
Message-ID: 

Patch updated as per suggestions and attached

2011/6/21 R?mi Denis-Courmont 

> Le lundi 20 juin 2011 22:49:03 akash mehrotra, vous avez ?crit :
> > > I thought it answered the question of:
> > "does strtof() works with all LC_NUMERIC locales?"
>
> I *obviously* meant to ask whether it works *correctly*, not whether the
> function call is well-defined.
>
> --
> R?mi Denis-Courmont
> http://www.remlab.net/
> http://fi.linkedin.com/in/remidenis
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-luahttp-can-access-and-modify-equalizer-bands.patch
Type: application/octet-stream
Size: 5789 bytes
Desc: not available
URL: 

From xtophe at chewa.net  Mon Jun 20 23:41:07 2011
From: xtophe at chewa.net (Christophe Mutricy)
Date: Mon, 20 Jun 2011 23:41:07 +0200
Subject: [vlc-devel] New localization
In-Reply-To: <135850.89157.qm@web24908.mail.ird.yahoo.com>
References: <135850.89157.qm@web24908.mail.ird.yahoo.com>
Message-ID: <20110620214107.GZ12275@chewa.net>

Hello,

On Thu, Jun 16, 11 at 19:39 +0100, Yacine Amazigh wrote:
> Hellow I am Algerian and I hop to translate VLC to Kabyle. Please send me a .po file (English? or French).

You can download the file from
http://people.videolan.org/~xtophe/l10n/kab.po.

You can use poEdit or LoKalize to edit it. Make sure to use UTF-8 as
encoding.

When you done some progess, put the file online and send the link to the
mailing list.

There is a mailing list dedicated to translators. You can join at
http://mailman.videolan.org/listinfo/translators


-- 
Xtophe


From elminster2031 at archmageinc.com  Mon Jun 20 23:51:57 2011
From: elminster2031 at archmageinc.com (Elminster2031)
Date: Mon, 20 Jun 2011 17:51:57 -0400
Subject: [vlc-devel] [PATCH] LUA HTTP UI - Adjustments
Message-ID: <20110620175157.195432xq9igrzl6l@webmail.thebrooksfamilyonline.com>

This patch makes some minor adjustments to the UI operation.

1) Add VLC Icons
2) Re-arrange Viewer / Library windows
3) Re-define some button names
4) Change some icons to improve clairity
5) Long press on Prev / Next buttons now seek back / forward
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-LUA-HTTP-UI-Adjustments.patch
Type: text/x-patch
Size: 12597 bytes
Desc: not available
URL: 

From xtophe at chewa.net  Tue Jun 21 00:13:30 2011
From: xtophe at chewa.net (Christophe Mutricy)
Date: Tue, 21 Jun 2011 00:13:30 +0200
Subject: [vlc-devel] How may I translate VLC into Khmer (Cambodia)
In-Reply-To: <13964.3949.qm@web38003.mail.mud.yahoo.com>
References: <13964.3949.qm@web38003.mail.mud.yahoo.com>
Message-ID: <20110620221330.GB12275@chewa.net>

Hello,

On Sat, Jun 18, 11 at 17:38 -0700, Ran Chhor wrote:
> 
> I also would like to translate VLC into Khmer (Cambodia) language. And how may I 
> do for that?

There is already a quite complete translation in Khmer. Contact Khoem
Sokhem  if you have improvement suggestions or
comments on it


-- 
Xtophe


From fcvlcdev at free.fr  Tue Jun 21 01:42:51 2011
From: fcvlcdev at free.fr (Francois Cartegnie)
Date: Tue, 21 Jun 2011 01:42:51 +0200
Subject: [vlc-devel] [PATCH] Luahttp can access equalizer settings
In-Reply-To: 
References: 
	<1308585768.8351.20.camel@localhost>
	
Message-ID: <201106210142.51588.fcvlcdev@free.fr>

Le lundi 20 juin 2011, akash mehrotra a ?crit :
> Fixed and new patch attached..

>+        aout_instance_t *p_aout = input_GetAout( p_input );
>...
>+        vlc_object_release( p_aout );

No check before release ?

>+    
>+    

No way. Told you on IRC: This is spreadsheet, not XML.

Francois


From jb at videolan.org  Tue Jun 21 09:05:16 2011
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Tue, 21 Jun 2011 09:05:16 +0200
Subject: [vlc-devel] [vlc-commits] Deprecate
	playlist_IsServicesDiscoveryLoaded()
In-Reply-To: <20110620163156.7619313EEF5@albiero.videolan.org>
References: <20110620163156.7619313EEF5@albiero.videolan.org>
Message-ID: <20110621070515.GA12492@videolan.org>

On Mon, Jun 20, 2011 at 06:31:56PM +0200, R?mi Denis-Courmont wrote :
> Deprecate playlist_IsServicesDiscoveryLoaded()

This is quite annoying for the interfaces...

I don't understand all the vlc_object naming changes in 1.2, I have to
say, but is there any replacement possible, using a "description_name"
of the SDs to have the same functionnalities or something of the like?


Best Regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device


From remi at remlab.net  Tue Jun 21 09:33:06 2011
From: remi at remlab.net (=?UTF-8?Q?R=C3=A9mi_Denis-Courmont?=)
Date: Tue, 21 Jun 2011 09:33:06 +0200
Subject: [vlc-devel]
 =?utf-8?q?=5Bvlc-commits=5D_Deprecate_playlist=5FIsSe?=
 =?utf-8?q?rvicesDiscoveryLoaded=28=29?=
In-Reply-To: <20110621070515.GA12492@videolan.org>
References: <20110620163156.7619313EEF5@albiero.videolan.org>
	<20110621070515.GA12492@videolan.org>
Message-ID: <8c01fa57c1c9626f2925ac40ea31f07c@chewa.net>

On Tue, 21 Jun 2011 09:05:16 +0200, Jean-Baptiste Kempf 
wrote:
> I don't understand all the vlc_object naming changes in 1.2, I have to
> say, but is there any replacement possible, using a "description_name"
> of the SDs to have the same functionnalities or something of the like?

This is not related. This is entirely due to LUA and configuration chains.

This is already not working correctly in VLC 1.1.

-- 
R?mi Denis-Courmont
http://www.remlab.net/


From jb at videolan.org  Tue Jun 21 09:40:41 2011
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Tue, 21 Jun 2011 09:40:41 +0200
Subject: [vlc-devel] [vlc-commits] Deprecate
 playlist_IsServicesDiscoveryLoaded()
In-Reply-To: <8c01fa57c1c9626f2925ac40ea31f07c@chewa.net>
References: <20110620163156.7619313EEF5@albiero.videolan.org>
	<20110621070515.GA12492@videolan.org>
	<8c01fa57c1c9626f2925ac40ea31f07c@chewa.net>
Message-ID: <20110621074041.GW13871@videolan.org>

On Tue, Jun 21, 2011 at 09:33:06AM +0200, R?mi Denis-Courmont wrote :
> On Tue, 21 Jun 2011 09:05:16 +0200, Jean-Baptiste Kempf 
> wrote:
> > I don't understand all the vlc_object naming changes in 1.2, I have to
> > say, but is there any replacement possible, using a "description_name"
> > of the SDs to have the same functionnalities or something of the like?
> 
> This is already not working correctly in VLC 1.1.

Sure, but this doesn't answer the question "is there any replacement
possible..?" to be able to go forward...

Best Regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device


From remi at remlab.net  Tue Jun 21 10:12:17 2011
From: remi at remlab.net (=?UTF-8?Q?R=C3=A9mi_Denis-Courmont?=)
Date: Tue, 21 Jun 2011 10:12:17 +0200
Subject: [vlc-devel]
 =?utf-8?q?=5Bvlc-commits=5D_Deprecate_playlist=5FIsSe?=
 =?utf-8?q?rvicesDiscoveryLoaded=28=29?=
In-Reply-To: <20110621074041.GW13871@videolan.org>
References: <20110620163156.7619313EEF5@albiero.videolan.org>
	<20110621070515.GA12492@videolan.org>
	<8c01fa57c1c9626f2925ac40ea31f07c@chewa.net>
	<20110621074041.GW13871@videolan.org>
Message-ID: <4926bb203519d0195ec87546bf67377c@chewa.net>

On Tue, 21 Jun 2011 09:40:41 +0200, Jean-Baptiste Kempf 
wrote:
> On Tue, Jun 21, 2011 at 09:33:06AM +0200, R?mi Denis-Courmont wrote :
>> On Tue, 21 Jun 2011 09:05:16 +0200, Jean-Baptiste Kempf

>> wrote:
>> > I don't understand all the vlc_object naming changes in 1.2, I have
to
>> > say, but is there any replacement possible, using a
"description_name"
>> > of the SDs to have the same functionnalities or something of the
like?
>> 
>> This is already not working correctly in VLC 1.1.
> 
> Sure, but this doesn't answer the question "is there any replacement
> possible..?" to be able to go forward...

As I said, I don't see any reasonable way to implement that (except for
removing LUA SD).

-- 
R?mi Denis-Courmont
http://www.remlab.net/


From jb at videolan.org  Tue Jun 21 14:13:04 2011
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Tue, 21 Jun 2011 14:13:04 +0200
Subject: [vlc-devel] [PATCH] LUA HTTP UI - Adjustments
In-Reply-To: <20110620175157.195432xq9igrzl6l@webmail.thebrooksfamilyonline.com>
References: <20110620175157.195432xq9igrzl6l@webmail.thebrooksfamilyonline.com>
Message-ID: <20110621121304.GA7931@videolan.org>

On Mon, Jun 20, 2011 at 05:51:57PM -0400, Elminster2031 wrote :
> 1) Add VLC Icons
> 2) Re-arrange Viewer / Library windows
> 3) Re-define some button names
> 4) Change some icons to improve clairity
> 5) Long press on Prev / Next buttons now seek back / forward

Applied.

Best Regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device


From marcosfrm at gmail.com  Tue Jun 21 15:58:39 2011
From: marcosfrm at gmail.com (Marcos Mello)
Date: Tue, 21 Jun 2011 13:58:39 +0000 (UTC)
Subject: [vlc-devel] Why not use ffaac by default?
Message-ID: 

Hi,

Currently VLC 1.2.0-git uses FAAD2 for AAC decoding (at least on Windows).
libavcodec (ffaac) is said to be much faster and is the dafault in MPlayer for
some time now.

I tested some videos I have here calling VLC with "--codec avcodec" and AAC
decoding works as expected. LATM/LOAS is also supported by libavcodec, BTW.

There was a lot of work in libavcodec AAC decoder since last year and I suppose
the code is mature enough.

Marcos



From jb at videolan.org  Tue Jun 21 16:07:56 2011
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Tue, 21 Jun 2011 16:07:56 +0200
Subject: [vlc-devel] Why not use ffaac by default?
In-Reply-To: 
References: 
Message-ID: <20110621140756.GA29843@videolan.org>

On Tue, Jun 21, 2011 at 01:58:39PM +0000, Marcos Mello wrote :
> Currently VLC 1.2.0-git uses FAAD2 for AAC decoding (at least on Windows).
> libavcodec (ffaac) is said to be much faster
 ?

> I tested some videos I have here calling VLC with "--codec avcodec" and AAC
> decoding works as expected. LATM/LOAS is also supported by libavcodec, BTW.

I remember, not long time ago (less than 3 months) that a lot of samples
were broken.

Try it:
http://streams.videolan.org/Mpeg_Conformance/ftp.iis.fhg.de/

Best Regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device


From jb at videolan.org  Tue Jun 21 17:05:09 2011
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Tue, 21 Jun 2011 17:05:09 +0200
Subject: [vlc-devel] =?utf-8?q?=5BPATCH=5D_Bluray=3A_changing_the_module_t?=
	=?utf-8?q?ype_from_access_to_access=5Fdemux?=
Message-ID: <1308668709-22440-1-git-send-email-jb@videolan.org>

Signed-off-by: Jean-Baptiste Kempf 
---
 modules/access/bluray.c |  290 ++++++++++++++++++++++++++++-------------------
 1 files changed, 171 insertions(+), 119 deletions(-)

diff --git a/modules/access/bluray.c b/modules/access/bluray.c
index 98d9e98..c1d8644 100644
--- a/modules/access/bluray.c
+++ b/modules/access/bluray.c
@@ -1,7 +1,9 @@
 /*****************************************************************************
  * bluray.c: Blu-ray disc support plugin
  *****************************************************************************
- * Copyright (C) 2010 VideoLAN, VLC authors and libbluray AUTHORS
+ * Copyright ? 2010-2011 VideoLAN, VLC authors and libbluray AUTHORS
+ *
+ * Authors: Jean-Baptiste Kempf 
  *
  * 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
@@ -22,21 +24,17 @@
 # include "config.h"
 #endif
 
-#ifdef HAVE_SYS_STAT_H
-#   include 
-#endif
-
 #include 
-#include 
+#include                          /* PATH_MAX */
 
 #include 
 #include 
-#include 
-#include 
-#include 
-#include 
+#include                       /* demux_t */
+#include                       /* Seekpoints, chapters */
+#include                      /* BD+/AACS warnings */
 
 #include 
+#include 
 
 /*****************************************************************************
  * Module descriptor
@@ -55,83 +53,91 @@ vlc_module_begin ()
 
     set_category( CAT_INPUT )
     set_subcategory( SUBCAT_INPUT_ACCESS )
-    set_capability( "access", 60 )
+    set_capability( "access_demux", 200)
 
     add_integer( "bluray-caching", 1000,
         CACHING_TEXT, CACHING_LONGTEXT, true )
 
-    add_shortcut( "bluray" )
-    add_shortcut( "file" )
+    add_shortcut( "bluray", "file" )
 
     set_callbacks( blurayOpen, blurayClose )
 vlc_module_end ()
 
-/*****************************************************************************
- * Local prototypes
- *****************************************************************************/
 
-struct access_sys_t
+struct demux_sys_t
 {
-    BLURAY *bluray; /* */
+    BLURAY         *bluray;
 
     /* Titles */
-    unsigned int i_title;
-    unsigned int i_longest_title;
-    input_title_t   **pp_title;
+    unsigned int    i_title;
+    unsigned int    i_longest_title;
+    input_title_t **pp_title;
 
-    int i_bd_delay;
+    /* caching */
+    int             i_bd_delay;
+
+    /* TS stream */
+    stream_t       *p_parser;
 };
 
-static ssize_t blurayRead   (access_t *, uint8_t *, size_t);
-static int     bluraySeek   (access_t *, uint64_t);
-static int     blurayControl(access_t *, int, va_list);
-static int     blurayInitTitles(access_t *p_access );
-static int     bluraySetTitle(access_t *p_access, int i_title);
+/*****************************************************************************
+ * Local prototypes
+ *****************************************************************************/
+static int     blurayControl(demux_t *, int, va_list);
+static int     blurayDemux  (demux_t *);
+
+static int     blurayInitTitles(demux_t *p_demux );
+static int     bluraySetTitle(demux_t *p_demux, int i_title);
+
+#define FROM_TICKS(a) (a*CLOCK_FREQ / INT64_C(90000))
+#define TO_TICKS(a)   (a*INT64_C(90000)/CLOCK_FREQ)
+#define CUR_LENGTH    p_sys->pp_title[p_demux->info.i_title]->i_length
 
 /*****************************************************************************
  * blurayOpen: module init function
  *****************************************************************************/
 static int blurayOpen( vlc_object_t *object )
 {
-    access_t *p_access = (access_t*)object;
+    demux_t *p_demux = (demux_t*)object;
+    demux_sys_t *p_sys;
 
-    access_sys_t *p_sys;
     char *pos_title;
     int i_title = -1;
     char bd_path[PATH_MAX];
 
-    if( strcmp( p_access->psz_access, "bluray" ) ) {
+    if (strcmp(p_demux->psz_access, "bluray")) {
         // TODO BDMV support, once we figure out what to do in libbluray
         return VLC_EGENERIC;
     }
 
-    /* init access fields */
-    access_InitFields(p_access);
-
-    /* register callback function for communication */
-    ACCESS_SET_CALLBACKS(blurayRead, NULL, blurayControl, bluraySeek);
-
-    p_access->p_sys = p_sys = malloc(sizeof(access_sys_t));
+    /* */
+    p_demux->p_sys = p_sys = malloc(sizeof(*p_sys));
     if (unlikely(!p_sys)) {
         return VLC_ENOMEM;
     }
+    p_sys->p_parser = NULL;
+
+    /* init demux info fields */
+    p_demux->info.i_update    = 0;
+    p_demux->info.i_title     = 0;
+    p_demux->info.i_seekpoint = 0;
 
     TAB_INIT( p_sys->i_title, p_sys->pp_title );
 
     /* store current bd_path */
-    strncpy(bd_path, p_access->psz_location, sizeof(bd_path));
+    strncpy(bd_path, p_demux->psz_location, sizeof(bd_path));
     bd_path[PATH_MAX - 1] = '\0';
 
     p_sys->bluray = bd_open(bd_path, NULL);
-    if ( !p_sys->bluray ) {
+    if (!p_sys->bluray) {
         free(p_sys);
         return VLC_EGENERIC;
     }
 
     /* Warning the user about AACS/BD+ */
     const BLURAY_DISC_INFO *disc_info = bd_get_disc_info(p_sys->bluray);
-    msg_Dbg (p_access, "First play: %i, Top menu: %i\n"
-                       "HDMV Titles: %i, BDJ Titles: %i, Other: %i",
+    msg_Info(p_demux, "First play: %i, Top menu: %i\n"
+                      "HDMV Titles: %i, BD-J Titles: %i, Other: %i",
              disc_info->first_play_supported, disc_info->top_menu_supported,
              disc_info->num_hdmv_titles, disc_info->num_bdj_titles,
              disc_info->num_unsupported_titles);
@@ -139,14 +145,14 @@ static int blurayOpen( vlc_object_t *object )
     /* AACS */
     if (disc_info->aacs_detected) {
         if (!disc_info->libaacs_detected) {
-            dialog_Fatal (p_access, _("Blu-Ray error"),
+            dialog_Fatal (p_demux, _("Blu-Ray error"),
                     _("This Blu-Ray Disc needs a library for AACS decoding, "
                       "and your system does not have it."));
             blurayClose(object);
             return VLC_EGENERIC;
         }
         if (!disc_info->aacs_handled) {
-            dialog_Fatal (p_access, _("Blu-Ray error"),
+            dialog_Fatal (p_demux, _("Blu-Ray error"),
                     _("Your system AACS decoding library does not work. "
                       "Missing keys?"));
             blurayClose(object);
@@ -157,14 +163,14 @@ static int blurayOpen( vlc_object_t *object )
     /* BD+ */
     if (disc_info->bdplus_detected) {
         if (!disc_info->libbdplus_detected) {
-            dialog_Fatal (p_access, _("Blu-Ray error"),
+            dialog_Fatal (p_demux, _("Blu-Ray error"),
                     _("This Blu-Ray Disc needs a library for BD+ decoding, "
                       "and your system does not have it."));
             blurayClose(object);
             return VLC_EGENERIC;
         }
         if (!disc_info->bdplus_handled) {
-            dialog_Fatal (p_access, _("Blu-Ray error"),
+            dialog_Fatal (p_demux, _("Blu-Ray error"),
                     _("Your system BD+ decoding library does not work. "
                       "Missing configuration?"));
             blurayClose(object);
@@ -173,26 +179,34 @@ static int blurayOpen( vlc_object_t *object )
     }
 
     /* Get titles and chapters */
-    if (blurayInitTitles(p_access) != VLC_SUCCESS) {
+    if (blurayInitTitles(p_demux) != VLC_SUCCESS) {
         blurayClose(object);
         return VLC_EGENERIC;
     }
 
     /* get title request */
-    if ( (pos_title = strrchr(bd_path, ':')) ) {
+    if ((pos_title = strrchr(bd_path, ':'))) {
         /* found character ':' for title information */
         *(pos_title++) = '\0';
         i_title = atoi(pos_title);
     }
 
     /* set start title number */
-    if ( bluraySetTitle(p_access, i_title) != VLC_SUCCESS ) {
-        msg_Err( p_access, "Could not set the title %d", i_title );
+    if (bluraySetTitle(p_demux, i_title) != VLC_SUCCESS) {
+        msg_Err( p_demux, "Could not set the title %d", i_title );
         blurayClose(object);
         return VLC_EGENERIC;
     }
 
-    p_sys->i_bd_delay = var_InheritInteger(p_access, "bluray-caching");
+    p_sys->i_bd_delay = var_InheritInteger(p_demux, "bluray-caching");
+    p_sys->p_parser   = stream_DemuxNew(p_demux, "ts", p_demux->out);
+    if (!p_sys->p_parser) {
+        msg_Err(p_demux, "Failed to create TS demuxer");
+        return VLC_EGENERIC;
+    }
+
+    p_demux->pf_control = blurayControl;
+    p_demux->pf_demux   = blurayDemux;
 
     return VLC_SUCCESS;
 }
@@ -203,8 +217,11 @@ static int blurayOpen( vlc_object_t *object )
  *****************************************************************************/
 static void blurayClose( vlc_object_t *object )
 {
-    access_t *p_access = (access_t*)object;
-    access_sys_t *p_sys = p_access->p_sys;
+    demux_t *p_demux = (demux_t*)object;
+    demux_sys_t *p_sys = p_demux->p_sys;
+
+    if (p_sys->p_parser)
+        stream_Delete(p_sys->p_parser);
 
     /* Titles */
     for (unsigned int i = 0; i < p_sys->i_title; i++)
@@ -217,12 +234,13 @@ static void blurayClose( vlc_object_t *object )
     free(p_sys);
 }
 
-static int blurayInitTitles(access_t *p_access )
+
+static int blurayInitTitles(demux_t *p_demux )
 {
-    access_sys_t *p_sys = p_access->p_sys;
+    demux_sys_t *p_sys = p_demux->p_sys;
 
     /* get and set the titles */
-    unsigned i_title = bd_get_titles(p_sys->bluray, TITLES_RELEVANT, 0);
+    unsigned i_title = bd_get_titles(p_sys->bluray, TITLES_RELEVANT, 60);
     int64_t duration = 0;
 
     for (unsigned int i = 0; i < i_title; i++) {
@@ -233,7 +251,7 @@ static int blurayInitTitles(access_t *p_access )
         BLURAY_TITLE_INFO *title_info = bd_get_title_info(p_sys->bluray, i, 0);
         if (!title_info)
             break;
-        t->i_length = title_info->duration * CLOCK_FREQ / INT64_C(90000);
+        t->i_length = FROM_TICKS(title_info->duration);
 
         if (t->i_length > duration) {
             duration = t->i_length;
@@ -242,7 +260,7 @@ static int blurayInitTitles(access_t *p_access )
 
         for ( unsigned int j = 0; j < title_info->chapter_count; j++) {
             seekpoint_t *s = vlc_seekpoint_New();
-            if( !s )
+            if (!s)
                 break;
             s->i_time_offset = title_info->chapters[j].offset;
 
@@ -254,32 +272,32 @@ static int blurayInitTitles(access_t *p_access )
     return VLC_SUCCESS;
 }
 
+
 /*****************************************************************************
  * bluraySetTitle: select new BD title
  *****************************************************************************/
-static int bluraySetTitle(access_t *p_access, int i_title)
+static int bluraySetTitle(demux_t *p_demux, int i_title)
 {
-    access_sys_t *p_sys = p_access->p_sys;
+    demux_sys_t *p_sys = p_demux->p_sys;
 
     /* Looking for the main title, ie the longest duration */
-    if (i_title == -1)
+    if (i_title < 0)
         i_title = p_sys->i_longest_title;
+    else if ((unsigned)i_title > p_sys->i_title)
+        return VLC_EGENERIC;
 
-    msg_Dbg( p_access, "Selecting Title %i", i_title);
+    msg_Dbg( p_demux, "Selecting Title %i", i_title);
 
     /* Select Blu-Ray title */
-    if ( bd_select_title(p_access->p_sys->bluray, i_title) == 0 ) {
-        msg_Err( p_access, "cannot select bd title '%d'", p_access->info.i_title);
+    if (bd_select_title(p_demux->p_sys->bluray, i_title) == 0 ) {
+        msg_Err(p_demux, "cannot select bd title '%d'", p_demux->info.i_title);
         return VLC_EGENERIC;
     }
 
-    /* read title length and init some values */
-    p_access->info.i_title = i_title;
-    p_access->info.i_size  = bd_get_title_size(p_sys->bluray);
-    p_access->info.i_pos   = 0;
-    p_access->info.b_eof   = false;
-    p_access->info.i_seekpoint = 0;
-    p_access->info.i_update |= INPUT_UPDATE_TITLE | INPUT_UPDATE_SEEKPOINT;
+    /* read title info and init some values */
+    p_demux->info.i_title = i_title;
+    p_demux->info.i_seekpoint = 0;
+    p_demux->info.i_update |= INPUT_UPDATE_TITLE | INPUT_UPDATE_SEEKPOINT;
 
     return VLC_SUCCESS;
 }
@@ -288,46 +306,45 @@ static int bluraySetTitle(access_t *p_access, int i_title)
 /*****************************************************************************
  * blurayControl: handle the controls
  *****************************************************************************/
-static int blurayControl(access_t *p_access, int query, va_list args)
+static int blurayControl(demux_t *p_demux, int query, va_list args)
 {
-    access_sys_t *p_sys = p_access->p_sys;
+    demux_sys_t *p_sys = p_demux->p_sys;
     bool     *pb_bool;
     int64_t  *pi_64;
 
     switch (query) {
-        case ACCESS_CAN_SEEK:
-        case ACCESS_CAN_FASTSEEK:
-        case ACCESS_CAN_PAUSE:
-        case ACCESS_CAN_CONTROL_PACE:
+        case DEMUX_CAN_SEEK:
+        case DEMUX_CAN_PAUSE:
+        case DEMUX_CAN_CONTROL_PACE:
              pb_bool = (bool*)va_arg( args, bool * );
              *pb_bool = true;
              break;
 
-        case ACCESS_GET_PTS_DELAY:
+        case DEMUX_GET_PTS_DELAY:
             pi_64 = (int64_t*)va_arg( args, int64_t * );
             *pi_64 = p_sys->i_bd_delay;
             break;
 
-        case ACCESS_SET_PAUSE_STATE:
+        case DEMUX_SET_PAUSE_STATE:
             /* Nothing to do */
             break;
 
-        case ACCESS_SET_TITLE:
+        case DEMUX_SET_TITLE:
         {
             int i_title = (int)va_arg( args, int );
-            if( bluraySetTitle( p_access, i_title ) != VLC_SUCCESS )
+            if (bluraySetTitle(p_demux, i_title) != VLC_SUCCESS)
                 return VLC_EGENERIC;
             break;
         }
-        case ACCESS_SET_SEEKPOINT:
+        case DEMUX_SET_SEEKPOINT:
         {
             int i_chapter = (int)va_arg( args, int );
             bd_seek_chapter( p_sys->bluray, i_chapter );
-            p_access->info.i_update = INPUT_UPDATE_SEEKPOINT;
+            p_demux->info.i_update = INPUT_UPDATE_SEEKPOINT;
             break;
         }
 
-        case ACCESS_GET_TITLE_INFO:
+        case DEMUX_GET_TITLE_INFO:
         {
             input_title_t ***ppp_title = (input_title_t***)va_arg( args, input_title_t*** );
             int *pi_int             = (int*)va_arg( args, int* );
@@ -346,56 +363,91 @@ static int blurayControl(access_t *p_access, int query, va_list args)
 
             return VLC_SUCCESS;
         }
-        case ACCESS_SET_PRIVATE_ID_STATE:
-        case ACCESS_GET_CONTENT_TYPE:
-        case ACCESS_GET_META:
-            return VLC_EGENERIC;
 
-        default:
-            msg_Warn( p_access, "unimplemented query (%d) in control", query );
-            return VLC_EGENERIC;
-    }
+        case DEMUX_GET_LENGTH:
+        {
+            int64_t *pi_length = (int64_t*)va_arg(args, int64_t *);
+            *pi_length = CUR_LENGTH;
+            return VLC_SUCCESS;
+        }
+        case DEMUX_SET_TIME:
+        {
+            int64_t i_time = (int64_t)va_arg(args, int64_t);
+            bd_seek_time(p_sys->bluray, TO_TICKS(i_time));
+            return VLC_SUCCESS;
+        }
+        case DEMUX_GET_TIME:
+        {
+            int64_t *pi_time = (int64_t*)va_arg(args, int64_t *);
+            *pi_time = (int64_t)FROM_TICKS(bd_tell_time(p_sys->bluray));
+            return VLC_SUCCESS;
+        }
 
-    return VLC_SUCCESS;
-}
+        case DEMUX_GET_POSITION:
+        {
+            double *pf_position = (double*)va_arg( args, double * );
+            *pf_position = (double)FROM_TICKS(bd_tell_time(p_sys->bluray))/CUR_LENGTH;
+            return VLC_SUCCESS;
+        }
+        case DEMUX_SET_POSITION:
+        {
+            double f_position = (double)va_arg(args, double);
+            bd_seek_time(p_sys->bluray, TO_TICKS(f_position*CUR_LENGTH));
+            return VLC_SUCCESS;
+        }
 
+        case DEMUX_GET_META:
+        {
+            struct meta_dl *meta = bd_get_meta(p_sys->bluray);
+            vlc_meta_t *p_meta = (vlc_meta_t *) va_arg (args, vlc_meta_t*);
 
-/*****************************************************************************
- * bluraySeek: seek to the given position
- *****************************************************************************/
-static int bluraySeek(access_t *p_access, uint64_t position)
-{
-    access_sys_t *p_sys = p_access->p_sys;
+            if (!EMPTY_STR(meta->di_name)) vlc_meta_SetTitle(p_meta, meta->di_name);
 
-    p_access->info.i_pos = bd_seek(p_sys->bluray, position);
-    p_access->info.b_eof = false;
+            if (!EMPTY_STR(meta->language_code)) vlc_meta_AddExtra(p_meta, "Language", meta->language_code);
+            if (!EMPTY_STR(meta->filename)) vlc_meta_AddExtra(p_meta, "Filename", meta->filename);
+            if (!EMPTY_STR(meta->di_alternative)) vlc_meta_AddExtra(p_meta, "Alternative", meta->di_alternative);
 
+            // if (meta->di_set_number > 0) vlc_meta_SetTrackNum(p_meta, meta->di_set_number);
+            // if (meta->di_num_sets > 0) vlc_meta_AddExtra(p_meta, "Discs numbers in Set", meta->di_num_sets);
+
+            if (meta->thumb_count > 0 && meta->thumbnails) {
+                vlc_meta_SetArtURL(p_meta, meta->thumbnails[0].path);
+            }
+
+            return VLC_SUCCESS;
+        }
+
+        case DEMUX_CAN_RECORD:
+        case DEMUX_GET_FPS:
+        case DEMUX_SET_GROUP:
+        case DEMUX_HAS_UNSUPPORTED_META:
+        case DEMUX_GET_ATTACHMENTS:
+            return VLC_EGENERIC;
+        default:
+            msg_Warn( p_demux, "unimplemented query (%d) in control", query );
+            return VLC_EGENERIC;
+    }
     return VLC_SUCCESS;
 }
 
 
-/*****************************************************************************
- * blurayRead: read BD data into buffer
- *****************************************************************************/
-static ssize_t blurayRead(access_t *p_access, uint8_t *data, size_t size)
+#define BD_TS_PACKET_SIZE (192)
+#define NB_TS_PACKETS (200)
+
+static int blurayDemux(demux_t *p_demux)
 {
-    access_sys_t *p_sys = p_access->p_sys;
-    int nread;
+    demux_sys_t *p_sys = p_demux->p_sys;
 
-    if (p_access->info.b_eof) {
-        return 0;
+    block_t *p_block = block_New(p_demux, NB_TS_PACKETS * (int64_t)BD_TS_PACKET_SIZE);
+    if (!p_block) {
+        return -1;
     }
 
-    /* read data into buffer with given length */
-    nread = bd_read(p_sys->bluray, data, size);
+    int nread = bd_read(p_sys->bluray, p_block->p_buffer,
+                        NB_TS_PACKETS * (int64_t)BD_TS_PACKET_SIZE);
+    p_block->i_buffer = nread;
 
-    if( nread == 0 ) {
-        p_access->info.b_eof = true;
-    }
-    else if( nread > 0 ) {
-        p_access->info.i_pos += nread;
-    }
+    stream_DemuxSend( p_sys->p_parser, p_block );
 
-    return nread;
+    return 1;
 }
-
-- 
1.7.5.4



From remi at remlab.net  Tue Jun 21 17:50:32 2011
From: remi at remlab.net (=?utf-8?q?R=C3=A9mi?= Denis-Courmont)
Date: Tue, 21 Jun 2011 18:50:32 +0300
Subject: [vlc-devel] [PATCH] Bluray: changing the module type from
	access to access_demux
In-Reply-To: <1308668709-22440-1-git-send-email-jb@videolan.org>
References: <1308668709-22440-1-git-send-email-jb@videolan.org>
Message-ID: <201106211850.33991.remi@remlab.net>

Le mardi 21 juin 2011 18:05:09 Jean-Baptiste Kempf, vous avez ?crit :
> Signed-off-by: Jean-Baptiste Kempf 

As for RTP, using an access_demux and a TS stream_demux will hide and hinder 
some of the functionality of the TS demux. Indeed, the stream_demux API cannot 
forward control requests from the access_demux to the demux (allowing this 
without deadlocks would be really hard).

As for reading "file" URLs, this should be done by a demux, not an 
access_demux.

-- 
R?mi Denis-Courmont
http://www.remlab.net/
http://fi.linkedin.com/in/remidenis


From jb at videolan.org  Tue Jun 21 18:00:33 2011
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Tue, 21 Jun 2011 18:00:33 +0200
Subject: [vlc-devel] [PATCH] Bluray: changing the module type from
 access to access_demux
In-Reply-To: <201106211850.33991.remi@remlab.net>
References: <1308668709-22440-1-git-send-email-jb@videolan.org>
	<201106211850.33991.remi@remlab.net>
Message-ID: <20110621160033.GA18087@videolan.org>

On Tue, Jun 21, 2011 at 06:50:32PM +0300, R?mi Denis-Courmont wrote :
> As for RTP, using an access_demux and a TS stream_demux will hide and hinder 
> some of the functionality of the TS demux. Indeed, the stream_demux API cannot 
> forward control requests from the access_demux to the demux (allowing this 
> without deadlocks would be really hard).

While this is probably the case, the bd module does use a TS
stream_demux, too. And the current module being just an "access" is not
enough to be useful; the modification makes it usable and working.
So, yes, it is probably limited, but what else do you suggest?

> As for reading "file" URLs, this should be done by a demux, not an 
> access_demux.

If you are referring to shortcuts, I am merely doing what dvdnav module
is doing.

Best Regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device


From etix at l0cal.com  Wed Jun 22 16:29:56 2011
From: etix at l0cal.com (Ludovic Fauvet)
Date: Wed, 22 Jun 2011 16:29:56 +0200
Subject: [vlc-devel] [PATCH] nsis: ensure that the files are not is use
	before proceeding
Message-ID: 

Hi all,

A simple patch (dispite the size) for the Windows installer to ensure
that VLC (or any of its libraries) is not in use during the
(un)install process and thus avoid the recent user complaints about
install failures.
Note that once applied, the translators will need to update their
language file in extras/package/win32/languages/ to support the new
extra strings.

I've taken a screenshot so you can preview the result without having
to build the whole thing:
http://img27.imageshack.us/img27/2815/vlcnsis.png

Regards

-- 
Ludovic Fauvet (etix)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-nsis-ensure-that-the-files-are-not-is-use-before-pro.patch
Type: text/x-patch
Size: 28493 bytes
Desc: not available
URL: 

From kaarlo.raiha at gmail.com  Wed Jun 22 18:30:16 2011
From: kaarlo.raiha at gmail.com (=?ISO-8859-1?B?S2FhcmxvIFLkaWjk?=)
Date: Wed, 22 Jun 2011 19:30:16 +0300
Subject: [vlc-devel] [PATCH] nsis: ensure that the files are not is use
 before proceeding
In-Reply-To: 
References: 
Message-ID: 

2011/6/22 Ludovic Fauvet 

> Hi all,
>
> A simple patch (dispite the size) for the Windows installer to ensure
> that VLC (or any of its libraries) is not in use during the
> (un)install process and thus avoid the recent user complaints about
> install failures.
> Note that once applied, the translators will need to update their
> language file in extras/package/win32/languages/ to support the new
> extra strings.
>
> I've taken a screenshot so you can preview the result without having
> to build the whole thing:
> http://img27.imageshack.us/img27/2815/vlcnsis.png
>
> Regards
>

I can test this during weekend if others are busy.


>
> --
> Ludovic Fauvet (etix)
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From marcosfrm at gmail.com  Wed Jun 22 18:39:29 2011
From: marcosfrm at gmail.com (Marcos Mello)
Date: Wed, 22 Jun 2011 16:39:29 +0000 (UTC)
Subject: [vlc-devel] Why not use ffaac by default?
References: 
	<20110621140756.GA29843@videolan.org>
Message-ID: 

Jean-Baptiste Kempf  videolan.org> writes:
> 
> On Tue, Jun 21, 2011 at 01:58:39PM +0000, Marcos Mello wrote :
> > Currently VLC 1.2.0-git uses FAAD2 for AAC decoding (at least on Windows).
> > libavcodec (ffaac) is said to be much faster
>  ?

Well, I didn't run benchmark tests. I was talking based on what I read about it,
like
http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2008-August/042594.html
http://thread.gmane.org/gmane.comp.video.mplayer.devel/58039/focus=58093
http://git.videolan.org/?p=vlc.git;a=commit;h=d0a0c3586614563e844b4083f28f96506c58444f

Handbrake also dropped libfaad:
https://trac.handbrake.fr/changeset/3793

> I remember, not long time ago (less than 3 months) that a lot of samples
> were broken.
> 
> Try it:
> http://streams.videolan.org/Mpeg_Conformance/ftp.iis.fhg.de/
> 

Not sure if I have knowledge to do that.

Regards,

Marcos



From elminster2031 at archmageinc.com  Wed Jun 22 19:15:15 2011
From: elminster2031 at archmageinc.com (Elminster2031)
Date: Wed, 22 Jun 2011 13:15:15 -0400
Subject: [vlc-devel] LUA HTTP interface - json?
Message-ID: <201106221315.15848.elminster2031@archmageinc.com>

>Very good idea if that is in ADDITION to xml, and not a replacement.

If we have JSON, why would we need XML anymore? I mean, besides 
having to re-write the JS controlers?


From alexey at alexeysokolov.co.cc  Wed Jun 22 19:28:45 2011
From: alexey at alexeysokolov.co.cc (Alexey Sokolov)
Date: Thu, 23 Jun 2011 00:28:45 +0700
Subject: [vlc-devel] LUA HTTP interface - json?
In-Reply-To: <201106221315.15848.elminster2031@archmageinc.com>
References: <201106221315.15848.elminster2031@archmageinc.com>
Message-ID: <4E02264D.7050208@alexeysokolov.co.cc>

Hi.

On 23.06.2011 00:15, Elminster2031 wrote:
>> Very good idea if that is in ADDITION to xml, and not a replacement.
> If we have JSON, why would we need XML anymore? I mean, besides
> having to re-write the JS controlers?
Backward-compatibility with stuff which already parses this XML.

-- 
Best regards,
Alexey "DarthGandalf" Sokolov



From jb at videolan.org  Wed Jun 22 19:29:04 2011
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Wed, 22 Jun 2011 19:29:04 +0200
Subject: [vlc-devel] LUA HTTP interface - json?
In-Reply-To: <201106221315.15848.elminster2031@archmageinc.com>
References: <201106221315.15848.elminster2031@archmageinc.com>
Message-ID: <20110622172904.GA14449@videolan.org>

On Wed, Jun 22, 2011 at 01:15:15PM -0400, Elminster2031 wrote :
> >Very good idea if that is in ADDITION to xml, and not a replacement.
> 
> If we have JSON, why would we need XML anymore? I mean, besides 
> having to re-write the JS controlers?

Compatibility?
The fact that not everyone is a web-developer these days and that xml is
more used in desktop apps and appliances than json?


-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device


From elminster2031 at archmageinc.com  Wed Jun 22 19:30:44 2011
From: elminster2031 at archmageinc.com (Elminster2031)
Date: Wed, 22 Jun 2011 13:30:44 -0400
Subject: [vlc-devel] LUA HTTP interface - json?
In-Reply-To: <20110622172904.GA14449@videolan.org>
References: <201106221315.15848.elminster2031@archmageinc.com>
	<20110622172904.GA14449@videolan.org>
Message-ID: <20110622133044.11866lrpa9jwhj2c@webmail.thebrooksfamilyonline.com>

> On Wed, Jun 22, 2011 at 01:15:15PM -0400, Elminster2031 wrote :
>> >Very good idea if that is in ADDITION to xml, and not a replacement.
>>
>> If we have JSON, why would we need XML anymore? I mean, besides
>> having to re-write the JS controlers?
>
> Compatibility?
> The fact that not everyone is a web-developer these days and that xml is
> more used in desktop apps and appliances than json?

Then why worry about JSON at all?


From mehrotra.akash at gmail.com  Wed Jun 22 21:37:58 2011
From: mehrotra.akash at gmail.com (akash mehrotra)
Date: Thu, 23 Jun 2011 01:07:58 +0530
Subject: [vlc-devel] [PATCH] Luahttp can access equalizer settings
In-Reply-To: <201106210142.51588.fcvlcdev@free.fr>
References: 
	<1308585768.8351.20.camel@localhost>
	
	<201106210142.51588.fcvlcdev@free.fr>
Message-ID: 

On Tue, Jun 21, 2011 at 5:12 AM, Francois Cartegnie wrote:

> Le lundi 20 juin 2011, akash mehrotra a ?crit :
> > Fixed and new patch attached..
>
> >+        aout_instance_t *p_aout = input_GetAout( p_input );
> >...
> >+        vlc_object_release( p_aout );
>
> No check before release ?
>
> >+    
> >+    
>
> No way. Told you on IRC: This is spreadsheet, not XML.
>
> Francois
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-luahttp-can-access-and-modify-equalizer-bands.patch
Type: application/octet-stream
Size: 6267 bytes
Desc: not available
URL: 

From mehrotra.akash at gmail.com  Wed Jun 22 21:38:20 2011
From: mehrotra.akash at gmail.com (akash mehrotra)
Date: Thu, 23 Jun 2011 01:08:20 +0530
Subject: [vlc-devel] [PATCH] Luahttp can access equalizer settings
In-Reply-To: 
References: 
	<1308585768.8351.20.camel@localhost>
	
	<201106210142.51588.fcvlcdev@free.fr>
	
Message-ID: 

Fixed as per suggestions

On Thu, Jun 23, 2011 at 1:07 AM, akash mehrotra wrote:

>
>
> On Tue, Jun 21, 2011 at 5:12 AM, Francois Cartegnie wrote:
>
>> Le lundi 20 juin 2011, akash mehrotra a ?crit :
>> > Fixed and new patch attached..
>>
>> >+        aout_instance_t *p_aout = input_GetAout( p_input );
>> >...
>> >+        vlc_object_release( p_aout );
>>
>> No check before release ?
>>
>> >+    > ?>
>> >+    > ?>
>>
>> No way. Told you on IRC: This is spreadsheet, not XML.
>>
>> Francois
>> _______________________________________________
>> vlc-devel mailing list
>> To unsubscribe or modify your subscription options:
>> http://mailman.videolan.org/listinfo/vlc-devel
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-luahttp-can-access-and-modify-equalizer-bands.patch
Type: application/octet-stream
Size: 6267 bytes
Desc: not available
URL: 

From gntest at gmail.com  Wed Jun 22 13:36:31 2011
From: gntest at gmail.com (George Nassar)
Date: Wed, 22 Jun 2011 11:36:31 +0000 (UTC)
Subject: [vlc-devel] Why not use ffaac by default?
References: 
	<20110621140756.GA29843@videolan.org>
Message-ID: 

Jean-Baptiste Kempf  videolan.org> writes:

> 
> On Tue, Jun 21, 2011 at 01:58:39PM +0000, Marcos Mello wrote :
> > Currently VLC 1.2.0-git uses FAAD2 for AAC decoding (at least on Windows).
> > libavcodec (ffaac) is said to be much faster
>  ?
> 
> > I tested some videos I have here calling VLC with "--codec avcodec" and AAC
> > decoding works as expected. LATM/LOAS is also supported by libavcodec, BTW.
> 
> I remember, not long time ago (less than 3 months) that a lot of samples
> were broken.
> 
> Try it:
> http://streams.videolan.org/Mpeg_Conformance/ftp.iis.fhg.de/
> 
> Best Regards,
> 

A lot of samples seem to be broken for FAAD2 as well...

only informal testing on my part (aka not all samples, just a few of them
randomly selected) seems to put avcodec as actually more compliant than FAAD2. 
Further testing would probably be good.



From xtophe at chewa.net  Wed Jun 22 23:54:18 2011
From: xtophe at chewa.net (Christophe Mutricy)
Date: Wed, 22 Jun 2011 23:54:18 +0200
Subject: [vlc-devel] [PATCH] nsis: ensure that the files are not is use
 before proceeding
In-Reply-To: 
References: 
Message-ID: <20110622215418.GF12275@chewa.net>

On Wed, Jun 22, 11 at 16:29 +0200, Ludovic Fauvet wrote:
> A simple patch (dispite the size) for the Windows installer to ensure
> that VLC (or any of its libraries) is not in use during the
> (un)install process and thus avoid the recent user complaints about
> install failures.
>  extras/package/win32/LockedList.dll            |  Bin 0 -> 31744 bytes

Couldn't we avoid binary files in the source tarball ? Especially if
said-binary file is not package with its source.

We got a system in place to distribute binaries form of a lot of
libraries.

> +++ b/extras/package/win32/LockedList.nsh
> @@ -0,0 +1,64 @@
> +/*
> +    LockedList helper file
> +    Needs: LockedList.dll
> +
> +    LockedList plug-in is available for download here
> +    http://nsis.sourceforge.net/LockedList_plug-in

License ?

> --- a/extras/package/win32/languages/declaration.nsh
> +++ b/extras/package/win32/languages/declaration.nsh
> @@ -47,3 +47,17 @@ Var Action_OnArrivalMusicFiles
>  
> +
> +StrCpy $LockedList_Title "Programs to close"
> +StrCpy $LockedList_Text "Programs that must be closed before continuing installation"
> +StrCpy $LockedList_Heading "Close all programs from the list before continuing installation..."

After the third string the user will be very aware that some program
need closing.



-- 
Xtophe


From etix at l0cal.com  Thu Jun 23 00:55:09 2011
From: etix at l0cal.com (Ludovic Fauvet)
Date: Thu, 23 Jun 2011 00:55:09 +0200
Subject: [vlc-devel] [PATCH] nsis: ensure that the files are not is use
 before proceeding
In-Reply-To: <20110622215418.GF12275@chewa.net>
References: 
	<20110622215418.GF12275@chewa.net>
Message-ID: 

Hi Christophe,

First, thank you for your comments.

On Wed, Jun 22, 2011 at 11:54 PM, Christophe Mutricy  wrote:
> Couldn't we avoid binary files in the source tarball ? Especially if
> said-binary file is not package with its source.
>
> We got a system in place to distribute binaries form of a lot of
> libraries.

I thought that it was the best thing to do because:
- we already ship UAC.dll in a binary form
- the source code is meant to be built with VS so we'll need to
maintain the build script ourselves (to the extent that it allows
cross-compilation)


>> +++ b/extras/package/win32/LockedList.nsh
>> @@ -0,0 +1,64 @@
>> +/*
>> + ? ?LockedList helper file
>> + ? ?Needs: LockedList.dll
>> +
>> + ? ?LockedList plug-in is available for download here
>> + ? ?http://nsis.sourceforge.net/LockedList_plug-in
>
> License ?

This file is an include (written by me) of vlc.win32.nsi.in so it
should share the same license.
As the main nsi doesn't contains any license what should I do?

On the plugin side, its source code is provided under a zlib-like
license so we aren't required to mention it for the binary right?

>> --- a/extras/package/win32/languages/declaration.nsh
>> +++ b/extras/package/win32/languages/declaration.nsh
>> @@ -47,3 +47,17 @@ Var Action_OnArrivalMusicFiles
>>
>> +
>> +StrCpy $LockedList_Title "Programs to close"
>> +StrCpy $LockedList_Text "Programs that must be closed before continuing installation"
>> +StrCpy $LockedList_Heading "Close all programs from the list before continuing installation..."
>
> After the third string the user will be very aware that some program
> need closing.

True, I'll try to improve that in the next revision of the patch.

-- 
Ludovic Fauvet (etix)


From jb at videolan.org  Thu Jun 23 15:59:36 2011
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Thu, 23 Jun 2011 15:59:36 +0200
Subject: [vlc-devel] VideoLAN Dev Days 2011
Message-ID: <20110623135936.GA13977@videolan.org>

Hello community,


The VideoLAN Dev Days 2011 will be held

 in Paris, France, Europe;

 on September 3rd (saturday) and 4th (sunday) 2011
 (and beers on the friday night)


The VideoLAN organization will pay for flights and hotel for people to
come.

We will pay expenses for VLC developers, VideoLAN projects developers, forum/wiki helpers
(yes, VLC_help, please come), extensions and skins designers... We will pay for SoC
students too.
We will pay expenses for libav* developers (FFmpeg/Libav) developers and
other similar projects that are key to VLC development. We will be able
to provide separate rooms if needed, btw.

If you are outside Europe (or if your planes are expensive), please ask
before buying tickets.


How do I register?

 * mail me for registration, ASAP (I mean it). Wait for "OK".
 * buy your flights/train/private jet tickets.
   - Ask if you have doubt about the prices
   - You have to be in Paris, on saturday morning, meaning 10:30.
     If impossible, come the day before, we'll drink beers on friday
     night.
 * prepare IBAN, receipt, boarding passes copies with your luggage for
   reimbursement on-site
 * take your laptop, brain and positive attitude with you and come.


Students or people who cannot buy and get reimbursed in september,
should say so, so we'll do exceptions.


We are welcoming sponsors.



-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device


From remi at remlab.net  Thu Jun 23 17:49:42 2011
From: remi at remlab.net (=?iso-8859-1?q?R=E9mi?= Denis-Courmont)
Date: Thu, 23 Jun 2011 18:49:42 +0300
Subject: [vlc-devel] VideoLAN Dev Days 2011
In-Reply-To: <20110623135936.GA13977@videolan.org>
References: <20110623135936.GA13977@videolan.org>
Message-ID: <201106231849.43572.remi@remlab.net>

Le jeudi 23 juin 2011 16:59:36 Jean-Baptiste Kempf, vous avez ?crit :
>  * buy your flights/train/private jet tickets.
>    - Ask if you have doubt about the prices
>    - You have to be in Paris, on saturday morning, meaning 10:30.
>      If impossible, come the day before, we'll drink beers on friday
>      night.

Yeah. Really. Don't fly on saturday morning. You'll be late.
Been there, done that. Twice.

-- 
R?mi Denis-Courmont
http://www.remlab.net/
http://fi.linkedin.com/in/remidenis


From rsatom at gmail.com  Thu Jun 23 18:07:44 2011
From: rsatom at gmail.com (Sergey Radionov)
Date: Thu, 23 Jun 2011 23:07:44 +0700
Subject: [vlc-devel] [PATCH 2/2] Mozilla FullScreen support, attempt 3
In-Reply-To: <4DFC625A.1010405@gmail.com>
References: <4DFC625A.1010405@gmail.com>
Message-ID: 

So, It's accepted or rejected?

18 ???? 2011 ?. 15:31 ???????????? Sergey Radionov ???????:

> Full screen part have made self-sufficient. All references to
> VlcPlugin/VLCPlugin have been removed. Simplified integration with existing
> code.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From jb at videolan.org  Thu Jun 23 18:13:22 2011
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Thu, 23 Jun 2011 18:13:22 +0200
Subject: [vlc-devel] [PATCH 2/2] Mozilla FullScreen support, attempt 3
In-Reply-To: 
References: <4DFC625A.1010405@gmail.com>
	
Message-ID: <20110623161322.GA9690@videolan.org>

On Thu, Jun 23, 2011 at 11:07:44PM +0700, Sergey Radionov wrote :
> So, It's accepted or rejected?

I think both are OK, but my time bandwidth is a bit limited.

Best Regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device


From remi at remlab.net  Thu Jun 23 18:15:16 2011
From: remi at remlab.net (=?iso-8859-15?q?R=E9mi?= Denis-Courmont)
Date: Thu, 23 Jun 2011 19:15:16 +0300
Subject: [vlc-devel] [PATCH 2/2] Mozilla FullScreen support, attempt 3
In-Reply-To: <4DFC625A.1010405@gmail.com>
References: <4DFC625A.1010405@gmail.com>
Message-ID: <201106231915.16638.remi@remlab.net>

Le samedi 18 juin 2011 11:31:22 Sergey Radionov, vous avez ?crit :
> Full screen part have made self-sufficient. All references to
> VlcPlugin/VLCPlugin have been removed. Simplified integration with existing
> code.

Is there any particular reason why you define DllGetModule() instead of making 
the global variable extern?

-- 
R?mi Denis-Courmont
http://www.remlab.net/
http://fi.linkedin.com/in/remidenis


From remi at remlab.net  Thu Jun 23 18:16:43 2011
From: remi at remlab.net (=?iso-8859-15?q?R=E9mi?= Denis-Courmont)
Date: Thu, 23 Jun 2011 19:16:43 +0300
Subject: [vlc-devel] [PATCH] Change log severity from Err to Info.
In-Reply-To: 
References: <1308078966-1991-1-git-send-email-barletz@gmail.com>
	<201106142307.49467.remi@remlab.net>
	
Message-ID: <201106231916.44088.remi@remlab.net>


Merged thanks.

-- 
R?mi Denis-Courmont
http://www.remlab.net/
http://fi.linkedin.com/in/remidenis


From mehrotra.akash at gmail.com  Thu Jun 23 23:26:11 2011
From: mehrotra.akash at gmail.com (akash mehrotra)
Date: Fri, 24 Jun 2011 02:56:11 +0530
Subject: [vlc-devel] [PATCH] Luahttp can access equalizer settings
In-Reply-To: 
References: 
	<1308585768.8351.20.camel@localhost>
	
	<201106210142.51588.fcvlcdev@free.fr>
	
	
Message-ID: 

Some more minor fixes.
I hope its correct this time.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-luahttp-can-access-and-set-equalizer.patch
Type: application/octet-stream
Size: 7135 bytes
Desc: not available
URL: 

From fenrir at elivagar.org  Thu Jun 23 23:35:36 2011
From: fenrir at elivagar.org (Laurent Aimar)
Date: Thu, 23 Jun 2011 23:35:36 +0200
Subject: [vlc-devel] [PATCH] Luahttp can access equalizer settings
In-Reply-To: 
References: 
	<1308585768.8351.20.camel@localhost>
	
	<201106210142.51588.fcvlcdev@free.fr>
	
	
	
Message-ID: <20110623213536.GA29727@elivagar.org>

Hi,

On Fri, Jun 24, 2011 at 02:56:11AM +0530, akash mehrotra wrote:
> Some more minor fixes.
> I hope its correct this time.

> @@ -51,6 +52,12 @@ static int vlclua_preamp_get( lua_State *L )
>      if( p_input )
>      {
>          aout_instance_t *p_aout = input_GetAout( p_input );
> +        char *psz_af = var_GetNonEmptyString( p_aout, "audio-filter" );
> +        if ( !p_aout || strstr ( psz_af, "equalizer" ) == NULL )
 The p_aout check seems badly placed, var_Get* should not be called on
NULL objects.
 var_GetNonEmptyString will return NULL for empty strings, and then strstr()
will probably segfault.

(Same for the following ones).

-- 
fenrir



From mehrotra.akash at gmail.com  Thu Jun 23 23:43:35 2011
From: mehrotra.akash at gmail.com (akash mehrotra)
Date: Fri, 24 Jun 2011 03:13:35 +0530
Subject: [vlc-devel] [PATCH] Luahttp can access equalizer settings
In-Reply-To: <20110623213536.GA29727@elivagar.org>
References: 
	<1308585768.8351.20.camel@localhost>
	
	<201106210142.51588.fcvlcdev@free.fr>
	
	
	
	<20110623213536.GA29727@elivagar.org>
Message-ID: 

On Fri, Jun 24, 2011 at 3:05 AM, Laurent Aimar  wrote:

> Hi,
>
> On Fri, Jun 24, 2011 at 02:56:11AM +0530, akash mehrotra wrote:
> > Some more minor fixes.
> > I hope its correct this time.
>
> > @@ -51,6 +52,12 @@ static int vlclua_preamp_get( lua_State *L )
> >      if( p_input )
> >      {
> >          aout_instance_t *p_aout = input_GetAout( p_input );
> > +        char *psz_af = var_GetNonEmptyString( p_aout, "audio-filter" );
> > +        if ( !p_aout || strstr ( psz_af, "equalizer" ) == NULL )
>  The p_aout check seems badly placed, var_Get* should not be called on
> NULL objects.
>  var_GetNonEmptyString will return NULL for empty strings, and then
> strstr()
> will probably segfault.
>
> (Same for the following ones).
>
> Would it be OK this way?

 aout_instance_t *p_aout = input_GetAout( p_input );
        if ( !p_aout )
        {
            vlc_object_release( p_input );
            return 0;
        }
        char *psz_af = var_GetNonEmptyString( p_aout, "audio-filter" );
        if ( strstr ( psz_af, "equalizer" ) == NULL )
        {
            vlc_object_release( p_aout );
            vlc_object_release( p_input );
            return 0;
        }

> --
> fenrir
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From mehrotra.akash at gmail.com  Thu Jun 23 23:56:56 2011
From: mehrotra.akash at gmail.com (akash mehrotra)
Date: Fri, 24 Jun 2011 03:26:56 +0530
Subject: [vlc-devel] [PATCH] Luahttp can access equalizer settings
In-Reply-To: 
References: 
	<1308585768.8351.20.camel@localhost>
	
	<201106210142.51588.fcvlcdev@free.fr>
	
	
	
	<20110623213536.GA29727@elivagar.org>
	
Message-ID: 

Fixed the p_aout check

On Fri, Jun 24, 2011 at 3:13 AM, akash mehrotra wrote:

>
>
> On Fri, Jun 24, 2011 at 3:05 AM, Laurent Aimar wrote:
>
>> Hi,
>>
>> On Fri, Jun 24, 2011 at 02:56:11AM +0530, akash mehrotra wrote:
>> > Some more minor fixes.
>> > I hope its correct this time.
>>
>> > @@ -51,6 +52,12 @@ static int vlclua_preamp_get( lua_State *L )
>> >      if( p_input )
>> >      {
>> >          aout_instance_t *p_aout = input_GetAout( p_input );
>> > +        char *psz_af = var_GetNonEmptyString( p_aout, "audio-filter" );
>> > +        if ( !p_aout || strstr ( psz_af, "equalizer" ) == NULL )
>>  The p_aout check seems badly placed, var_Get* should not be called on
>> NULL objects.
>>  var_GetNonEmptyString will return NULL for empty strings, and then
>> strstr()
>> will probably segfault.
>>
>> (Same for the following ones).
>>
>> Would it be OK this way?
>
>  aout_instance_t *p_aout = input_GetAout( p_input );
>         if ( !p_aout )
>         {
>             vlc_object_release( p_input );
>             return 0;
>
>         }
>         char *psz_af = var_GetNonEmptyString( p_aout, "audio-filter" );
>         if ( strstr ( psz_af, "equalizer" ) == NULL )
>         {
>
>             vlc_object_release( p_aout );
>             vlc_object_release( p_input );
>             return 0;
>         }
>
>> --
>> fenrir
>>
>> _______________________________________________
>> vlc-devel mailing list
>> To unsubscribe or modify your subscription options:
>> http://mailman.videolan.org/listinfo/vlc-devel
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-luahttp-can-access-and-set-equalizer.patch
Type: application/octet-stream
Size: 7491 bytes
Desc: not available
URL: 

From fenrir at elivagar.org  Fri Jun 24 00:17:13 2011
From: fenrir at elivagar.org (Laurent Aimar)
Date: Fri, 24 Jun 2011 00:17:13 +0200
Subject: [vlc-devel] [PATCH] Bluray: changing the module type
	from	access to access_demux
In-Reply-To: <201106211850.33991.remi@remlab.net>
References: <1308668709-22440-1-git-send-email-jb@videolan.org>
	<201106211850.33991.remi@remlab.net>
Message-ID: <20110623221713.GA31628@elivagar.org>

On Tue, Jun 21, 2011 at 06:50:32PM +0300, R?mi Denis-Courmont wrote:
> Le mardi 21 juin 2011 18:05:09 Jean-Baptiste Kempf, vous avez ?crit :
> > Signed-off-by: Jean-Baptiste Kempf 
> 
> As for RTP, using an access_demux and a TS stream_demux will hide and hinder 
> some of the functionality of the TS demux. Indeed, the stream_demux API cannot 
> forward control requests from the access_demux to the demux (allowing this 
> without deadlocks would be really hard).
 Yes, ideally, doing like the dvdnav plugin would be better (ie directly
using the PS/TS demuxer low level functions). But it's a lot more work and
I think it can be done later, it's more or less orthogonal to the current
change.

-- 
fenrir



From rafael.carre at gmail.com  Fri Jun 24 03:10:34 2011
From: rafael.carre at gmail.com (=?UTF-8?q?Rafa=C3=ABl=20Carr=C3=A9?=)
Date: Thu, 23 Jun 2011 21:10:34 -0400
Subject: [vlc-devel] [PATCH] arm neon i420_yuyv/i420_uyvy/s32_s16 : a bit
	less cycles (untested)
Message-ID: <1308877834-13954-1-git-send-email-rafael.carre@gmail.com>

i420_*: Do not push lr on the stack and use bx lr
should be the same number of cycles but with less memory usage
(can't check as i can't find the pdf with the number of cycles per instruction)

sub+cmp -> subs

s32_s16: sub+cmp -> subs
ldr+add -> ldr with post-increment
---
 modules/arm_neon/i420_yuyv.S |   20 ++++++++++----------
 modules/arm_neon/s32_s16.S   |   10 ++++------
 2 files changed, 14 insertions(+), 16 deletions(-)

diff --git a/modules/arm_neon/i420_yuyv.S b/modules/arm_neon/i420_yuyv.S
index 556680f..6a6bd4d 100644
--- a/modules/arm_neon/i420_yuyv.S
+++ b/modules/arm_neon/i420_yuyv.S
@@ -36,8 +36,8 @@
 	.global i420_yuyv_neon
 	.type	i420_yuyv_neon, %function
 i420_yuyv_neon:
-	push		{r4-r8, lr}
-	ldr		HEIGHT, [sp, #(4*6)]
+	push		{r4-r8}
+	ldr		HEIGHT, [sp, #(4*5)]
 	ldmia		r1,	{Y1, U, V}
 	add		O2,	O1,	PITCH, lsl #1
 	add		Y2,	Y1,	PITCH
@@ -64,7 +64,6 @@ i420_yuyv_neon:
 	cmp		O1,	END_O1
 	bne		2b
 
-	sub		HEIGHT,	#2
 	mov		O1,	O2
 	add		O2,	PITCH,	lsl #1
 	add		Y2,	S_OFF
@@ -74,16 +73,17 @@ i420_yuyv_neon:
 	add		U,	S_OFF,	lsr #1
 	add		V,	S_OFF,	lsr #1
 
-	cmp		HEIGHT,	#0
+	subs		HEIGHT,	#2
 	bne		1b
 
-	pop		{r4-r8, pc}
+	pop		{r4-r8}
+	bx		lr
 
 	.global i420_uyvy_neon
 	.type	i420_uyvy_neon, %function
 i420_uyvy_neon:
-	push		{r4-r8, lr}
-	ldr		HEIGHT, [sp, #(4*6)]
+	push		{r4-r8}
+	ldr		HEIGHT, [sp, #(4*5)]
 	ldmia		r1,	{Y1, U, V}
 	add		O2,	O1,	PITCH, lsl #1
 	add		Y2,	Y1,	PITCH
@@ -109,7 +109,6 @@ i420_uyvy_neon:
 	cmp		O1,	END_O1
 	bne		2b
 
-	sub		HEIGHT,	#2
 	mov		O1,	O2
 	add		O2,	PITCH,	lsl #1
 	add		Y2,	S_OFF
@@ -119,7 +118,8 @@ i420_uyvy_neon:
 	add		U,	S_OFF,	lsr #1
 	add		V,	S_OFF,	lsr #1
 
-	cmp		HEIGHT,	#0
+	subs		HEIGHT,	#2
 	bne		1b
 
-	pop		{r4-r8, pc}
+	pop		{r4-r8}
+	bx		lr
diff --git a/modules/arm_neon/s32_s16.S b/modules/arm_neon/s32_s16.S
index 88effca..4901c1a 100644
--- a/modules/arm_neon/s32_s16.S
+++ b/modules/arm_neon/s32_s16.S
@@ -86,15 +86,13 @@ s32_s16_neon:
 	@ Input must be on 32-bits boundary, output on 16-bits
 s32_s16_neon_unaligned:
 	mov		HALF,	#4096
-1:
 	cmp		N,	#0
+1:
 	bxeq		lr
 
-	ldr		BUF,	[IN]
-	add		IN,	#4
-	add		OUT,	#2
+	ldr		BUF,	[IN], #4
 	qadd		BUF,	HALF,	BUF
-	sub		N,	#1
 	ssat		BUF,	#16,	BUF, asr #13
-	strh		BUF,	[OUT, #-2]
+	strh		BUF,	[OUT], #2
+	subs		N,	#1
 	b		1b
-- 
1.7.4.1




From shauravg at gmail.com  Fri Jun 24 05:27:29 2011
From: shauravg at gmail.com (Shaurav Garg)
Date: Thu, 23 Jun 2011 20:27:29 -0700
Subject: [vlc-devel] VideoLAN Dev Days 2011
In-Reply-To: <20110623135936.GA13977@videolan.org>
References: <20110623135936.GA13977@videolan.org>
Message-ID: 

Hello jb,

I am curious. What exactly are Dev Days? Are they generally used for coding,
or just discussions around future development?

Thanks,
Shaurav
GSOC '11

On Thu, Jun 23, 2011 at 6:59 AM, Jean-Baptiste Kempf wrote:

> Hello community,
>
>
> The VideoLAN Dev Days 2011 will be held
>
>  in Paris, France, Europe;
>
>  on September 3rd (saturday) and 4th (sunday) 2011
>  (and beers on the friday night)
>
>
> The VideoLAN organization will pay for flights and hotel for people to
> come.
>
> We will pay expenses for VLC developers, VideoLAN projects developers,
> forum/wiki helpers
> (yes, VLC_help, please come), extensions and skins designers... We will pay
> for SoC
> students too.
> We will pay expenses for libav* developers (FFmpeg/Libav) developers and
> other similar projects that are key to VLC development. We will be able
> to provide separate rooms if needed, btw.
>
> If you are outside Europe (or if your planes are expensive), please ask
> before buying tickets.
>
>
> How do I register?
>
>  * mail me for registration, ASAP (I mean it). Wait for "OK".
>  * buy your flights/train/private jet tickets.
>   - Ask if you have doubt about the prices
>   - You have to be in Paris, on saturday morning, meaning 10:30.
>     If impossible, come the day before, we'll drink beers on friday
>     night.
>  * prepare IBAN, receipt, boarding passes copies with your luggage for
>   reimbursement on-site
>  * take your laptop, brain and positive attitude with you and come.
>
>
> Students or people who cannot buy and get reimbursed in september,
> should say so, so we'll do exceptions.
>
>
> We are welcoming sponsors.
>
>
>
> --
> Jean-Baptiste Kempf
> http://www.jbkempf.com/ - +33 672 704 734
> Sent from my Electronic Device
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From rsatom at gmail.com  Fri Jun 24 07:01:56 2011
From: rsatom at gmail.com (Sergey Radionov)
Date: Fri, 24 Jun 2011 12:01:56 +0700
Subject: [vlc-devel] [PATCH 2/2] Mozilla FullScreen support, attempt 3
In-Reply-To: <20110623161322.GA9690@videolan.org>
References: <4DFC625A.1010405@gmail.com>	
	<20110623161322.GA9690@videolan.org>
Message-ID: <4E041A44.5090200@gmail.com>

I'm sorry, I'll wait.

23.06.2011 23:13, Jean-Baptiste Kempf ?????:
> On Thu, Jun 23, 2011 at 11:07:44PM +0700, Sergey Radionov wrote :
>> So, It's accepted or rejected?
>
> I think both are OK, but my time bandwidth is a bit limited.
>
> Best Regards,
>

-- 
With best wishes,
Sergey Radionov


From rsatom at gmail.com  Fri Jun 24 07:21:59 2011
From: rsatom at gmail.com (Sergey Radionov)
Date: Fri, 24 Jun 2011 12:21:59 +0700
Subject: [vlc-devel] [PATCH 2/2] Mozilla FullScreen support, attempt 3
In-Reply-To: <201106231915.16638.remi@remlab.net>
References: <4DFC625A.1010405@gmail.com> <201106231915.16638.remi@remlab.net>
Message-ID: <4E041EF7.4010509@gmail.com>



23.06.2011 23:15, R?mi Denis-Courmont ?????:
> Le samedi 18 juin 2011 11:31:22 Sergey Radionov, vous avez ?crit :
> Is there any particular reason why you define DllGetModule() instead of making
> the global variable extern?

I only think that function is more clear than extern variable - it give more clarity where to find 
definition of this function (in relative .cpp), but extern variable can be defined anywhere in 
source tree...
And second reason - DllGetModule already exist in ActiveX plugin... so it can make Mozilla and 
ActiveX code more similar...
But you are right, there is no special need in DllGetModule, so it can be removed painlessly...

-- 
With best wishes,
Sergey Radionov


From remi at remlab.net  Fri Jun 24 08:45:48 2011
From: remi at remlab.net (=?iso-8859-15?q?R=E9mi?= Denis-Courmont)
Date: Fri, 24 Jun 2011 09:45:48 +0300
Subject: [vlc-devel] [PATCH] Luahttp can access equalizer settings
In-Reply-To: 
References: 
	
	
Message-ID: <201106240945.48810.remi@remlab.net>

Le vendredi 24 juin 2011 00:26:11 akash mehrotra, vous avez ?crit :
> Some more minor fixes.
> I hope its correct this time.

I don't think the while loop condition is correct. tmp will never become NULL, 
and the process will busy loop. You should probably use strtok_r() or strsep() 
anyway.

-- 
R?mi Denis-Courmont
http://www.remlab.net/
http://fi.linkedin.com/in/remidenis


From remi at remlab.net  Fri Jun 24 08:47:56 2011
From: remi at remlab.net (=?iso-8859-15?q?R=E9mi?= Denis-Courmont)
Date: Fri, 24 Jun 2011 09:47:56 +0300
Subject: [vlc-devel] [PATCH] Luahttp can access equalizer settings
In-Reply-To: 
References: 
	
	
Message-ID: <201106240947.56580.remi@remlab.net>

Le vendredi 24 juin 2011 00:56:56 akash mehrotra, vous avez ?crit :
> Fixed the p_aout check

You should release the input object ASAP. This would simplify the code.

Please use sizeof() for the snprintf() size parameter.

-- 
R?mi Denis-Courmont
http://www.remlab.net/
http://fi.linkedin.com/in/remidenis


From remi at remlab.net  Fri Jun 24 08:51:37 2011
From: remi at remlab.net (=?iso-8859-1?q?R=E9mi?= Denis-Courmont)
Date: Fri, 24 Jun 2011 09:51:37 +0300
Subject: [vlc-devel] [PATCH] arm neon i420_yuyv/i420_uyvy/s32_s16 : a
	bit less cycles (untested)
In-Reply-To: <1308877834-13954-1-git-send-email-rafael.carre@gmail.com>
References: <1308877834-13954-1-git-send-email-rafael.carre@gmail.com>
Message-ID: <201106240951.38074.remi@remlab.net>

Le vendredi 24 juin 2011 04:10:34 Rafa?l Carr?, vous avez ?crit :
> i420_*: Do not push lr on the stack and use bx lr
> should be the same number of cycles but with less memory usage
> (can't check as i can't find the pdf with the number of cycles per
> instruction)

The Cortex-A8 can load/store two registers per cycle. So your patch is 
actually slower.

-- 
R?mi Denis-Courmont
http://www.remlab.net/
http://fi.linkedin.com/in/remidenis


From remi at remlab.net  Fri Jun 24 08:54:19 2011
From: remi at remlab.net (=?iso-8859-1?q?R=E9mi?= Denis-Courmont)
Date: Fri, 24 Jun 2011 09:54:19 +0300
Subject: [vlc-devel] [PATCH] arm neon i420_yuyv/i420_uyvy/s32_s16 : a
	bit less cycles (untested)
In-Reply-To: <1308877834-13954-1-git-send-email-rafael.carre@gmail.com>
References: <1308877834-13954-1-git-send-email-rafael.carre@gmail.com>
Message-ID: <201106240954.19855.remi@remlab.net>

Le vendredi 24 juin 2011 04:10:34 Rafa?l Carr?, vous avez ?crit :
> i420_*: Do not push lr on the stack and use bx lr
> should be the same number of cycles but with less memory usage
> (can't check as i can't find the pdf with the number of cycles per
> instruction)

http://infocenter.arm.com/help/topic/com.arm.doc.ddi0344b/DDI0344.pdf
There's a whole chapter on instructions cycle timing.

-- 
R?mi Denis-Courmont
http://www.remlab.net/
http://fi.linkedin.com/in/remidenis


From mehrotra.akash at gmail.com  Fri Jun 24 09:07:41 2011
From: mehrotra.akash at gmail.com (akash mehrotra)
Date: Fri, 24 Jun 2011 12:37:41 +0530
Subject: [vlc-devel] [PATCH] Luahttp can access equalizer settings
In-Reply-To: <201106240945.48810.remi@remlab.net>
References: 
	
	
	<201106240945.48810.remi@remlab.net>
Message-ID: 

On 6/24/11, R?mi Denis-Courmont  wrote:
> Le vendredi 24 juin 2011 00:26:11 akash mehrotra, vous avez ?crit :
>> Some more minor fixes.
>> I hope its correct this time.
>
> I don't think the while loop condition is correct. tmp will never become
> NULL,
> and the process will busy loop.
Wont us_strtof make tmp NULL if the string terminates?

You should probably use strtok_r() or
> strsep()
> anyway.
>
is there any advantage to changing it to use these?
They would make the code more complex unnecessarily
> --
> R?mi Denis-Courmont
> http://www.remlab.net/
> http://fi.linkedin.com/in/remidenis
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel
>


From mehrotra.akash at gmail.com  Fri Jun 24 09:10:00 2011
From: mehrotra.akash at gmail.com (akash mehrotra)
Date: Fri, 24 Jun 2011 12:40:00 +0530
Subject: [vlc-devel] [PATCH] Luahttp can access equalizer settings
In-Reply-To: <201106240947.56580.remi@remlab.net>
References: 
	
	
	<201106240947.56580.remi@remlab.net>
Message-ID: 

On 6/24/11, R?mi Denis-Courmont  wrote:
> Le vendredi 24 juin 2011 00:56:56 akash mehrotra, vous avez ?crit :
>> Fixed the p_aout check
>
> You should release the input object ASAP. This would simplify the code.
>
i'll fix this.

> Please use sizeof() for the snprintf() size parameter.
>
I'll change this as well,but why would it matter?
> -- t
> R?mi Denis-Courmont
> http://www.remlab.net/
> http://fi.linkedin.com/in/remidenis
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel
>


From jb at videolan.org  Fri Jun 24 10:18:42 2011
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Fri, 24 Jun 2011 10:18:42 +0200
Subject: [vlc-devel] VideoLAN Dev Days 2011
In-Reply-To: 
References: <20110623135936.GA13977@videolan.org>
	
Message-ID: <20110624081842.GB27086@videolan.org>

On Thu, Jun 23, 2011 at 08:27:29PM -0700, Shaurav Garg wrote :
> I am curious. What exactly are Dev Days?

Dev Days are what people coming make them.

> Are they generally used for coding,
> or just discussions around future development?

Usually, both.

Talks, Discussions about issues, Votes, Ideas, Beers, Future ideas,
boring administrative stuff, discussions/trolls.

Best Regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device


From elminster2031 at archmageinc.com  Fri Jun 24 20:12:50 2011
From: elminster2031 at archmageinc.com (Elminster2031)
Date: Fri, 24 Jun 2011 14:12:50 -0400
Subject: [vlc-devel] [PATCH] Luahttp can access equalizer settings
In-Reply-To: 
References: 
	<1308585768.8351.20.camel@localhost>
	
	<201106210142.51588.fcvlcdev@free.fr>
	
	
	
Message-ID: <20110624141250.15134jfhn6vtcp7m@webmail.thebrooksfamilyonline.com>


> Some more minor fixes.
> I hope its correct this time.
>

I noticed if any of the EQ settings are changed via the UI, the change  
is not reflected on the main interface.


From elminster2031 at archmageinc.com  Fri Jun 24 20:25:39 2011
From: elminster2031 at archmageinc.com (Elminster2031)
Date: Fri, 24 Jun 2011 14:25:39 -0400
Subject: [vlc-devel] [PATCH] HTTP UI - EQ (Requires Akash's Patch)
Message-ID: <20110624142539.12036qymjur88j37@webmail.thebrooksfamilyonline.com>

This patch adds EQ functionality to the LUA HTTP UI. Currently the LUA  
HTTP EQ access is being built by Akash. This uses the most recent  
version of that patch to access the EQ. Without that patch no error is  
given, though only the Preamp is available. No change should be  
necessary pending other patches for the LUA HTTP EQ access patches,  
unless the XML output is modified dramaticly.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-HTTP-UI-Equalizer-requires-Akash-s-LUA-EQ-Work.patch
Type: text/x-patch
Size: 7990 bytes
Desc: not available
URL: 

From elminster2031 at archmageinc.com  Sat Jun 25 05:00:13 2011
From: elminster2031 at archmageinc.com (Elminster2031)
Date: Fri, 24 Jun 2011 23:00:13 -0400
Subject: [vlc-devel] [PATCH] HTTP UI - Mobile views
Message-ID: <20110624230013.34446d2gin3zxg71@webmail.thebrooksfamilyonline.com>

This patch includes the previous patch for EQ functionality. This
detects mobile OSs/browsers and directs the device to a more mobile
friendly interface prior to loading everything necessary to drive the
full UI. I do anticipate making changes to this UI, though I would like
some feedback. This has only been tested on Android.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-LUA-HTTP-UI-Mobile-Views.patch
Type: text/x-patch
Size: 26756 bytes
Desc: not available
URL: 

From prabhu1729 at gmail.com  Sat Jun 25 05:35:35 2011
From: prabhu1729 at gmail.com (prabhu ksb)
Date: Sat, 25 Jun 2011 09:05:35 +0530
Subject: [vlc-devel] [VLC] #4977: *.nrg not playing on vlc 1.1.10
In-Reply-To: <059.b7739f90233d97c0e3241e2262143423@videolan.org>
References: <050.f957bc941a9cf9f5df4ab04dbac04644@videolan.org>
	<059.b7739f90233d97c0e3241e2262143423@videolan.org>
Message-ID: 

log is in the attachment

On Fri, Jun 24, 2011 at 11:03 PM, VLC  wrote:

> #4977: *.nrg not playing on vlc 1.1.10
>
> -------------------------+--------------------------------------------------
>  Reporter:  prabhu1729   |        Owner:  courmisch
>     Type:  defect       |       Status:  new
>  Priority:  normal       |    Milestone:  Bugs paradize
> Component:  Unknown      |      Version:
>  Severity:  normal       |     Keywords:
>  Platform:  Win32        |   Difficulty:  unknown
>      Wip:  Not started  |
>
> -------------------------+--------------------------------------------------
>
> Comment(by ale5000):
>
>  Run vlc in this way:
>  {{{
>  "%ProgramFiles%\VideoLAN\VLC\vlc.exe" -vvv 2>
>  "c:\path_to_a_folder\Log.log"
>  }}}
>  path_to_a_folder should be changed to a folder where you have the rights
>  to write, then open the nrg file, close vlc and you will see the log file.
>
> --
> Ticket URL: 
> VLC 
> VLC media player
>



-- 
regards,
prabhu k.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Log.log
Type: application/octet-stream
Size: 35954 bytes
Desc: not available
URL: 

From mehrotra.akash at gmail.com  Sat Jun 25 20:49:56 2011
From: mehrotra.akash at gmail.com (akash mehrotra)
Date: Sun, 26 Jun 2011 00:19:56 +0530
Subject: [vlc-devel] [PATCH] Luahttp can access equalizer settings
In-Reply-To: <201106240947.56580.remi@remlab.net>
References: 
	
	
	<201106240947.56580.remi@remlab.net>
Message-ID: 

Made the following changes:

   1. release p_input early
   2. use sizeof for snprintf


Did not use strtok as the code would become more complicated ( us_strtof
works well enough )
Did not change the while loop, it works as it is ( the 2nd argument of
us_strtof will become null if the string terminates earlier than expected.
this is the case in which the null condition will be used to end the loop)

2011/6/24 R?mi Denis-Courmont 

> Le vendredi 24 juin 2011 00:56:56 akash mehrotra, vous avez ?crit :
> > Fixed the p_aout check
>
> You should release the input object ASAP. This would simplify the code.
>
> Please use sizeof() for the snprintf() size parameter.
>
> --
> R?mi Denis-Courmont
> http://www.remlab.net/
> http://fi.linkedin.com/in/remidenis
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-luahttp-can-access-and-set-equalizer.patch
Type: application/octet-stream
Size: 7243 bytes
Desc: not available
URL: 

From mehrotra.akash at gmail.com  Sat Jun 25 20:59:27 2011
From: mehrotra.akash at gmail.com (akash mehrotra)
Date: Sun, 26 Jun 2011 00:29:27 +0530
Subject: [vlc-devel] [PATCH] HTTP UI - EQ (Requires Akash's Patch)
In-Reply-To: <20110624142539.12036qymjur88j37@webmail.thebrooksfamilyonline.com>
References: <20110624142539.12036qymjur88j37@webmail.thebrooksfamilyonline.com>
Message-ID: 

If possible please make the following changes:

   1. It's rounding off the gain values to the nearest whole number.
   Displaying them with 1 decimal place of accuracy may be a better idea.
   2. The EQ is updated only when something is changed using the HTTP
   interface. If it doesnt increase the bandwidth too much, maybe the equalizer
   pane could also be refreshed automatically occasionally (maybe once per
   second or so), like the main page.


On Fri, Jun 24, 2011 at 11:55 PM, Elminster2031 <
elminster2031 at archmageinc.com> wrote:

> This patch adds EQ functionality to the LUA HTTP UI. Currently the LUA HTTP
> EQ access is being built by Akash. This uses the most recent version of that
> patch to access the EQ. Without that patch no error is given, though only
> the Preamp is available. No change should be necessary pending other patches
> for the LUA HTTP EQ access patches, unless the XML output is modified
> dramaticly.
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From remi at remlab.net  Sat Jun 25 21:07:22 2011
From: remi at remlab.net (=?iso-8859-15?q?R=E9mi?= Denis-Courmont)
Date: Sat, 25 Jun 2011 22:07:22 +0300
Subject: [vlc-devel] [PATCH] Luahttp can access equalizer settings
In-Reply-To: 
References: 
	<201106240947.56580.remi@remlab.net>
	
Message-ID: <201106252207.23042.remi@remlab.net>

Le samedi 25 juin 2011 21:49:56 akash mehrotra, vous avez ?crit :
> Made the following changes:
> 
>    1. release p_input early
>    2. use sizeof for snprintf
> 
> 
> Did not use strtok as the code would become more complicated ( us_strtof
> works well enough )
> Did not change the while loop, it works as it is ( the 2nd argument of
> us_strtof will become null if the string terminates earlier than expected.
> this is the case in which the null condition will be used to end the loop)

Negative acknowledgement. Patch rejected.

-- 
R?mi Denis-Courmont
http://www.remlab.net/
http://fi.linkedin.com/in/remidenis


From elminster2031 at archmageinc.com  Sat Jun 25 21:32:58 2011
From: elminster2031 at archmageinc.com (Elminster2031)
Date: Sat, 25 Jun 2011 15:32:58 -0400
Subject: [vlc-devel] [PATCH] HTTP UI - EQ (Requires Akash's Patch)
In-Reply-To: 
References: <20110624142539.12036qymjur88j37@webmail.thebrooksfamilyonline.com>
	
Message-ID: <20110625153258.45233e7qunyc39pm@webmail.thebrooksfamilyonline.com>


>    1. It's rounding off the gain values to the nearest whole number.
>    Displaying them with 1 decimal place of accuracy may be a better idea.

It is rounding, which was unintended. It will be corrected.

>    2. The EQ is updated only when something is changed using the HTTP
>    interface. If it doesnt increase the bandwidth too much, maybe  
> the equalizer
>    pane could also be refreshed automatically occasionally (maybe once per
>    second or so), like the main page.

It will refresh the values each time the window is opened. I would  
rather not have a polling service setup for the EQ.


From mehrotra.akash at gmail.com  Sat Jun 25 21:37:47 2011
From: mehrotra.akash at gmail.com (akash mehrotra)
Date: Sun, 26 Jun 2011 01:07:47 +0530
Subject: [vlc-devel] [PATCH] HTTP UI - EQ (Requires Akash's Patch)
In-Reply-To: <20110625153258.45233e7qunyc39pm@webmail.thebrooksfamilyonline.com>
References: <20110624142539.12036qymjur88j37@webmail.thebrooksfamilyonline.com>
	
	<20110625153258.45233e7qunyc39pm@webmail.thebrooksfamilyonline.com>
Message-ID: 

>
>
>    2. The EQ is updated only when something is changed using the HTTP
>>
>>   interface. If it doesnt increase the bandwidth too much, maybe the
>> equalizer
>>   pane could also be refreshed automatically occasionally (maybe once per
>>   second or so), like the main page.
>>
>
> It will refresh the values each time the window is opened. I would rather
> not have a polling service setup for the EQ.


Yes, since it refreshes on each window open, its good as it is.
No point doubling the network traffic then .


> ______________________________**_________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/**listinfo/vlc-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From elminster2031 at archmageinc.com  Sat Jun 25 21:45:11 2011
From: elminster2031 at archmageinc.com (Elminster2031)
Date: Sat, 25 Jun 2011 15:45:11 -0400
Subject: [vlc-devel] [PATCH] HTTP UI - Mobile views
In-Reply-To: <20110624230013.34446d2gin3zxg71@webmail.thebrooksfamilyonline.com>
References: <20110624230013.34446d2gin3zxg71@webmail.thebrooksfamilyonline.com>
Message-ID: <20110625154511.15623jq04399sp1j@webmail.thebrooksfamilyonline.com>

> This patch includes the previous patch for EQ functionality. This
> detects mobile OSs/browsers and directs the device to a more mobile
> friendly interface prior to loading everything necessary to drive the
> full UI. I do anticipate making changes to this UI, though I would like
> some feedback. This has only been tested on Android.
>

Update - Corrected rounding mistakes and EQ units

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-HTTP-UI-Mobile-views.patch
Type: text/x-patch
Size: 26815 bytes
Desc: not available
URL: 

From apple.lists.id at gmail.com  Sun Jun 26 13:46:04 2011
From: apple.lists.id at gmail.com (Alex Flecher)
Date: Sun, 26 Jun 2011 17:16:04 +0530
Subject: [vlc-devel] Requesting Current Track Information From VLC MacOSX
Message-ID: 

Hi All,

I have made an application for interacting with the iTunes on Mac OSX using
applescript and Apple's ScriptingBridge Framework.
I generated the .h file for the VLC.app using the sdef file with
terminal by using
folowing command
sdef VLC.app/ | sdp -fh --basename VLC
However, the header file shows only few properties exposed for control
(play/pause, stop etc)
Is it possible to get the data for current playing track and playlist.
Can i do some sort of IPC or access the VLC running instance to get this info??

Thanks
-- 
Alex
--One who asks is seen as a fool, the one who doesnt asks remain a fool forever


From marcosfrm at gmail.com  Sun Jun 26 18:16:43 2011
From: marcosfrm at gmail.com (Marcos Mello)
Date: Sun, 26 Jun 2011 16:16:43 +0000 (UTC)
Subject: [vlc-devel] Why not use ffaac by default?
References: 
	<20110621140756.GA29843@videolan.org>
	
Message-ID: 

George Nassar  gmail.com> writes:
> 
> A lot of samples seem to be broken for FAAD2 as well...
> 
> only informal testing on my part (aka not all samples, just a few of them
> randomly selected) seems to put avcodec as actually more compliant than FAAD2. 
> Further testing would probably be good.
> 

Sorry for my noobness, but how the mpeg4audio-conformance/compressedMp4 files
are related to mpeg4audio-conformance/referencesWav ones ? I'm lost, the names
don't match.

Marcos



From elminster2031 at archmageinc.com  Mon Jun 27 05:01:19 2011
From: elminster2031 at archmageinc.com (Elminster2031)
Date: Sun, 26 Jun 2011 23:01:19 -0400
Subject: [vlc-devel] [PATCH] HTTP UI - Mobile views
Message-ID: <20110626230119.41123xtyvyohctq7@webmail.thebrooksfamilyonline.com>

>> This patch includes the previous patch for EQ functionality. This
>> detects mobile OSs/browsers and directs the device to a more mobile
>> friendly interface prior to loading everything necessary to drive the
>> full UI. I do anticipate making changes to this UI, though I would like
>> some feedback. This has only been tested on Android.


> Update - Corrected rounding mistakes and EQ units
Update - Added Mobile EQ
Update - Added Mobile Flash View
Update - Minor Display Adjustments
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-HTTP-UI-Mobile-views.patch
Type: text/x-patch
Size: 61690 bytes
Desc: not available
URL: 

From mail at crazyhstudio.net  Mon Jun 27 13:10:51 2011
From: mail at crazyhstudio.net (crazy H studio)
Date: Mon, 27 Jun 2011 13:10:51 +0200
Subject: [vlc-devel] VideoLAN Dev Days 2011
In-Reply-To: <20110623135936.GA13977@videolan.org>
References: <20110623135936.GA13977@videolan.org>
Message-ID: 

Bonjour,

j'ai voulu m'inscrire pour les VideoLAN Dev Days.

Mike

Am 23.06.2011 um 15:59 schrieb Jean-Baptiste Kempf:

> Hello community,
> 
> 
> The VideoLAN Dev Days 2011 will be held
> 
> in Paris, France, Europe;
> 
> on September 3rd (saturday) and 4th (sunday) 2011
> (and beers on the friday night)
> 
> 
> The VideoLAN organization will pay for flights and hotel for people to
> come.
> 
> We will pay expenses for VLC developers, VideoLAN projects developers, forum/wiki helpers
> (yes, VLC_help, please come), extensions and skins designers... We will pay for SoC
> students too.
> We will pay expenses for libav* developers (FFmpeg/Libav) developers and
> other similar projects that are key to VLC development. We will be able
> to provide separate rooms if needed, btw.
> 
> If you are outside Europe (or if your planes are expensive), please ask
> before buying tickets.
> 
> 
> How do I register?
> 
> * mail me for registration, ASAP (I mean it). Wait for "OK".
> * buy your flights/train/private jet tickets.
>   - Ask if you have doubt about the prices
>   - You have to be in Paris, on saturday morning, meaning 10:30.
>     If impossible, come the day before, we'll drink beers on friday
>     night.
> * prepare IBAN, receipt, boarding passes copies with your luggage for
>   reimbursement on-site
> * take your laptop, brain and positive attitude with you and come.
> 
> 
> Students or people who cannot buy and get reimbursed in september,
> should say so, so we'll do exceptions.
> 
> 
> We are welcoming sponsors.
> 
> 
> 
> -- 
> Jean-Baptiste Kempf
> http://www.jbkempf.com/ - +33 672 704 734
> Sent from my Electronic Device
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel



From jb at videolan.org  Mon Jun 27 13:19:07 2011
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Mon, 27 Jun 2011 13:19:07 +0200
Subject: [vlc-devel] [PATCH] HTTP UI - Mobile views
In-Reply-To: <20110626230119.41123xtyvyohctq7@webmail.thebrooksfamilyonline.com>
References: <20110626230119.41123xtyvyohctq7@webmail.thebrooksfamilyonline.com>
Message-ID: <20110627111907.GA16520@videolan.org>

On Sun, Jun 26, 2011 at 11:01:19PM -0400, Elminster2031 wrote :
> ---
>  share/lua/http/css/main.css                      |   15 +++
>  share/lua/http/dialogs/browse_window.html        |    8 --
>  share/lua/http/dialogs/equalizer_window.html     |   53 +++++++++
>  share/lua/http/dialogs/stream_config_window.html |   41 +++++++
>  share/lua/http/images/button-equalizer-48.png    |  Bin 0 -> 2040 bytes
>  share/lua/http/images/vlc-48.png                 |  Bin 0 -> 15875 bytes
>  share/lua/http/index.html                        |  100 +++--------------
>  share/lua/http/js/common.js                      |   23 ++++
>  share/lua/http/js/controlers.js                  |  125 ++++++++++++++++++----
>  share/lua/http/js/ui.js                          |   72 +++++++++++++
>  share/lua/http/mobile.html                       |   99 +++++++++++++++++
>  share/lua/http/mobile_browse.html                |   31 ++++++
>  share/lua/http/mobile_equalizer.html             |   47 ++++++++
>  share/lua/http/mobile_view.html                  |   32 ++++++
>  share/lua/http/view.html                         |   44 +-------
>  15 files changed, 541 insertions(+), 149 deletions(-)
>  create mode 100755 share/lua/http/dialogs/equalizer_window.html
>  create mode 100644 share/lua/http/dialogs/stream_config_window.html
>  create mode 100644 share/lua/http/images/button-equalizer-48.png
>  create mode 100644 share/lua/http/images/vlc-48.png
>  create mode 100644 share/lua/http/js/ui.js
>  create mode 100644 share/lua/http/mobile.html
>  create mode 100644 share/lua/http/mobile_browse.html
>  create mode 100644 share/lua/http/mobile_equalizer.html
>  create mode 100644 share/lua/http/mobile_view.html

Missing Makefile.am entries...
Why another vlc-48.png and not the one in share/icons?

Best Regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device


From gamajun at seznam.cz  Mon Jun 27 17:50:09 2011
From: gamajun at seznam.cz (gamajun at seznam.cz)
Date: Mon, 27 Jun 2011 17:50:09 +0200
Subject: [vlc-devel] [PATCH] Fix sepia video filter in PackedYUV
Message-ID: <1309189809-16414-1-git-send-email-gamajun@seznam.cz>

From: Martin Briza 

SSE function used in PackedYUV plane was bad, removed

copying data using Memcpy8BMMX was slower than vlc_memset -> changed

Sepia8ySSE4_1 changed to Sepia8ySSE2, due to some changes I made to speed it up and clean

Minor changes in indentation and comments
---
 modules/video_filter/sepia.c |  194 ++++++++++++-----------------------------
 1 files changed, 57 insertions(+), 137 deletions(-)

diff --git a/modules/video_filter/sepia.c b/modules/video_filter/sepia.c
index 4d49cbc..7d4fb98 100644
--- a/modules/video_filter/sepia.c
+++ b/modules/video_filter/sepia.c
@@ -47,8 +47,7 @@ static void RVSepia( picture_t *, picture_t *, int );
 static void PlanarI420Sepia( picture_t *, picture_t *, int);
 static void PackedYUVSepia( picture_t *, picture_t *, int);
 static picture_t *Filter( filter_t *, picture_t * );
-inline void Sepia8ySSE41( uint8_t *, const uint8_t *, volatile uint8_t * );
-inline void Memcpy8BMMX( uint8_t *, const uint8_t * );
+inline void Sepia8ySSE2( uint8_t *, const uint8_t *, int );
 static const char *const ppsz_filter_options[] = {
     "intensity", NULL
 };
@@ -68,7 +67,7 @@ vlc_module_begin ()
     set_category( CAT_VIDEO )
     set_subcategory( SUBCAT_VIDEO_VFILTER )
     set_capability( "video filter2", 0 )
-    add_integer_with_range( CFG_PREFIX "intensity", 100, 0, 255,
+    add_integer_with_range( CFG_PREFIX "intensity", 120, 0, 255,
                            SEPIA_INTENSITY_TEXT, SEPIA_INTENSITY_LONGTEXT,
                            false )
     set_callbacks( Create, Destroy )
@@ -215,22 +214,15 @@ static void PlanarI420Sepia( picture_t *p_pic, picture_t *p_outpic,
     const uint8_t filling_const_8u = 128 - i_intensity / 6;
     const uint8_t filling_const_8v = 128 + i_intensity / 14;
 
-    #if defined(CAN_COMPILE_SSE4_1) && 1
-    if (vlc_CPU() & CPU_CAPABILITY_SSE4_1)
+#if defined(CAN_COMPILE_SSE2)
+    if (vlc_CPU() & CPU_CAPABILITY_SSE2)
     {
-        /*prepare array of values to copy with mmx, compute only once
-          to improve speed */
-        volatile uint8_t intensity_array[8] = { i_intensity, i_intensity,
-            i_intensity, i_intensity, i_intensity, i_intensity,
-            i_intensity, i_intensity };
-        const uint8_t filling_array_8u[8] =
-            { filling_const_8u, filling_const_8u, filling_const_8u,
-            filling_const_8u, filling_const_8u, filling_const_8u,
-            filling_const_8u, filling_const_8u };
-        const uint8_t filling_array_8v[8] =
-            { filling_const_8v, filling_const_8v, filling_const_8v,
-            filling_const_8v, filling_const_8v, filling_const_8v,
-            filling_const_8v, filling_const_8v };
+        /* prepared value for faster broadcasting in xmm register */
+        int i_intensity_spread = 0x10001 * (uint8_t) i_intensity;
+
+        __asm__ volatile(
+            "pxor      %%xmm7, %%xmm7\n"
+        ::);
 
         /* iterate for every two visible line in the frame */
         for (int y = 0; y < p_pic->p[Y_PLANE].i_visible_lines - 1; y += 2)
@@ -244,35 +236,36 @@ static void PlanarI420Sepia( picture_t *p_pic, picture_t *p_outpic,
             (y / 2) * p_outpic->p[V_PLANE].i_pitch;
             int x = 0;
             /* iterate for every visible line in the frame (eight values at once) */
-            for (; x < p_pic->p[Y_PLANE].i_visible_pitch - 15; x += 16)
+            for ( ; x < p_pic->p[Y_PLANE].i_visible_pitch - 15; x += 16 )
             {
                 /* Compute yellow channel values with asm function */
-                Sepia8ySSE41(
-                          &p_outpic->p[Y_PLANE].p_pixels[i_dy_line1_start + x],
-                          &p_pic->p[Y_PLANE].p_pixels[i_dy_line1_start + x],
-                          intensity_array );
-                Sepia8ySSE41(
-                          &p_outpic->p[Y_PLANE].p_pixels[i_dy_line2_start + x],
-                          &p_pic->p[Y_PLANE].p_pixels[i_dy_line2_start + x],
-                          intensity_array );
-                Sepia8ySSE41(
-                          &p_outpic->p[Y_PLANE].p_pixels[i_dy_line1_start + x + 8],
-                          &p_pic->p[Y_PLANE].p_pixels[i_dy_line1_start + x + 8],
-                          intensity_array );
-                Sepia8ySSE41(
-                          &p_outpic->p[Y_PLANE].p_pixels[i_dy_line2_start + x + 8],
-                          &p_pic->p[Y_PLANE].p_pixels[i_dy_line2_start + x + 8],
-                          intensity_array );
-                /* Copy precomputed values to destination image memory location */
-                Memcpy8BMMX(
-                          &p_outpic->p[U_PLANE].p_pixels[i_du_line_start + (x / 2)],
-                          filling_array_8u );
-                Memcpy8BMMX(&p_outpic->p[V_PLANE].p_pixels[i_dv_line_start + (x / 2)],
-                          filling_array_8v );
+                Sepia8ySSE2(
+                    &p_outpic->p[Y_PLANE].p_pixels[i_dy_line1_start + x],
+                    &p_pic->p[Y_PLANE].p_pixels[i_dy_line1_start + x],
+                    i_intensity_spread );
+                Sepia8ySSE2(
+                    &p_outpic->p[Y_PLANE].p_pixels[i_dy_line2_start + x],
+                    &p_pic->p[Y_PLANE].p_pixels[i_dy_line2_start + x],
+                    i_intensity_spread );
+                Sepia8ySSE2(
+                    &p_outpic->p[Y_PLANE].p_pixels[i_dy_line1_start + x + 8],
+                    &p_pic->p[Y_PLANE].p_pixels[i_dy_line1_start + x + 8],
+                    i_intensity_spread );
+                Sepia8ySSE2(
+                    &p_outpic->p[Y_PLANE].p_pixels[i_dy_line2_start + x + 8],
+                    &p_pic->p[Y_PLANE].p_pixels[i_dy_line2_start + x + 8],
+                    i_intensity_spread );
+                /* Copy precomputed values to destination memory location */
+                vlc_memset(
+                    &p_outpic->p[U_PLANE].p_pixels[i_du_line_start + (x / 2)],
+                    filling_const_8u, 8 );
+                vlc_memset(
+                    &p_outpic->p[V_PLANE].p_pixels[i_dv_line_start + (x / 2)],
+                    filling_const_8v, 8 );
             }
             /* Completing the job, the cycle above takes really big chunks, so
               this makes sure the job will be done completely */
-            for (; x < p_pic->p[Y_PLANE].i_visible_pitch - 1; x += 2)
+            for ( ; x < p_pic->p[Y_PLANE].i_visible_pitch - 1; x += 2 )
             {
                 // y = y - y/4 {to prevent overflow} + intensity / 4
                 p_outpic->p[Y_PLANE].p_pixels[i_dy_line1_start + x] =
@@ -299,7 +292,8 @@ static void PlanarI420Sepia( picture_t *p_pic, picture_t *p_outpic,
                     filling_const_8v;
             }
         }
-    } else
+    }
+    else
 #endif
     {
         /* iterate for every two visible line in the frame */
@@ -369,68 +363,7 @@ static void PackedYUVSepia( picture_t *p_pic, picture_t *p_outpic,
     p_in_end = p_in + p_pic->p[0].i_visible_lines
         * p_pic->p[0].i_pitch;
     p_out = p_outpic->p[0].p_pixels;
-#if defined(CAN_COMPILE_SSE4_1)
-    if (vlc_CPU() & CPU_CAPABILITY_SSE4_1)
-    {
-        /*prepare array of values to copy with mmx, compute only once
-          to improve speed */
-        volatile uint8_t intensity_array[8] = { i_intensity, i_intensity,
-            i_intensity, i_intensity, i_intensity, i_intensity,
-            i_intensity,
-            i_intensity
-        };
-        const uint8_t filling_array_8u[8] =
-            { filling_const_8u, filling_const_8u,
-            filling_const_8u, filling_const_8u, filling_const_8u,
-            filling_const_8u,
-            filling_const_8u, filling_const_8u
-        };
-        const uint8_t filling_array_8v[8] =
-            { filling_const_8v, filling_const_8v,
-            filling_const_8v, filling_const_8v, filling_const_8v,
-            filling_const_8v,
-            filling_const_8v, filling_const_8v
-        };
 
-        /* iterate for every two visible line in the frame */
-        while (p_in < p_in_end)
-        {
-            p_line_end = p_in + p_pic->p[0].i_visible_pitch;
-            while (p_in < p_line_end)
-            {
-                Sepia8ySSE41(&p_out[i_yindex], &p_in[i_yindex],
-                          intensity_array);
-                Sepia8ySSE41(&p_out[i_yindex + 8], &p_in[i_yindex + 8],
-                          intensity_array);
-                Sepia8ySSE41(&p_out[i_yindex + 16], &p_in[i_yindex + 16],
-                          intensity_array);
-                Sepia8ySSE41(&p_out[i_yindex + 24], &p_in[i_yindex + 24],
-                          intensity_array);
-                Memcpy8BMMX(&p_out[i_uindex], filling_array_8u);
-                Memcpy8BMMX(&p_out[i_vindex], filling_array_8v);
-
-                p_in += 32;
-                p_out += 32;
-            }
-            while (p_in < p_line_end)
-            {
-                p_out[i_yindex] =
-                    p_in[i_yindex] - (p_in[i_yindex] >> 2) +
-                    (i_intensity >> 2);
-                p_out[i_yindex + 2] =
-                    p_in[i_yindex + 2] - (p_in[i_yindex + 2] >> 2) +
-                    (i_intensity >> 2);
-                p_out[i_uindex] = filling_const_8u;
-                p_out[i_vindex] = filling_const_8v;
-                p_in += 4;
-                p_out += 4;
-            }
-            p_in += p_pic->p[0].i_pitch - p_pic->p[0].i_visible_pitch;
-            p_out += p_outpic->p[0].i_pitch
-            - p_outpic->p[0].i_visible_pitch;
-        }
-    } else
-#endif
     {
         while( p_in < p_in_end )
         {
@@ -526,46 +459,33 @@ static void RVSepia( picture_t *p_pic, picture_t *p_outpic, int i_intensity )
 }
 
 /*****************************************************************************
- * Sepia8ySSE41
+ * Sepia8ySSE2
  *****************************************************************************
  * This function applies sepia effect to eight bytes of yellow using SSE4.1
  * instructions. It copies those 8 bytes to 128b register and fills the gaps
  * with zeroes and following operations are made with word-operating instructs.
  *****************************************************************************/
-inline void Sepia8ySSE41(uint8_t * dst, const uint8_t * src,
-               volatile uint8_t * i_intensity)
-{
-#if defined(CAN_COMPILE_SSE4_1) && 1
-    __asm__ volatile (
-              "pmovzxbw      (%1),   %%xmm1\n"    // y = y - y / 4 + i_intensity / 4
-              "pmovzxbw      (%1),   %%xmm2\n"    // store bytes as words with 0s in between
-              "pmovzxbw      (%2),   %%xmm3\n"
-              "psrlw          $2,    %%xmm2\n"    // rotate right 2
-              "psubusb       %%xmm1, %%xmm2\n"    // subtract
-              "psrlw          $2,    %%xmm3\n"
-              "paddsb        %%xmm1, %%xmm3\n"    // add
-              "packuswb      %%xmm2, %%xmm1\n"    // pack back to bytes
-              "movq          %%xmm1, (%0)  \n"    // load to dest
-              :
-              :"r" (dst), "r"(src), "r"(i_intensity)
-              :"memory");
-#endif
-}
-
-/*****************************************************************************
- * Memcpy8BMMX: Copies 8 bytes of memory in two instructions
- *****************************************************************************
- * Not quite clean, but it should be fast.
- *****************************************************************************/
-inline void Memcpy8BMMX(uint8_t * dst, const uint8_t * src)
+inline void Sepia8ySSE2(uint8_t * dst, const uint8_t * src,
+                         int i_intensity_spread)
 {
-#if defined(CAN_COMPILE_MMX) && 1
+#if defined(CAN_COMPILE_SSE2)
     __asm__ volatile (
-              "movq       (%1), %%xmm0\n"
-              "movq       %%xmm0, (%0)\n"
-              :
-              :"r" (dst), "r"(src)
-              :"memory");
+        // y = y - y / 4 + i_intensity / 4
+        "movq            (%1), %%xmm1\n"
+        "punpcklbw     %%xmm7, %%xmm1\n"
+        "movq            (%1), %%xmm2\n" // store bytes as words with 0s in between
+        "punpcklbw     %%xmm7, %%xmm2\n"
+        "movd              %2, %%xmm3\n"
+        "pshufd    $0, %%xmm3, %%xmm3\n"
+        "psrlw             $2, %%xmm2\n"    // rotate right 2
+        "psubusb       %%xmm1, %%xmm2\n"    // subtract
+        "psrlw             $2, %%xmm3\n"
+        "paddsb        %%xmm1, %%xmm3\n"    // add
+        "packuswb      %%xmm2, %%xmm1\n"    // pack back to bytes
+        "movq          %%xmm1, (%0)  \n"    // load to dest
+        :
+        :"r" (dst), "r"(src), "r"(i_intensity_spread)
+        :"memory");
 #endif
 }
 
-- 
1.7.1



From typx at dinauz.org  Mon Jun 27 17:56:01 2011
From: typx at dinauz.org (Denis Charmet)
Date: Mon, 27 Jun 2011 17:56:01 +0200
Subject: [vlc-devel] [PATCH] Fix a potential overflow of rtp timestamp
Message-ID: <1309190161-29092-1-git-send-email-typx@dinauz.org>

rtp_init_ts return a 48 bits timestamp which can overflow when multiplied by clock_rate (90000) in rtp_compute_ts.
This can cause the rtptime field of RTP-Info line (in RTSP PLAY answer) to be different of the rtp timestamp which quite screw OpenCore rtsp client so the android's MediaPlayer.
---
 modules/stream_out/rtp.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/modules/stream_out/rtp.c b/modules/stream_out/rtp.c
index 3e41159..2180f86 100644
--- a/modules/stream_out/rtp.c
+++ b/modules/stream_out/rtp.c
@@ -1541,9 +1541,9 @@ static int64_t rtp_init_ts( const vod_media_t *p_media,
     /* As per RFC 2326, session identifiers are at least 8 bytes long */
     strncpy((char *)&i_ts_init, psz_vod_session, sizeof(uint64_t));
     i_ts_init ^= (uintptr_t)p_media;
-    /* Limit the timestamp to 48 bytes, this is enough and allows us
+    /* Limit the timestamp to 46 bits, this is enough and allows us
      * to stay away from overflows */
-    i_ts_init &= 0xFFFFFFFFFFFF;
+    i_ts_init &= 0x3FFFFFFFFFFF;
     return i_ts_init;
 }
 
-- 
1.5.6.5



From remi at remlab.net  Mon Jun 27 18:07:35 2011
From: remi at remlab.net (=?iso-8859-1?q?R=E9mi?= Denis-Courmont)
Date: Mon, 27 Jun 2011 19:07:35 +0300
Subject: [vlc-devel] [PATCH] Fix sepia video filter in PackedYUV
In-Reply-To: <1309189809-16414-1-git-send-email-gamajun@seznam.cz>
References: <1309189809-16414-1-git-send-email-gamajun@seznam.cz>
Message-ID: <201106271907.36215.remi@remlab.net>

Le lundi 27 juin 2011 18:50:09 gamajun at seznam.cz, vous avez ?crit :
> From: Martin Briza 
> 
> SSE function used in PackedYUV plane was bad, removed
> 
> copying data using Memcpy8BMMX was slower than vlc_memset -> changed

vlc_memset() is a synonym for memset(). So it might be that its relative speed 
depend on the C run-time.

No objections, though.

-- 
R?mi Denis-Courmont
http://www.remlab.net/
http://fi.linkedin.com/in/remidenis


From remi at remlab.net  Mon Jun 27 19:52:59 2011
From: remi at remlab.net (=?utf-8?q?R=C3=A9mi?= Denis-Courmont)
Date: Mon, 27 Jun 2011 20:52:59 +0300
Subject: [vlc-devel] [REVIEW REQUEST] vlc: new contrib build system
Message-ID: <201106272052.59747.remi@remlab.net>

	Hello,

I have been writing a new contrib system as discussed a few months ago.
This is very incomplete as yet. And in any case, I will probably not
port the missing packages that are used neither on MingW nor on Linux.
http://git.remlab.net/gitweb/?p=vlc-courmisch.git;a=shortlog;h=refs/heads/contrib

Some of the feature highlights include:

 * support for fetching only needed sources
 * always building from source tarball:
   - easier GPL compliance
   - easier offline/firewalled builds
 * shared source tarballs for all targets
 * dynamic package selection, no static distribution files
 * fixed file dependency propagation with delete on errors
 * fixed directory dependencies using atomic rename
 * source code integrity checks

The following changes since commit 36376340c7cf542c11ab4373e95f2c4af51660c0:

  lua: factorize add_shortcut calls. (2011-06-26 23:21:16 +0200)

are available in the git repository at:
  http://git.remlab.net/git/vlc.git contrib

R?mi Denis-Courmont (17):
      New contrib system
      contrib: make package to make a binary tarball
      contribs: detect git, svn, wget/curl
      contrib: target for CMake toolchain configuration
      Contrib: add ARCH variable
      contrib: add HAVE_FPU (to select fixed point codecs)
      contrib: add directx headers
      contribs: add dshow
      Contrib: add HAVE_MACOSX (untested)
      contribs: add lua
      contribs: add a52dec library
      contribs: add live555
      contribs: add vorbis(enc)
      contribs: add libtheora
      contribs: add FLAC
      contribs: add speex
      contrib: bootstrap --disable-FOO and --enable-FOO

 contrib/bootstrap                           |  183 +++
 contrib/src/README                          |   88 ++
 contrib/src/a52/SHA512SUMS                  |    1 +
 contrib/src/a52/liba52-fixed.diff           | 2056 +++++++++++++++++++++++++++
 contrib/src/a52/rules.mak                   |   30 +
 contrib/src/directx/SHA512SUMS              |    1 +
 contrib/src/directx/rules.mak               |   19 +
 contrib/src/dshow/SHA512SUMS                |    2 +
 contrib/src/dshow/rules.mak                 |   35 +
 contrib/src/flac/SHA512SUMS                 |    1 +
 contrib/src/flac/flac-win32.patch           |  351 +++++
 contrib/src/flac/libFLAC-pc.patch           |   10 +
 contrib/src/flac/rules.mak                  |   42 +
 contrib/src/get-arch.sh                     |   26 +
 contrib/src/live555/SHA512SUMS              |    1 +
 contrib/src/live555/live-getaddrinfo.patch  |  152 ++
 contrib/src/live555/live-inet_ntop.patch    |  288 ++++
 contrib/src/live555/live-uselocale.patch    |  115 ++
 contrib/src/live555/live-win64.patch        |  184 +++
 contrib/src/live555/rules.mak               |   69 +
 contrib/src/lua/SHA512SUMS                  |    1 +
 contrib/src/lua/lua-noreadline.patch        |   24 +
 contrib/src/lua/rules.mak                   |   62 +
 contrib/src/main.mak                        |  224 +++
 contrib/src/ogg/SHA512SUMS                  |    1 +
 contrib/src/ogg/libogg-1.1.patch            |   56 +
 contrib/src/ogg/libogg-wince.patch          |   13 +
 contrib/src/ogg/rules.mak                   |   37 +
 contrib/src/speex/SHA512SUMS                |    1 +
 contrib/src/speex/rules.mak                 |   25 +
 contrib/src/theora/SHA512SUMS               |    1 +
 contrib/src/theora/libtheora-includes.patch |   16 +
 contrib/src/theora/rules.mak                |   52 +
 contrib/src/tremor/rules.mak                |   29 +
 contrib/src/tremor/tremor.patch             |   19 +
 contrib/src/vorbis/SHA512SUMS               |    1 +
 contrib/src/vorbis/rules.mak                |   35 +
 contrib/tarballs/.gitignore                 |    3 +
 38 files changed, 4254 insertions(+), 0 deletions(-)
 create mode 100755 contrib/bootstrap
 create mode 100644 contrib/src/README
 create mode 100644 contrib/src/a52/SHA512SUMS
 create mode 100644 contrib/src/a52/liba52-fixed.diff
 create mode 100644 contrib/src/a52/rules.mak
 create mode 100644 contrib/src/directx/SHA512SUMS
 create mode 100644 contrib/src/directx/rules.mak
 create mode 100644 contrib/src/dshow/SHA512SUMS
 create mode 100644 contrib/src/dshow/rules.mak
 create mode 100644 contrib/src/flac/SHA512SUMS
 create mode 100644 contrib/src/flac/flac-win32.patch
 create mode 100644 contrib/src/flac/libFLAC-pc.patch
 create mode 100644 contrib/src/flac/rules.mak
 create mode 100755 contrib/src/get-arch.sh
 create mode 100644 contrib/src/live555/SHA512SUMS
 create mode 100644 contrib/src/live555/live-getaddrinfo.patch
 create mode 100644 contrib/src/live555/live-inet_ntop.patch
 create mode 100644 contrib/src/live555/live-uselocale.patch
 create mode 100644 contrib/src/live555/live-win64.patch
 create mode 100644 contrib/src/live555/rules.mak
 create mode 100644 contrib/src/lua/SHA512SUMS
 create mode 100644 contrib/src/lua/lua-noreadline.patch
 create mode 100644 contrib/src/lua/rules.mak
 create mode 100644 contrib/src/main.mak
 create mode 100644 contrib/src/ogg/SHA512SUMS
 create mode 100644 contrib/src/ogg/libogg-1.1.patch
 create mode 100644 contrib/src/ogg/libogg-wince.patch
 create mode 100644 contrib/src/ogg/rules.mak
 create mode 100644 contrib/src/speex/SHA512SUMS
 create mode 100644 contrib/src/speex/rules.mak
 create mode 100644 contrib/src/theora/SHA512SUMS
 create mode 100644 contrib/src/theora/libtheora-includes.patch
 create mode 100644 contrib/src/theora/rules.mak
 create mode 100644 contrib/src/tremor/rules.mak
 create mode 100644 contrib/src/tremor/tremor.patch
 create mode 100644 contrib/src/vorbis/SHA512SUMS
 create mode 100644 contrib/src/vorbis/rules.mak
 create mode 100644 contrib/tarballs/.gitignore
-- 
R?mi Denis-Courmont
http://www.remlab.net/
http://fi.linkedin.com/in/remidenis


From jb at videolan.org  Mon Jun 27 20:23:26 2011
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Mon, 27 Jun 2011 20:23:26 +0200
Subject: [vlc-devel] [REVIEW REQUEST] vlc: new contrib build system
In-Reply-To: <201106272052.59747.remi@remlab.net>
References: <201106272052.59747.remi@remlab.net>
Message-ID: <20110627182326.GA907@videolan.org>

On Mon, Jun 27, 2011 at 08:52:59PM +0300, R?mi Denis-Courmont wrote :
>  * support for fetching only needed sources
Great.

>  * always building from source tarball:
>    - easier GPL compliance
>    - easier offline/firewalled builds
Meaning: we need to do tarballs of people who don't do tarballs?

>  * shared source tarballs for all targets
Fuck yeah...

>  * dynamic package selection, no static distribution files
I don't get how that works, tbh.

>  * fixed file dependency propagation with delete on errors
>  * fixed directory dependencies using atomic rename
>  * source code integrity checks

Cool.

contrib/ at the root? Great!

Best Regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device


From remi at remlab.net  Mon Jun 27 20:33:39 2011
From: remi at remlab.net (=?iso-8859-1?q?R=E9mi?= Denis-Courmont)
Date: Mon, 27 Jun 2011 21:33:39 +0300
Subject: [vlc-devel] [REVIEW REQUEST] vlc: new contrib build system
In-Reply-To: <20110627182326.GA907@videolan.org>
References: <201106272052.59747.remi@remlab.net>
	<20110627182326.GA907@videolan.org>
Message-ID: <201106272133.39608.remi@remlab.net>

Le lundi 27 juin 2011 21:23:26 Jean-Baptiste Kempf, vous avez ?crit :
> >  * always building from source tarball:
> >    - easier GPL compliance
> >    - easier offline/firewalled builds
> 
> Meaning: we need to do tarballs of people who don't do tarballs?

In case the package comes from a VCS, the build rules will create a tarball 
out of the VCS export. Then the tarball is unpacked and compiled as "normal".

This is slightly slower, but far simpler w.r.t. publishing the source and 
compiling offline.

-- 
R?mi Denis-Courmont
http://www.remlab.net/
http://fi.linkedin.com/in/remidenis


From jb at videolan.org  Mon Jun 27 20:42:57 2011
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Mon, 27 Jun 2011 20:42:57 +0200
Subject: [vlc-devel] [REVIEW REQUEST] vlc: new contrib build system
In-Reply-To: <201106272133.39608.remi@remlab.net>
References: <201106272052.59747.remi@remlab.net>
	<20110627182326.GA907@videolan.org>
	<201106272133.39608.remi@remlab.net>
Message-ID: <20110627184257.GA3541@videolan.org>

On Mon, Jun 27, 2011 at 09:33:39PM +0300, R?mi Denis-Courmont wrote :
> Le lundi 27 juin 2011 21:23:26 Jean-Baptiste Kempf, vous avez ?crit :
> > >  * always building from source tarball:
> > >    - easier GPL compliance
> > >    - easier offline/firewalled builds
> > 
> > Meaning: we need to do tarballs of people who don't do tarballs?
> 
> In case the package comes from a VCS, the build rules will create a tarball 
> out of the VCS export. Then the tarball is unpacked and compiled as "normal".
Great.

> This is slightly slower, but far simpler w.r.t. publishing the source and 
> compiling offline.

Do we really care about speed? I don't think so.

Best Regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device


From fcvlcdev at free.fr  Mon Jun 27 22:32:19 2011
From: fcvlcdev at free.fr (Francois Cartegnie)
Date: Mon, 27 Jun 2011 22:32:19 +0200
Subject: [vlc-devel] [PATCH] vlc input control: add INPUT_GET_CHAPTERS
Message-ID: <201106272232.19592.fcvlcdev@free.fr>

Adds the INPUT_GET_CHAPTERS query to retrieve the full seekpoint_t data for 
chapters.

The "chapter" var was already providing chapters titles and their index, but 
we need seek time to display chapters marks on the gui timeline/seekbar.

INPUT_GET_BOOKMARKS already exists. Factorizing possible.

Francois
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-vlc-input-control-add-INPUT_GET_CHAPTERS.patch
Type: text/x-patch
Size: 2935 bytes
Desc: not available
URL: 

From synaphis at gmail.com  Tue Jun 28 07:20:20 2011
From: synaphis at gmail.com (Robi)
Date: Tue, 28 Jun 2011 07:20:20 +0200
Subject: [vlc-devel] VLC Socket HTTP Bug - User agent
Message-ID: 

Hello,

== Bug Summary ==

When opening a network stream with VLC, on some servers requiring a specific
user-agent (like 38.108.112.114:8810 requiring KPeerClient), it doesn't
work, VLC doesn't even have time to send the user-agent information.
In fact it works one time out of something like 20, it is kind of random. I
think this is due to the server shutting down the connection as soon as it
receive the first packet (GET) and seeing there is not the wanted
user-agent.
I checked with a packet sniffer and then by looking at the source code and
VLC does in fact send the user-agent in a different packet, just after the
GET packet, causing this problem.

== How to fix ==

In the file modules/access/http.c line around 12XX (function Request)
I think there should be only a single call to the net_Printf function in
order to send all the informations in a single packet and thus preventing
this problem.
To do so, a String or something similar could be used and be filled out with
the packet data little by little before being sent (basically, str = "GET
....", then str += "User-agent: ....", and finally net_Printf(....,str)) or
something like that.
As I've never worked on VLC source code, I'm not really sure the best way of
doing it, that's why I sent this e-mail, hoping I gave enough information
for someone to fix this problem easily.

== Where to fix ==

  [...]
             net_Printf( p_access, p_sys->fd, pvs,
                         "GET %s HTTP/1.%d\r\nHost: %s:%d\r\n",
                         psz_path, p_sys->i_version, p_sys->url.psz_host,
                         p_sys->url.i_port );
         }
         else
         {
             net_Printf( p_access, p_sys->fd, pvs,
                         "GET %s HTTP/1.%d\r\nHost: %s\r\n",
                         psz_path, p_sys->i_version, p_sys->url.psz_host );
         }
     }
     /* User Agent */
     net_Printf( p_access, p_sys->fd, pvs,
                 "User-Agent: %s\r\n",
                 p_sys->psz_user_agent );
  [...]

 Best Regards,
Robin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From remi at remlab.net  Tue Jun 28 18:17:51 2011
From: remi at remlab.net (=?iso-8859-15?q?R=E9mi?= Denis-Courmont)
Date: Tue, 28 Jun 2011 19:17:51 +0300
Subject: [vlc-devel] VLC Socket HTTP Bug - User agent
In-Reply-To: 
References: 
Message-ID: <201106281917.51722.remi@remlab.net>

That's a bug in the HTTP server. Assuming that TCP data comes as a single 
packet is a blatant violation of the HTTP specification.

Le mardi 28 juin 2011 08:20:20 Robi, vous avez ?crit :
> Hello,
> 
> == Bug Summary ==
> 
> When opening a network stream with VLC, on some servers requiring a
> specific user-agent (like 38.108.112.114:8810 requiring KPeerClient), it
> doesn't work, VLC doesn't even have time to send the user-agent
> information. In fact it works one time out of something like 20, it is
> kind of random. I think this is due to the server shutting down the
> connection as soon as it receive the first packet (GET) and seeing there
> is not the wanted
> user-agent.
> I checked with a packet sniffer and then by looking at the source code and
> VLC does in fact send the user-agent in a different packet, just after the
> GET packet, causing this problem.
> 
> == How to fix ==
> 
> In the file modules/access/http.c line around 12XX (function Request)
> I think there should be only a single call to the net_Printf function in
> order to send all the informations in a single packet and thus preventing
> this problem.
> To do so, a String or something similar could be used and be filled out
> with the packet data little by little before being sent (basically, str =
> "GET ....", then str += "User-agent: ....", and finally
> net_Printf(....,str)) or something like that.
> As I've never worked on VLC source code, I'm not really sure the best way
> of doing it, that's why I sent this e-mail, hoping I gave enough
> information for someone to fix this problem easily.
> 
> == Where to fix ==
> 
>   [...]
>              net_Printf( p_access, p_sys->fd, pvs,
>                          "GET %s HTTP/1.%d\r\nHost: %s:%d\r\n",
>                          psz_path, p_sys->i_version, p_sys->url.psz_host,
>                          p_sys->url.i_port );
>          }
>          else
>          {
>              net_Printf( p_access, p_sys->fd, pvs,
>                          "GET %s HTTP/1.%d\r\nHost: %s\r\n",
>                          psz_path, p_sys->i_version, p_sys->url.psz_host );
>          }
>      }
>      /* User Agent */
>      net_Printf( p_access, p_sys->fd, pvs,
>                  "User-Agent: %s\r\n",
>                  p_sys->psz_user_agent );
>   [...]
> 
>  Best Regards,
> Robin


-- 
R?mi Denis-Courmont
http://www.remlab.net/
http://fi.linkedin.com/in/remidenis


From member at linkedin.com  Tue Jun 28 18:44:29 2011
From: member at linkedin.com (Varun Herale via LinkedIn)
Date: Tue, 28 Jun 2011 16:44:29 +0000 (UTC)
Subject: [vlc-devel] Invitation to connect on LinkedIn
Message-ID: <1687927991.9479035.1309279469517.JavaMail.app@ela4-bed33.prod>

LinkedIn
------------




    Varun Herale requested to add you as a connection on LinkedIn:
  
------------------------------------------

Daniel,

I'd like to add you to my professional network on LinkedIn.

- Varun

Accept invitation from Varun Herale
http://www.linkedin.com/e/-uwd99k-gph36w8z-5/VSAUK_-Fbmejweg0ANFn2qPHDFxWIR_IsWo/blk/I63439254_65/pmpxnSRJrSdvj4R5fnhv9ClRsDgZp6lQs6lzoQ5AomZIpn8_djpvd3kOejcQcPp9bQ9FcSdPjD9ebPgPe34NdPwScPcLrCBxbOYWrSlI/EML_comm_afe/

View invitation from Varun Herale
http://www.linkedin.com/e/-uwd99k-gph36w8z-5/VSAUK_-Fbmejweg0ANFn2qPHDFxWIR_IsWo/blk/I63439254_65/0RdBYQdj8VcPgPdAALqnpPbOYWrSlI/svi/


 
-- 
(c) 2011, LinkedIn Corporation
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From mehrotra.akash at gmail.com  Tue Jun 28 21:37:54 2011
From: mehrotra.akash at gmail.com (akash mehrotra)
Date: Wed, 29 Jun 2011 01:07:54 +0530
Subject: [vlc-devel] [PATCH]Implement pl_delete
Message-ID: 

Implement pl_delete in luahttp
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-implement-pl_delete.patch
Type: application/octet-stream
Size: 1875 bytes
Desc: not available
URL: 

From mehrotra.akash at gmail.com  Tue Jun 28 22:11:18 2011
From: mehrotra.akash at gmail.com (akash mehrotra)
Date: Wed, 29 Jun 2011 01:41:18 +0530
Subject: [vlc-devel] [PATCH 2/2]Expose osd.message through luahttp
Message-ID: 

Expose osd.message through luahttp
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-expose-osd-through-luahttp.patch
Type: application/octet-stream
Size: 1971 bytes
Desc: not available
URL: 

From remi at remlab.net  Tue Jun 28 22:15:23 2011
From: remi at remlab.net (=?iso-8859-15?q?R=E9mi?= Denis-Courmont)
Date: Tue, 28 Jun 2011 23:15:23 +0300
Subject: [vlc-devel] [PATCH]Implement pl_delete
In-Reply-To: 
References: 
Message-ID: <201106282315.24030.remi@remlab.net>

Le mardi 28 juin 2011 22:37:54 akash mehrotra, vous avez ?crit :
> Implement pl_delete in luahttp

Playlist items id are supposed to be discouraged due to intractable design 
issues. So exposing them via status.xml is probably not a good idea.

-- 
R?mi Denis-Courmont
http://www.remlab.net/
http://fi.linkedin.com/in/remidenis


From rob at hobbyistsoftware.com  Tue Jun 28 22:17:25 2011
From: rob at hobbyistsoftware.com (Rob)
Date: Tue, 28 Jun 2011 21:17:25 +0100
Subject: [vlc-devel] [PATCH] luahttp add .json equivalents for status.xml
	and playlist.xml
Message-ID: 

this does a couple of jobs

1) move the logic for processing commands from status.xml to a function in  
luahttp.lua (in /modules)
this means it can be shared with playlist.xml

2) move to a semi-clean separation of model & view with models in luahttp,  
and xml/json views just outputting the model data
-both status.xml and playlist.xml have to have some custom formatting of  
the output to maintain backwards compatibility, but it is fairly minor

3) adds .json views for status.json and playlist.json
-these are both direct output of the model data, so shouldn't need much  
maintenance

4) adds version= to status.xml model

5) adds apiversion1 to status.xml
-the idea is that we can increment this as the api is expanded and allow  
an easy way for clients to know which commands are available

6) reverts the playlist.xml output format to the schema in use before  
elminsters UI revamp. This will maintain backward compatibility, but will  
also require some rework from elminster to adapt (he is cool with this)

I'm looking for feedback and/or approval before I move on to other views.

Rob
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-added-.json-equivalents-for-status.xml-and-playlist..patch
Type: application/octet-stream
Size: 20419 bytes
Desc: not available
URL: 

From rob at hobbyistsoftware.com  Tue Jun 28 22:28:08 2011
From: rob at hobbyistsoftware.com (Rob Jonson)
Date: Tue, 28 Jun 2011 21:28:08 +0100
Subject: [vlc-devel] [PATCH]Implement pl_delete
In-Reply-To: <201106282315.24030.remi@remlab.net>
References: 
	<201106282315.24030.remi@remlab.net>
Message-ID: 

> Le mardi 28 juin 2011 22:37:54 akash mehrotra, vous avez ?crit :
> > Implement pl_delete in luahttp
>
> Playlist items id are supposed to be discouraged due to intractable design
> issues. So exposing them via status.xml is probably not a good idea.
>

Hi Remi,

command=pl_delete&id=xxx is the design that has been in use for years on
oldhttp. It has been one of the annoying functionality gaps between oldhttp
and luahttp.

status.xml has been sitting with a //fixme pl_delete for years in luahttp.

given the advantages of backwards compatibility - can you overlook a
suboptimal design in this case?

Rob
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From remi at remlab.net  Tue Jun 28 22:38:20 2011
From: remi at remlab.net (=?iso-8859-15?q?R=E9mi?= Denis-Courmont)
Date: Tue, 28 Jun 2011 23:38:20 +0300
Subject: [vlc-devel] [PATCH]Implement pl_delete
In-Reply-To: 
References: 
	<201106282315.24030.remi@remlab.net>
	
Message-ID: <201106282338.20896.remi@remlab.net>

Le mardi 28 juin 2011 23:28:08 Rob Jonson, vous avez ?crit :
> status.xml has been sitting with a //fixme pl_delete for years in luahttp.

Nobody has thought on addressing the real issue. Nobody has thought on how to 
reference playlist item nicely through the HTTP control interface, _not_ using 
the broken-by-design core playlist item identifiers. That's why.

> given the advantages of backwards compatibility - can you overlook a
> suboptimal design in this case?

If this was internal to VLC, as is the case with the Qt playlist model, maybe.

But this not only would add another roadblock on the path of fixing this long-
standing design issues, it would expose this issue to outside VLC. Then there 
is no way to *ever* fix this.

No thanks.

-- 
R?mi Denis-Courmont
http://www.remlab.net/
http://fi.linkedin.com/in/remidenis


From remi at remlab.net  Tue Jun 28 22:39:01 2011
From: remi at remlab.net (=?iso-8859-15?q?R=E9mi?= Denis-Courmont)
Date: Tue, 28 Jun 2011 23:39:01 +0300
Subject: [vlc-devel] [PATCH 2/2]Expose osd.message through luahttp
In-Reply-To: 
References: 
Message-ID: <201106282339.01611.remi@remlab.net>

Le mardi 28 juin 2011 23:11:18 akash mehrotra, vous avez ?crit :
> Expose osd.message through luahttp

The core OSD has significat thread-safety and design issues.

I don't think it's wise to expose the API to LUA until after it's "fixed".

-- 
R?mi Denis-Courmont
http://www.remlab.net/
http://fi.linkedin.com/in/remidenis


From bwbrooks at archmageinc.com  Tue Jun 28 18:52:11 2011
From: bwbrooks at archmageinc.com (Brandon Brooks)
Date: Tue, 28 Jun 2011 12:52:11 -0400
Subject: [vlc-devel] [PATCH] HTTP UI - Updates 2nd attempt
Message-ID: <20110628125211.48797ho4l5gk5jnf@webmail.thebrooksfamilyonline.com>

This patch contains various updates to the new HTTP UI

Mobile views have only been tested on Android.

Update - Added anticipated EQ functionality
Update - Corrected rounding mistakes and EQ units
Update - Added Mobile EQ
Update - Added Mobile Flash View
Update - Minor Display Adjustments
Update - Revert Playlist.xml for backward compatability
Update - Added playlist_jstree.xml for UI usability
Update - Added Batch VLM Command interface
Update - Added VLM command error reporting
Update - Removed EQ ajax call, in anticipation of EQ merging with status
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-HTTP-UI-Updates.patch
Type: text/x-patch
Size: 74095 bytes
Desc: not available
URL: 

From tomasen at gmail.com  Tue Jun 28 19:02:50 2011
From: tomasen at gmail.com (tomasen at gmail.com)
Date: Wed, 29 Jun 2011 01:02:50 +0800
Subject: [vlc-devel] [PATCH] fix: typo in ios build script
In-Reply-To: 
References: 
Message-ID: <1309280570-35702-1-git-send-email-tomasen@gmail.com>

From: Tomasen 

---
 extras/package/ios/build.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/extras/package/ios/build.sh b/extras/package/ios/build.sh
index 398242b..0be8a79 100755
--- a/extras/package/ios/build.sh
+++ b/extras/package/ios/build.sh
@@ -193,7 +193,7 @@ ${VLCROOT}/configure \
     --disable-macosx-qtcapture \
     --disable-macosx-eyetv \
     --disable-macosx-vlc-app \
-    --with-macosx-sdk=${IO_SDK_ROOT} \
+    --with-macosx-sdk=${IOS_SDK_ROOT} \
     --enable-audioqueue \
     --enable-ios-vout \
     --enable-avcodec \
-- 
1.7.3.4



From jb at videolan.org  Tue Jun 28 23:29:31 2011
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Tue, 28 Jun 2011 23:29:31 +0200
Subject: [vlc-devel] [PATCH] HTTP UI - Updates 2nd attempt
In-Reply-To: <20110628125211.48797ho4l5gk5jnf@webmail.thebrooksfamilyonline.com>
References: <20110628125211.48797ho4l5gk5jnf@webmail.thebrooksfamilyonline.com>
Message-ID: <20110628212931.GA13123@videolan.org>

On Tue, Jun 28, 2011 at 12:52:11PM -0400, Brandon Brooks wrote :
> This patch contains various updates to the new HTTP UI
> 
> Mobile views have only been tested on Android.
> 
> Update - Added anticipated EQ functionality
> Update - Corrected rounding mistakes and EQ units
> Update - Added Mobile EQ
> Update - Added Mobile Flash View
> Update - Minor Display Adjustments
> Update - Revert Playlist.xml for backward compatability
> Update - Added playlist_jstree.xml for UI usability
> Update - Added Batch VLM Command interface
> Update - Added VLM command error reporting
> Update - Removed EQ ajax call, in anticipation of EQ merging with status

Great work, indeed, but still missing the Modules.am updates in
share/ And for the same reason, you shoul be able to refer to
../../icons for the 48.png..

Best Regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device


From bwbrooks at archmageinc.com  Wed Jun 29 01:48:39 2011
From: bwbrooks at archmageinc.com (Brandon Brooks)
Date: Tue, 28 Jun 2011 19:48:39 -0400
Subject: [vlc-devel] [PATCH] HTTP UI - Updates 2nd attempt
In-Reply-To: <20110628212931.GA13123@videolan.org>
References: <20110628125211.48797ho4l5gk5jnf@webmail.thebrooksfamilyonline.com>
	<20110628212931.GA13123@videolan.org>
Message-ID: <20110628194839.15945o3aa29gnn13@webmail.thebrooksfamilyonline.com>

Quoting Jean-Baptiste Kempf :

> On Tue, Jun 28, 2011 at 12:52:11PM -0400, Brandon Brooks wrote :
>> This patch contains various updates to the new HTTP UI
>>
>> Mobile views have only been tested on Android.
>>
>> Update - Added anticipated EQ functionality
>> Update - Corrected rounding mistakes and EQ units
>> Update - Added Mobile EQ
>> Update - Added Mobile Flash View
>> Update - Minor Display Adjustments
>> Update - Revert Playlist.xml for backward compatability
>> Update - Added playlist_jstree.xml for UI usability
>> Update - Added Batch VLM Command interface
>> Update - Added VLM command error reporting
>> Update - Removed EQ ajax call, in anticipation of EQ merging with status
>
> Great work, indeed, but still missing the Modules.am updates in
> share/ And for the same reason, you shoul be able to refer to
> ../../icons for the 48.png..

I guess I don't understand what you mean?


From bwbrooks at archmageinc.com  Wed Jun 29 01:53:04 2011
From: bwbrooks at archmageinc.com (Brandon Brooks)
Date: Tue, 28 Jun 2011 19:53:04 -0400
Subject: [vlc-devel] [PATCH] luahttp add .json equivalents for
 status.xml and playlist.xml
In-Reply-To: 
References: 
Message-ID: <20110628195304.143950kaqfsv8ns0@webmail.thebrooksfamilyonline.com>


> 6) reverts the playlist.xml output format to the schema in use  
> before  elminsters UI revamp. This will maintain backward  
> compatibility, but will  also require some rework from elminster to  
> adapt (he is cool with this)

The last patch I submitted also reverts the playlist.xml file



From ivoire at videolan.org  Wed Jun 29 08:45:52 2011
From: ivoire at videolan.org (=?iso-8859-1?Q?R=E9mi?= Duraffort)
Date: Wed, 29 Jun 2011 08:45:52 +0200
Subject: [vlc-devel] [PATCH 2/2]Expose osd.message through luahttp
In-Reply-To: <201106282339.01611.remi@remlab.net>
References: 
	<201106282339.01611.remi@remlab.net>
Message-ID: <20110629064552.GZ25260@dinauz.org>

> The core OSD has significat thread-safety and design issues.
> 
> I don't think it's wise to expose the API to LUA until after it's "fixed".

I don't think that disalowing people to use it will help to fix it as less
people will be interested in fixing it.


Regards

-- 
R?mi Duraffort | ivoire
http://ivoire.dinauz.org/blog/


From remi at remlab.net  Wed Jun 29 08:49:53 2011
From: remi at remlab.net (=?UTF-8?Q?R=C3=A9mi_Denis-Courmont?=)
Date: Wed, 29 Jun 2011 08:49:53 +0200
Subject: [vlc-devel] [PATCH 2/2]Expose osd.message through luahttp
In-Reply-To: <20110629064552.GZ25260@dinauz.org>
References: 
	<201106282339.01611.remi@remlab.net>
	<20110629064552.GZ25260@dinauz.org>
Message-ID: <5225ee057aee0b153883aa5dfd9b1403@chewa.net>

On Wed, 29 Jun 2011 08:45:52 +0200, R?mi Duraffort 
wrote:
>> The core OSD has significat thread-safety and design issues.
>> 
>> I don't think it's wise to expose the API to LUA until after it's
>> "fixed".
> 
> I don't think that disalowing people to use it will help to fix it as
less
> people will be interested in fixing it.

Allowing people to use a broken API from outside of the VLC internals
makes it impossible to ever fix it.

-- 
R?mi Denis-Courmont
http://www.remlab.net/


From jb at videolan.org  Wed Jun 29 08:55:08 2011
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Wed, 29 Jun 2011 08:55:08 +0200
Subject: [vlc-devel] [PATCH] HTTP UI - Updates 2nd attempt
In-Reply-To: <20110628194839.15945o3aa29gnn13@webmail.thebrooksfamilyonline.com>
References: <20110628125211.48797ho4l5gk5jnf@webmail.thebrooksfamilyonline.com>
	<20110628212931.GA13123@videolan.org>
	<20110628194839.15945o3aa29gnn13@webmail.thebrooksfamilyonline.com>
Message-ID: <20110629065508.GA19502@videolan.org>

On Tue, Jun 28, 2011 at 07:48:39PM -0400, Brandon Brooks wrote :
> >Great work, indeed, but still missing the Modules.am updates in
> >share/ And for the same reason, you shoul be able to refer to
> >../../icons for the 48.png..
> 
> I guess I don't understand what you mean?

Ok.

See
http://git.videolan.org/?p=vlc.git;a=commitdiff;h=47974fd22866005e858c378edd6325051a47cac1
and the 2 following commits...

VLC is installed, at the end, and, if files are not marked as
installable they won't be installed...


Best Regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device


From remi at remlab.net  Wed Jun 29 09:17:44 2011
From: remi at remlab.net (=?UTF-8?Q?R=C3=A9mi_Denis-Courmont?=)
Date: Wed, 29 Jun 2011 09:17:44 +0200
Subject: [vlc-devel] [PATCH] HTTP UI - Updates 2nd attempt
In-Reply-To: <20110628194839.15945o3aa29gnn13@webmail.thebrooksfamilyonline.com>
References: <20110628125211.48797ho4l5gk5jnf@webmail.thebrooksfamilyonline.com>
	<20110628212931.GA13123@videolan.org>
	<20110628194839.15945o3aa29gnn13@webmail.thebrooksfamilyonline.com>
Message-ID: 

On Tue, 28 Jun 2011 19:48:39 -0400, Brandon Brooks
 wrote:
>> Great work, indeed, but still missing the Modules.am updates in
>> share/ And for the same reason, you shoul be able to refer to
>> ../../icons for the 48.png..
> 
> I guess I don't understand what you mean?

You need to update Modules.am (in modules/*/) or otherwise Makefile.am
when you add/remove files to the build system. Otherwise, the files won't
get installed in binary releases and won't get shipped in source releases.

-- 
R?mi Denis-Courmont
http://www.remlab.net/


From ivoire at videolan.org  Wed Jun 29 10:09:42 2011
From: ivoire at videolan.org (=?iso-8859-1?Q?R=E9mi?= Duraffort)
Date: Wed, 29 Jun 2011 10:09:42 +0200
Subject: [vlc-devel] [PATCH 2/2]Expose osd.message through luahttp
In-Reply-To: <5225ee057aee0b153883aa5dfd9b1403@chewa.net>
References: 
	<201106282339.01611.remi@remlab.net>
	<20110629064552.GZ25260@dinauz.org>
	<5225ee057aee0b153883aa5dfd9b1403@chewa.net>
Message-ID: <20110629080942.GA25260@dinauz.org>

> > I don't think that disalowing people to use it will help to fix it as
> less
> > people will be interested in fixing it.
> 
> Allowing people to use a broken API from outside of the VLC internals
> makes it impossible to ever fix it.

Not really in this case as the API proposed by the luahttp module is
really high level : changing the underlying API is still easy. Also fixing
thread-safety does not mean that you need to change the API.


Regards

-- 
R?mi Duraffort | ivoire
http://ivoire.dinauz.org/blog/


From remi at remlab.net  Wed Jun 29 10:16:26 2011
From: remi at remlab.net (=?UTF-8?Q?R=C3=A9mi_Denis-Courmont?=)
Date: Wed, 29 Jun 2011 10:16:26 +0200
Subject: [vlc-devel] [PATCH 2/2]Expose osd.message through luahttp
In-Reply-To: <20110629080942.GA25260@dinauz.org>
References: 
	<201106282339.01611.remi@remlab.net>
	<20110629064552.GZ25260@dinauz.org>
	<5225ee057aee0b153883aa5dfd9b1403@chewa.net>
	<20110629080942.GA25260@dinauz.org>
Message-ID: 

On Wed, 29 Jun 2011 10:09:42 +0200, R?mi Duraffort 
wrote:
>> Allowing people to use a broken API from outside of the VLC internals
>> makes it impossible to ever fix it.
> 
> Not really in this case as the API proposed by the luahttp module is
> really high level : changing the underlying API is still easy.

I'm not very happy, but I can accept using a potentially broken API
internally. But I am concerned that it gets used by external LUA scripts or
external HTTP client applications...

> Also fixing thread-safety does not mean that you need to change the API.

That's hard to say before someone tries to refine the API.

-- 
R?mi Denis-Courmont
http://www.remlab.net/


From xavion.0 at gmail.com  Wed Jun 29 13:15:18 2011
From: xavion.0 at gmail.com (Xavion)
Date: Wed, 29 Jun 2011 21:15:18 +1000
Subject: [vlc-devel] I can't login properly to the VLC bug tracker using my
	Google OpenID
Message-ID: 

When I try to submit a new ticket, it says "Your permissions have been
limited until you verify your email address". I don't know why it's asking
me to verify my email address at all, given that I just logged into it via
my Google OpenID.  When I then click the 'verify' link, I get the "Your
email is already verified" message. When I go ahead and verify again anyway,
it has no effect and I get the "Your email is already verified" message
again. How do I file a bug report about the bug tracker itself, given that
it won't let me submit any tickets?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From mehrotra.akash at gmail.com  Wed Jun 29 19:04:30 2011
From: mehrotra.akash at gmail.com (akash mehrotra)
Date: Wed, 29 Jun 2011 22:34:30 +0530
Subject: [vlc-devel] [PATCH] Luahttp can access equalizer settings
In-Reply-To: <201106252207.23042.remi@remlab.net>
References: 
	<201106240947.56580.remi@remlab.net>
	
	<201106252207.23042.remi@remlab.net>
Message-ID: 

Fixed and attached as per IRC discussion

2011/6/26 R?mi Denis-Courmont 

> Le samedi 25 juin 2011 21:49:56 akash mehrotra, vous avez ?crit :
> > Made the following changes:
> >
> >    1. release p_input early
> >    2. use sizeof for snprintf
> >
> >
> > Did not use strtok as the code would become more complicated ( us_strtof
> > works well enough )
> > Did not change the while loop, it works as it is ( the 2nd argument of
> > us_strtof will become null if the string terminates earlier than
> expected.
> > this is the case in which the null condition will be used to end the
> loop)
>
> Negative acknowledgement. Patch rejected.
>
> --
> R?mi Denis-Courmont
> http://www.remlab.net/
> http://fi.linkedin.com/in/remidenis
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Luahttp-can-access-and-modify-equalizer-settings.patch
Type: application/octet-stream
Size: 7822 bytes
Desc: not available
URL: 

From bwbrooks at archmageinc.com  Wed Jun 29 22:46:34 2011
From: bwbrooks at archmageinc.com (Brandon Brooks)
Date: Wed, 29 Jun 2011 16:46:34 -0400
Subject: [vlc-devel] [PATCH] HTTP UI - Updates
In-Reply-To: <20110629163750.31545h3roqnv8izi@webmail.thebrooksfamilyonline.com>
References: <20110628125211.48797ho4l5gk5jnf@webmail.thebrooksfamilyonline.com>
	<20110628212931.GA13123@videolan.org>
	<20110628194839.15945o3aa29gnn13@webmail.thebrooksfamilyonline.com>
	
	<20110629163750.31545h3roqnv8izi@webmail.thebrooksfamilyonline.com>
Message-ID: <20110629164634.150975koubq08jze@webmail.thebrooksfamilyonline.com>

Quoting Brandon Brooks :

>>> Great work, indeed, but still missing the Modules.am updates in
>>> share/ And for the same reason, you shoul be able to refer to
>>> ../../icons for the 48.png..
>>
>> I guess I don't understand what you mean?
>
> You need to update Modules.am (in modules/*/) or otherwise Makefile.am
> when you add/remove files to the build system. Otherwise, the files won't
> get installed in binary releases and won't get shipped in source releases.

Updated



-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-HTTP-UI-Updates.patch
Type: text/x-patch
Size: 82155 bytes
Desc: not available
URL: 

From jb at videolan.org  Thu Jun 30 01:23:17 2011
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Thu, 30 Jun 2011 01:23:17 +0200
Subject: [vlc-devel] [PATCH] Luahttp can access equalizer settings
In-Reply-To: 
References: 
	<201106240947.56580.remi@remlab.net>
	
	<201106252207.23042.remi@remlab.net>
	
Message-ID: <20110629232317.GA11373@videolan.org>

On Wed, Jun 29, 2011 at 10:34:30PM +0530, akash mehrotra wrote :
> Fixed and attached as per IRC discussion

Applied, thanks for the perseverance...

Best Regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device


From jb at videolan.org  Thu Jun 30 01:25:06 2011
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Thu, 30 Jun 2011 01:25:06 +0200
Subject: [vlc-devel] [PATCH] HTTP UI - Updates
In-Reply-To: <20110629164634.150975koubq08jze@webmail.thebrooksfamilyonline.com>
References: <20110628125211.48797ho4l5gk5jnf@webmail.thebrooksfamilyonline.com>
	<20110628212931.GA13123@videolan.org>
	<20110628194839.15945o3aa29gnn13@webmail.thebrooksfamilyonline.com>
	
	<20110629163750.31545h3roqnv8izi@webmail.thebrooksfamilyonline.com>
	<20110629164634.150975koubq08jze@webmail.thebrooksfamilyonline.com>
Message-ID: <20110629232506.GB11373@videolan.org>

On Wed, Jun 29, 2011 at 04:46:34PM -0400, Brandon Brooks wrote :
> Updated

The EQ button doesn't work for me... Is that normal?

And maybe you want to change your author line?

Best Regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device


From jb at videolan.org  Thu Jun 30 01:28:06 2011
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Thu, 30 Jun 2011 01:28:06 +0200
Subject: [vlc-devel] [PATCH] luahttp add .json equivalents for
 status.xml and playlist.xml
In-Reply-To: 
References: 
Message-ID: <20110629232806.GC11373@videolan.org>

On Tue, Jun 28, 2011 at 09:17:25PM +0100, Rob wrote :
> this does a couple of jobs

You shouldn't do that much in one patch.

> 6) reverts the playlist.xml output format to the schema in use
I don't get that part. Nor the logic about this...

The patch is missing README.txt update, NEWS entry and Makefile.am
modifications.

Best Regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device


From jb at videolan.org  Thu Jun 30 01:35:17 2011
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Thu, 30 Jun 2011 01:35:17 +0200
Subject: [vlc-devel] [PATCH] Fix sepia video filter in PackedYUV
In-Reply-To: <1309189809-16414-1-git-send-email-gamajun@seznam.cz>
References: <1309189809-16414-1-git-send-email-gamajun@seznam.cz>
Message-ID: <20110629233517.GA13817@videolan.org>

On Mon, Jun 27, 2011 at 05:50:09PM +0200, gamajun at seznam.cz wrote :
> ---
>  modules/video_filter/sepia.c |  194 ++++++++++++-----------------------------
>  1 files changed, 57 insertions(+), 137 deletions(-)

Applied, many thanks...

Best Regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device


From jb at videolan.org  Thu Jun 30 01:37:11 2011
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Thu, 30 Jun 2011 01:37:11 +0200
Subject: [vlc-devel] Requesting Current Track Information From VLC MacOSX
In-Reply-To: 
References: 
Message-ID: <20110629233711.GB13817@videolan.org>

On Sun, Jun 26, 2011 at 05:16:04PM +0530, Alex Flecher wrote :
> Is it possible to get the data for current playing track and playlist.
> Can i do some sort of IPC or access the VLC running instance to get this info??

Use:
 - rc interface
 - http interface and requests/*.xml
 - growl infos
 - dbus

Best Regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device


From jb at videolan.org  Thu Jun 30 02:12:35 2011
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Thu, 30 Jun 2011 02:12:35 +0200
Subject: [vlc-devel] [PATCH] fix: typo in ios build script
In-Reply-To: <1309280570-35702-1-git-send-email-tomasen@gmail.com>
References: 
	<1309280570-35702-1-git-send-email-tomasen@gmail.com>
Message-ID: <20110630001235.GA21042@videolan.org>

On Wed, Jun 29, 2011 at 01:02:50AM +0800, tomasen at gmail.com wrote :
>  extras/package/ios/build.sh |    2 +-

Applied.

Best Regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device


From bwbrooks at archmageinc.com  Thu Jun 30 04:17:16 2011
From: bwbrooks at archmageinc.com (Brandon Brooks)
Date: Wed, 29 Jun 2011 22:17:16 -0400
Subject: [vlc-devel] [PATCH] Luahttp can access equalizer settings
In-Reply-To: <20110629232317.GA11373@videolan.org>
References: 
	<201106240947.56580.remi@remlab.net>
	
	<201106252207.23042.remi@remlab.net>
	
	<20110629232317.GA11373@videolan.org>
Message-ID: <20110629221716.176953dkgnkogsks@webmail.thebrooksfamilyonline.com>

Quoting Jean-Baptiste Kempf :

> On Wed, Jun 29, 2011 at 10:34:30PM +0530, akash mehrotra wrote :
>> Fixed and attached as per IRC discussion
>
> Applied, thanks for the perseverance...

Is it just me, or does an error occur when calling equalizer.xml?



From garret.kelly at gmail.com  Thu Jun 30 04:17:13 2011
From: garret.kelly at gmail.com (Garret Kelly)
Date: Wed, 29 Jun 2011 22:17:13 -0400
Subject: [vlc-devel] VLC for Android Volunteer
Message-ID: 

Hi vlc-devel,
I'd like to contribute to the VLC port for Android. I've got a lot of
ARM and C/C++ experience, and smallish amount of Java experience. I've
looked at the VLC trac, but didn't see any open Android features or
bugs. Where should I begin?

Thanks,
Garret Kelly


From magsoft at videolan.org  Thu Jun 30 09:00:10 2011
From: magsoft at videolan.org (Adrien Maglo)
Date: Thu, 30 Jun 2011 09:00:10 +0200
Subject: [vlc-devel] VLC for Android Volunteer
In-Reply-To: 
References: 
Message-ID: <4E0C1EFA.5070001@videolan.org>

Le 30/06/2011 04:17, Garret Kelly a ?crit :
> Hi vlc-devel,

Hi Garret,

> I'd like to contribute to the VLC port for Android. I've got a lot of
> ARM and C/C++ experience, and smallish amount of Java experience. I've
> looked at the VLC trac, but didn't see any open Android features or
> bugs. Where should I begin?

That is right. There is no entry in the trac for vlc-android. But there 
are some bugs and missing features. Join our IRC channel (#videolan on 
freenode).
Have you already managed to compile VLC for Android?

Regards,


-- 
MagSoft


From asmadeus at codewreck.org  Thu Jun 30 09:18:19 2011
From: asmadeus at codewreck.org (Dominique Martinet)
Date: Thu, 30 Jun 2011 16:18:19 +0900
Subject: [vlc-devel] VLC for Android Volunteer
In-Reply-To: <4E0C1EFA.5070001@videolan.org>
References: 
	<4E0C1EFA.5070001@videolan.org>
Message-ID: <20110630071819.GA12223@nautica>

Hi,

Adrien Maglo wrote on Thu, Jun 30, 2011 :
> That is right. There is no entry in the trac for vlc-android. But there  
> are some bugs and missing features. Join our IRC channel (#videolan on  
> freenode).

He's already there with the nick gkelly, but he's on American time so
not likely to hang around the same time you do. It's not exactly
convenient for me either :)
It's been a while I haven't done much and I haven't kept up to date with
mergml's recent doings, but it could be nice to properly write a list of
known bugs and missing features for everyone.


> Have you already managed to compile VLC for Android?

Since I'm not sure you know, the source is available here:
http://git.videolan.org/?p=vlc/vlc-android.git;a=summary
You can find instructions in extras/package/android/HOWTO


Regards,
Dominique Martinet | Asmadeus


From remi at remlab.net  Thu Jun 30 09:37:13 2011
From: remi at remlab.net (=?UTF-8?Q?R=C3=A9mi_Denis-Courmont?=)
Date: Thu, 30 Jun 2011 09:37:13 +0200
Subject: [vlc-devel] [vlc-commits] Luahttp can access and modify
	equalizer settings
In-Reply-To: <20110629232247.2066913FEEC@albiero.videolan.org>
References: <20110629232247.2066913FEEC@albiero.videolan.org>
Message-ID: <164aa69e2234d976263d4a72634e9011@chewa.net>

> 
/*****************************************************************************
>  * Get the preamp level
> 
*****************************************************************************/
> @@ -51,11 +64,16 @@ static int vlclua_preamp_get( lua_State *L )
>      if( p_input )
>      {
>          aout_instance_t *p_aout = input_GetAout( p_input );
> +        vlc_object_release( p_input );
> +        char *psz_af = var_GetNonEmptyString( p_aout, "audio-filter" );
> +        if ( strstr ( psz_af, "equalizer" ) == NULL )
> +        {
> +            vlc_object_release( p_aout );
> +            return 0;
> +        }

I don't really get the point of this part of the patch. As far as I can
tell, it just causes the function to return 0 instead of the correct value
semi-randomly.

-- 
R?mi Denis-Courmont
http://www.remlab.net/


From xilasz at gmail.com  Thu Jun 30 09:50:07 2011
From: xilasz at gmail.com (XilasZ)
Date: Thu, 30 Jun 2011 09:50:07 +0200
Subject: [vlc-devel] VLC for Android Volunteer
In-Reply-To: <20110630071819.GA12223@nautica>
References: 
	<4E0C1EFA.5070001@videolan.org> <20110630071819.GA12223@nautica>
Message-ID: 

Hi,

I don't know about mergeml stuff, but there are two things i have in mind :
- we lack a neon optimized i420->rgb converter (i started to read some docs
about neon/arm, but didn't have time to try yet).

- find a way to make omxil work on android if it's even possible (since
omxil = OpenMax IL => hardware decoding)

On Thu, Jun 30, 2011 at 9:18 AM, Dominique Martinet
wrote:

> Hi,
>
> Adrien Maglo wrote on Thu, Jun 30, 2011 :
> > That is right. There is no entry in the trac for vlc-android. But there
> > are some bugs and missing features. Join our IRC channel (#videolan on
> > freenode).
>
> He's already there with the nick gkelly, but he's on American time so
> not likely to hang around the same time you do. It's not exactly
> convenient for me either :)
> It's been a while I haven't done much and I haven't kept up to date with
> mergml's recent doings, but it could be nice to properly write a list of
> known bugs and missing features for everyone.
>
>
> > Have you already managed to compile VLC for Android?
>
> Since I'm not sure you know, the source is available here:
> http://git.videolan.org/?p=vlc/vlc-android.git;a=summary
> You can find instructions in extras/package/android/HOWTO
>
>
> Regards,
> Dominique Martinet | Asmadeus
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From garret.kelly at gmail.com  Thu Jun 30 10:07:38 2011
From: garret.kelly at gmail.com (Garret Kelly)
Date: Thu, 30 Jun 2011 04:07:38 -0400
Subject: [vlc-devel] VLC for Android Volunteer
In-Reply-To: <20110630071819.GA12223@nautica>
References: 
	<4E0C1EFA.5070001@videolan.org> <20110630071819.GA12223@nautica>
Message-ID: 

>> Have you already managed to compile VLC for Android?
> Since I'm not sure you know, the source is available here:
> http://git.videolan.org/?p=vlc/vlc-android.git;a=summary
> You can find instructions in extras/package/android/HOWTO

I had found the AndroidCompile wiki page and followed the instructions
there. One of the steps was out of date, so I updated the wiki page.
I've got a build that seems to work nicely on my Nexus One. A quick
test on my Xoom crashed it with an illegal instruction (I expected it,
given that I built with NEON support enabled, which the Tegra 2 in the
Xoom lacks).

Is there any plan to do runtime selection of the correct library, or
is the distribution plan to offer multiple APKs?

Garret


From asmadeus at codewreck.org  Thu Jun 30 10:15:39 2011
From: asmadeus at codewreck.org (Dominique Martinet)
Date: Thu, 30 Jun 2011 17:15:39 +0900
Subject: [vlc-devel] VLC for Android Volunteer
In-Reply-To: 
References: 
	<4E0C1EFA.5070001@videolan.org> <20110630071819.GA12223@nautica>
	
Message-ID: <20110630081539.GA16817@nautica>

Garret Kelly wrote on Thu, Jun 30, 2011 :
> I had found the AndroidCompile wiki page and followed the instructions
> there. One of the steps was out of date, so I updated the wiki page.
> I've got a build that seems to work nicely on my Nexus One. A quick
> test on my Xoom crashed it with an illegal instruction (I expected it,
> given that I built with NEON support enabled, which the Tegra 2 in the
> Xoom lacks).
> 
> Is there any plan to do runtime selection of the correct library, or
> is the distribution plan to offer multiple APKs?

None for neon/no-neon, no -- because the choice is given as soon as
ffmpeg's build in the contribs, and we'd need to at least link against
it dynamically and dlopen() it.. given the pain it was for opensles
already, and given the size of the library that does matter, I think
it's better to give two different binaries.
If you have a magic idea, we're open to suggestion, but I honestly can't
think of anything that's not overly complicated and reliable :P
So multiple APKs it is.


The build system should probably still work with the NO_NEON shell
variable set, if you're interested, but it needs another contrib tree
build so might as well do another whole checkout for it (don't forget to
clean if you try)

Regards,
-- 
Dominique Martinet | Asmadeus


From garret.kelly at gmail.com  Thu Jun 30 10:18:06 2011
From: garret.kelly at gmail.com (Garret Kelly)
Date: Thu, 30 Jun 2011 04:18:06 -0400
Subject: [vlc-devel] VLC for Android Volunteer
In-Reply-To: 
References: 
	<4E0C1EFA.5070001@videolan.org> <20110630071819.GA12223@nautica>
	
Message-ID: 

> I don't know about mergeml stuff, but there are two things i have in mind :
> - we lack a neon optimized i420->rgb converter?(i started to read some docs
> about neon/arm, but didn't have time to try yet).

That sounds great, I'll give it a go. Is there a set of test files
somewhere that contain the different formats?

> - find a way to make omxil work on android if it's even possible (since
> omxil = OpenMax IL => hardware decoding)

This seems like a much bigger and more complicated endeavour, perhaps
a little too large to cut my teeth on.

Garret


From xilasz at gmail.com  Thu Jun 30 10:27:46 2011
From: xilasz at gmail.com (XilasZ)
Date: Thu, 30 Jun 2011 10:27:46 +0200
Subject: [vlc-devel] VLC for Android Volunteer
In-Reply-To: 
References: 
	<4E0C1EFA.5070001@videolan.org> <20110630071819.GA12223@nautica>
	
	
Message-ID: 

On Thu, Jun 30, 2011 at 10:18 AM, Garret Kelly wrote:

> > I don't know about mergeml stuff, but there are two things i have in mind
> :
> > - we lack a neon optimized i420->rgb converter (i started to read some
> docs
> > about neon/arm, but didn't have time to try yet).
>
> That sounds great, I'll give it a go. Is there a set of test files
> somewhere that contain the different formats?
>

Take a look here :
http://git.videolan.org/?p=vlc/vlc-android.git;a=tree;f=modules/arm_neon;
I wrote i420_rgb.c as a start. it's plain c, not optimized at all and even
the algo might be wrong, but it works.


>
> > - find a way to make omxil work on android if it's even possible (since
> > omxil = OpenMax IL => hardware decoding)
>
> This seems like a much bigger and more complicated endeavour, perhaps
> a little too large to cut my teeth on.
>

there's already an omxil module in vlc, it works on maemo, but it crash on
android when i tried to enable it, and i have no idea why :p.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From jb at videolan.org  Thu Jun 30 11:22:06 2011
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Thu, 30 Jun 2011 11:22:06 +0200
Subject: [vlc-devel] VLC for Android Volunteer
In-Reply-To: 
References: 
	<4E0C1EFA.5070001@videolan.org> <20110630071819.GA12223@nautica>
	
	
Message-ID: <20110630092206.GA30777@videolan.org>

On Thu, Jun 30, 2011 at 04:18:06AM -0400, Garret Kelly wrote :
> > - we lack a neon optimized i420->rgb converter?(i started to read some docs
> > about neon/arm, but didn't have time to try yet).
> That sounds great, I'll give it a go. Is there a set of test files
> somewhere that contain the different formats?

I fully agree that this is the priority.

> > - find a way to make omxil work on android if it's even possible (since
> > omxil = OpenMax IL => hardware decoding)
> 
> This seems like a much bigger and more complicated endeavour, perhaps
> a little too large to cut my teeth on.

This task could be marked as beyond-guru, to be honest.

Best Regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device


From remi at remlab.net  Thu Jun 30 11:34:11 2011
From: remi at remlab.net (=?UTF-8?Q?R=C3=A9mi_Denis-Courmont?=)
Date: Thu, 30 Jun 2011 11:34:11 +0200
Subject: [vlc-devel] VLC for Android Volunteer
In-Reply-To: 
References: 
	<4E0C1EFA.5070001@videolan.org> <20110630071819.GA12223@nautica>
	
Message-ID: 

On Thu, 30 Jun 2011 09:50:07 +0200, XilasZ  wrote:

> I don't know about mergeml stuff, but there are two things i have in
mind :
> - we lack a neon optimized i420->rgb converter (i started to read some
docs
> about neon/arm, but didn't have time to try yet).

OpenMAX DL has I420 to RV16 already.

-- 
R?mi Denis-Courmont
http://www.remlab.net/


From remi at remlab.net  Thu Jun 30 11:35:14 2011
From: remi at remlab.net (=?UTF-8?Q?R=C3=A9mi_Denis-Courmont?=)
Date: Thu, 30 Jun 2011 11:35:14 +0200
Subject: [vlc-devel] VLC for Android Volunteer
In-Reply-To: 
References: 
	<4E0C1EFA.5070001@videolan.org> <20110630071819.GA12223@nautica>
	
Message-ID: 

On Thu, 30 Jun 2011 04:07:38 -0400, Garret Kelly 
wrote:
> Is there any plan to do runtime selection of the correct library, or
> is the distribution plan to offer multiple APKs?

Run*time detection of NEON in VLC would be easy. But then, you need to
pass the word to the underlying libraries... best of luck with that.

-- 
R?mi Denis-Courmont
http://www.remlab.net/


From rob at hobbyistsoftware.com  Thu Jun 30 12:00:09 2011
From: rob at hobbyistsoftware.com (Rob)
Date: Thu, 30 Jun 2011 11:00:09 +0100
Subject: [vlc-devel] [PATCH] luahttp add .json equivalents for
 status.xml and playlist.xml
In-Reply-To: <20110629232806.GC11373@videolan.org>
References: 
	<20110629232806.GC11373@videolan.org>
Message-ID: 

On Thu, 30 Jun 2011 00:28:06 +0100, Jean-Baptiste Kempf   
wrote:

> On Tue, Jun 28, 2011 at 09:17:25PM +0100, Rob wrote :
>> this does a couple of jobs
>
> You shouldn't do that much in one patch.

ok - do you want me to break it up, or just know better next time?

>> 6) reverts the playlist.xml output format to the schema in use
> I don't get that part. Nor the logic about this...

bwbrooks changed the schema in the playlist.xml as part of his UI update.  
He didn't realise that that was breaking all the other http remotes out  
there.
this fixes that issue and makes the playlist.xml work as it used to.  
(bwbrooks has submitted a different patch with playlist_jstree.xml that is  
easier for him to parse).


> The patch is missing README.txt update, NEWS entry and Makefile.am
> modifications.

will sort

Rob.


From chris at kwista.com  Thu Jun 30 17:04:08 2011
From: chris at kwista.com (Chris London)
Date: Thu, 30 Jun 2011 09:04:08 -0600
Subject: [vlc-devel] Trouble compiling VLC on MacOSx10.6
Message-ID: 

Hey VLC-Devel,

So I have managed to successfully compile VLC for MacOSx 10.6.  And by
successfully compile I mean, there aren't any errors that I can see and VLC
will execute.  However when I run the app through the console
(./VLC.app/Contents/MacOS/VLC -v)  I get the following:

[0x100214e28] main libvlc: Running vlc with the default interface. Use
'cvlc' to use vlc without interface.

2011-06-30 08:57:02.188 VLC[40017:903] Unknown class 'VLCEmbeddedVoutView',
using 'NSView' instead. Encountered in Interface Builder file at path
/Users/chrislondon/Workspaces/DDM/vlc/VLC.app/Contents/Resources/English.lproj/MainMenu.nib.

2011-06-30 08:57:02.285 VLC[40017:903] notification received in VLC with
name VLCOSXGUIInit and object VLCEyeTVSupport

When I try and play a DVD it tries playing it in my Terminal using colored
letters... Probably the most bizarre thing I've ever seen.  Has anyone
exprienced that? Is it because it's having trouble finding
VLCEmbeddedVoutView?

If I try running it through my Finder the app just crashes when I try to
load a DVD.  Any help would be appreciated. Thanks.

Chris London
chris at kwista.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From mail at crazyhstudio.net  Thu Jun 30 17:27:36 2011
From: mail at crazyhstudio.net (Mike Houben)
Date: Thu, 30 Jun 2011 17:27:36 +0200
Subject: [vlc-devel] Trouble compiling VLC on MacOSx10.6
In-Reply-To: 
References: 
Message-ID: <00C243A8-6956-4AAF-BF82-FA4EA558C723@crazyhstudio.net>

Which Git did you clone on your Harddrive to compile it?

Mike

Am 30.06.2011 um 17:04 schrieb Chris London:

> Hey VLC-Devel,
> 
> So I have managed to successfully compile VLC for MacOSx 10.6.  And by successfully compile I mean, there aren't any errors that I can see and VLC will execute.  However when I run the app through the console (./VLC.app/Contents/MacOS/VLC -v)  I get the following:
> 
> [0x100214e28] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
> 
> 2011-06-30 08:57:02.188 VLC[40017:903] Unknown class 'VLCEmbeddedVoutView', using 'NSView' instead. Encountered in Interface Builder file at path /Users/chrislondon/Workspaces/DDM/vlc/VLC.app/Contents/Resources/English.lproj/MainMenu.nib.
> 
> 2011-06-30 08:57:02.285 VLC[40017:903] notification received in VLC with name VLCOSXGUIInit and object VLCEyeTVSupport
> 
> When I try and play a DVD it tries playing it in my Terminal using colored letters... Probably the most bizarre thing I've ever seen.  Has anyone exprienced that? Is it because it's having trouble finding VLCEmbeddedVoutView?
> 
> If I try running it through my Finder the app just crashes when I try to load a DVD.  Any help would be appreciated. Thanks.
> 
> Chris London
> chris at kwista.com
> 
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From chris at kwista.com  Thu Jun 30 17:34:14 2011
From: chris at kwista.com (Chris London)
Date: Thu, 30 Jun 2011 09:34:14 -0600
Subject: [vlc-devel] Trouble compiling VLC on MacOSx10.6
In-Reply-To: <00C243A8-6956-4AAF-BF82-FA4EA558C723@crazyhstudio.net>
References: 
	<00C243A8-6956-4AAF-BF82-FA4EA558C723@crazyhstudio.net>
Message-ID: 

Yeah I did

git clone git://git.videolan.org/vlc.git

While in the folder

~/Workspaces/DDM/

(which is where I keep all my projects.)  Should I create a separate
partition for it?

Chris London
CTO - Kwista, LLC.
chris at kwista.com



On Thu, Jun 30, 2011 at 9:27 AM, Mike Houben  wrote:

> Which Git did you clone on your Harddrive to compile it?
>
> Mike
>
> Am 30.06.2011 um 17:04 schrieb Chris London:
>
> Hey VLC-Devel,
>
> So I have managed to successfully compile VLC for MacOSx 10.6.  And by
> successfully compile I mean, there aren't any errors that I can see and VLC
> will execute.  However when I run the app through the console
> (./VLC.app/Contents/MacOS/VLC -v)  I get the following:
>
> [0x100214e28] main libvlc: Running vlc with the default interface. Use
> 'cvlc' to use vlc without interface.
>
> 2011-06-30 08:57:02.188 VLC[40017:903] Unknown class 'VLCEmbeddedVoutView',
> using 'NSView' instead. Encountered in Interface Builder file at path
> /Users/chrislondon/Workspaces/DDM/vlc/VLC.app/Contents/Resources/English.lproj/MainMenu.nib.
>
> 2011-06-30 08:57:02.285 VLC[40017:903] notification received in VLC with
> name VLCOSXGUIInit and object VLCEyeTVSupport
>
> When I try and play a DVD it tries playing it in my Terminal using colored
> letters... Probably the most bizarre thing I've ever seen.  Has anyone
> exprienced that? Is it because it's having trouble finding
> VLCEmbeddedVoutView?
>
> If I try running it through my Finder the app just crashes when I try to
> load a DVD.  Any help would be appreciated. Thanks.
>
> Chris London
> chris at kwista.com
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel
>
>
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From adanecito at yahoo.com  Thu Jun 30 18:06:04 2011
From: adanecito at yahoo.com (Tony Anecito)
Date: Thu, 30 Jun 2011 09:06:04 -0700 (PDT)
Subject: [vlc-devel] libbluray & VLC
Message-ID: <1309449964.82372.YahooMailRC@web113604.mail.gq1.yahoo.com>

Is libbluray a standard part of vlc 1.2 or will be in the future?

Thanks,
-Tony


From jb at videolan.org  Thu Jun 30 18:14:48 2011
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Thu, 30 Jun 2011 18:14:48 +0200
Subject: [vlc-devel] libbluray & VLC
In-Reply-To: <1309449964.82372.YahooMailRC@web113604.mail.gq1.yahoo.com>
References: <1309449964.82372.YahooMailRC@web113604.mail.gq1.yahoo.com>
Message-ID: <20110630161448.GB28866@videolan.org>

On Thu, Jun 30, 2011 at 09:06:04AM -0700, Tony Anecito wrote :
> Is libbluray a standard part of vlc 1.2 or will be in the future?

The code is there, yes.

Best Regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device


From adanecito at yahoo.com  Thu Jun 30 18:31:23 2011
From: adanecito at yahoo.com (Tony Anecito)
Date: Thu, 30 Jun 2011 09:31:23 -0700 (PDT)
Subject: [vlc-devel] libbluray & VLC
In-Reply-To: <20110630161448.GB28866@videolan.org>
References: <1309449964.82372.YahooMailRC@web113604.mail.gq1.yahoo.com>
	<20110630161448.GB28866@videolan.org>
Message-ID: <1309451483.97545.YahooMailRC@web113607.mail.gq1.yahoo.com>

That is great news! So the VLC 1.2 dist for windows has the lib and will work 
with bluray?

Thanks,
-Tony



----- Original Message ----
From: Jean-Baptiste Kempf 
To: Mailing list for VLC media player developers 
Sent: Thu, June 30, 2011 10:14:48 AM
Subject: Re: [vlc-devel] libbluray & VLC

On Thu, Jun 30, 2011 at 09:06:04AM -0700, Tony Anecito wrote :
> Is libbluray a standard part of vlc 1.2 or will be in the future?

The code is there, yes.

Best Regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device
_______________________________________________
vlc-devel mailing list
To unsubscribe or modify your subscription options:
http://mailman.videolan.org/listinfo/vlc-devel



From jb at videolan.org  Thu Jun 30 18:32:05 2011
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Thu, 30 Jun 2011 18:32:05 +0200
Subject: [vlc-devel] libbluray & VLC
In-Reply-To: <1309451483.97545.YahooMailRC@web113607.mail.gq1.yahoo.com>
References: <1309449964.82372.YahooMailRC@web113604.mail.gq1.yahoo.com>
	<20110630161448.GB28866@videolan.org>
	<1309451483.97545.YahooMailRC@web113607.mail.gq1.yahoo.com>
Message-ID: <20110630163205.GA8966@videolan.org>

On Thu, Jun 30, 2011 at 09:31:23AM -0700, Tony Anecito wrote :
> That is great news! So the VLC 1.2 dist for windows has the lib and will work 
> with bluray?

Probably, yes.

Best Regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device


From fkuehne.videolan at googlemail.com  Thu Jun 30 19:00:07 2011
From: fkuehne.videolan at googlemail.com (=?iso-8859-1?Q?Felix_K=FChne?=)
Date: Thu, 30 Jun 2011 19:00:07 +0200
Subject: [vlc-devel] Trouble compiling VLC on MacOSx10.6
In-Reply-To: 
References: 
	<00C243A8-6956-4AAF-BF82-FA4EA558C723@crazyhstudio.net>
	
Message-ID: <047B1494-6582-4C5B-A8FB-D0FF8B34E95E@gmail.com>

Hello,

On Jun 30, 2011, at 5:34 PM, Chris London wrote:

> Yeah I did 
> 
> git clone git://git.videolan.org/vlc.git 
> 

This is VLC's unstable development branch, which doesn't include a working video output on Mac OS X (it works on Linux and Windows though). This will get fixed within the next 2 weeks. At present, the VLC instance falls back to the libcaca vout which does exactly what you are seeing in your terminal.

Depending on your needs, it may be more appropriate to compile VLC's stable branch, which is available at 

Best regards,

Felix K?hne

--
VideoLAN
Felix Paul K?hne
Co-Developer of VLC's Mac OS X port

From mehrotra.akash at gmail.com  Thu Jun 30 20:19:19 2011
From: mehrotra.akash at gmail.com (akash mehrotra)
Date: Thu, 30 Jun 2011 23:49:19 +0530
Subject: [vlc-devel] [PATCH]Implement pl_delete
In-Reply-To: <201106282338.20896.remi@remlab.net>
References: 
	<201106282315.24030.remi@remlab.net>
	
	<201106282338.20896.remi@remlab.net>
Message-ID: 

Marked pl_delete as deprecated as per the IRC discussion

2011/6/29 R?mi Denis-Courmont 

> Le mardi 28 juin 2011 23:28:08 Rob Jonson, vous avez ?crit :
> > status.xml has been sitting with a //fixme pl_delete for years in
> luahttp.
>
> Nobody has thought on addressing the real issue. Nobody has thought on how
> to
> reference playlist item nicely through the HTTP control interface, _not_
> using
> the broken-by-design core playlist item identifiers. That's why.
>
> > given the advantages of backwards compatibility - can you overlook a
> > suboptimal design in this case?
>
> If this was internal to VLC, as is the case with the Qt playlist model,
> maybe.
>
> But this not only would add another roadblock on the path of fixing this
> long-
> standing design issues, it would expose this issue to outside VLC. Then
> there
> is no way to *ever* fix this.
>
> No thanks.
>
> --
> R?mi Denis-Courmont
> http://www.remlab.net/
> http://fi.linkedin.com/in/remidenis
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-implement-pl_delete.patch
Type: application/octet-stream
Size: 2415 bytes
Desc: not available
URL: 

From bwbrooks at archmageinc.com  Thu Jun 30 16:08:13 2011
From: bwbrooks at archmageinc.com (Brandon Brooks)
Date: Thu, 30 Jun 2011 10:08:13 -0400
Subject: [vlc-devel] [PATCH] HTTP UI - Updates
In-Reply-To: <20110629232506.GB11373@videolan.org>
References: <20110628125211.48797ho4l5gk5jnf@webmail.thebrooksfamilyonline.com>
	<20110628212931.GA13123@videolan.org>
	<20110628194839.15945o3aa29gnn13@webmail.thebrooksfamilyonline.com>
	
	<20110629163750.31545h3roqnv8izi@webmail.thebrooksfamilyonline.com>
	<20110629164634.150975koubq08jze@webmail.thebrooksfamilyonline.com>
	<20110629232506.GB11373@videolan.org>
Message-ID: <20110630100813.199627vvqj5l8x8t@webmail.thebrooksfamilyonline.com>

>> Updated
>
> The EQ button doesn't work for me... Is that normal?
>
> And maybe you want to change your author line?
>
> Best Regards,

Patch attached
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-HTTP-UI-Updates.patch
Type: text/x-patch
Size: 92718 bytes
Desc: not available
URL: 

From jb at videolan.org  Thu Jun 30 22:41:54 2011
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Thu, 30 Jun 2011 22:41:54 +0200
Subject: [vlc-devel] [PATCH]Implement pl_delete
In-Reply-To: 
References: 
	<201106282315.24030.remi@remlab.net>
	
	<201106282338.20896.remi@remlab.net>
	
Message-ID: <20110630204154.GA23213@videolan.org>

On Thu, Jun 30, 2011 at 11:49:19PM +0530, akash mehrotra wrote :
> Marked pl_delete as deprecated as per the IRC discussion

Applied with a stronger NOTA BENE about UNSUPPORTED.

People doing remote apps should note that...

Thanks for the work.

Best Regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device


From chris at kwista.com  Thu Jun 30 22:44:00 2011
From: chris at kwista.com (Chris London)
Date: Thu, 30 Jun 2011 14:44:00 -0600
Subject: [vlc-devel] Changes to .nib not showing up? Mac OS x 10.6
Message-ID: 

So I make changes to the MainMenu.nib (Added a new menu item) using xcode
and the interface builder.  Created references in the initf.h/m and
controls.h/m.  I save it, build it in xcode. go back to the root vlc
directory run bootstrap, configure, make and then I run the .app with
--reset-plugins-cache but my changes aren't showing up.  Did I forget to
reference my code somewhere? I notice in make it basically skips everything
saying "Nothing to be done for..." Is make skipping something? This sounds
like I'm just an idiot :S haha so any patience and help would be greatly
appreciated.

Chris London
chris at kwista.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From jb at videolan.org  Thu Jun 30 22:54:56 2011
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Thu, 30 Jun 2011 22:54:56 +0200
Subject: [vlc-devel] Changes to .nib not showing up? Mac OS x 10.6
In-Reply-To: 
References: 
Message-ID: <20110630205456.GA25845@videolan.org>

On Thu, Jun 30, 2011 at 02:44:00PM -0600, Chris London wrote :
> So I make changes to the MainMenu.nib (Added a new menu item) using xcode
> and the interface builder.  Created references in the initf.h/m and
> controls.h/m.  I save it, build it in xcode. go back to the root vlc
> directory run bootstrap, configure, make and then I run the .app with
> --reset-plugins-cache but my changes aren't showing up.  Did I forget to
> reference my code somewhere? I notice in make it basically skips everything
> saying "Nothing to be done for..." Is make skipping something? This sounds
> like I'm just an idiot :S haha so any patience and help would be greatly
> appreciated.

rm -rf VLC.app 
make VLC.app

Doesn't make it?

Best Regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device


From jb at videolan.org  Thu Jun 30 23:06:45 2011
From: jb at videolan.org (Jean-Baptiste Kempf)
Date: Thu, 30 Jun 2011 23:06:45 +0200
Subject: [vlc-devel] [PATCH] HTTP UI - Updates
In-Reply-To: <20110630100813.199627vvqj5l8x8t@webmail.thebrooksfamilyonline.com>
References: <20110628125211.48797ho4l5gk5jnf@webmail.thebrooksfamilyonline.com>
	<20110628212931.GA13123@videolan.org>
	<20110628194839.15945o3aa29gnn13@webmail.thebrooksfamilyonline.com>
	
	<20110629163750.31545h3roqnv8izi@webmail.thebrooksfamilyonline.com>
	<20110629164634.150975koubq08jze@webmail.thebrooksfamilyonline.com>
	<20110629232506.GB11373@videolan.org>
	<20110630100813.199627vvqj5l8x8t@webmail.thebrooksfamilyonline.com>
Message-ID: <20110630210645.GA28222@videolan.org>

On Thu, Jun 30, 2011 at 10:08:13AM -0400, Brandon Brooks wrote :
> Patch attached

Applied. I think we are really getting on something now :D

Best Regards,

-- 
Jean-Baptiste Kempf
http://www.jbkempf.com/ - +33 672 704 734
Sent from my Electronic Device