[vlc-commits] Tag 3.0.0 : VLC media player 3.0.0 'WeatherWax'

2018-02-06 Thread git
[vlc/vlc-3.0] [branch: refs/tags/3.0.0]
Tag:088414b5fc5fcec1739e40d5cab38320d6c69691
> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git?a=tag;h=088414b5fc5fcec1739e40d5cab38320d6c69691

Tagger: Jean-Baptiste Kempf 
Date:   Tue Feb  6 23:54:25 2018 +0100

VLC media player 3.0.0 'WeatherWax'

This is the first release of VLC 3.0 branch, named "WeatherWax",
in reference to the Granny Witch from Discworld.

WeatherWax is a major release changing a lot in the media engine of VLC.
It is one of the largest release we've ever done.

Notably, it:
 - activates hardware decoding on all platforms, of H.264 & H.265, 8 & 10bits,
   allowing 4K60 or even 8K decoding with little CPU consumption,
 - merges all the code from the mobile ports into the same codebase with
   common numbering and releases,
 - supports 360 video and 3D audio, and prepares for VR content,
 - supports direct HDR and HDR tone-mapping,
 - updates the audio passthrough for HD Audio codecs,
 - allows browsing of local network drives like SMB, FTP, SFTP, NFS...
 - stores the passwords securely,
 - brings a new subtitle rendering engine, supporting ComplexTextLayout
   and font fallback to support multiple languages and fonts,
 - supports ChromeCast with the new renderer framework,
 - adds support for numerous new formats and codecs, including WebVTT,
   AV1, TTML, HQX, 708, Cineform, and many more,
 - improves Bluray support with Java menus, aka BD-J,
 - updates the macOS interface with major cleaning and improvements,
 - support HiDPI UI on Windows, with the switch to Qt5,
 - prepares the experimental support for Wayland on Linux, and
   switches to OpenGL by default on Linux.

And so many other things... See our NEWS file!
___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] contrib: live555: always use $MAKE

2018-02-06 Thread Sean McGovern
vlc | branch: master | Sean McGovern  | Tue Feb  6 03:49:00 
2018 -0500| [e6d5f7903ede5d03e419ac6f1a8825df3dc46d4d] | committer: 
Jean-Baptiste Kempf

contrib: live555: always use $MAKE

Signed-off-by: Jean-Baptiste Kempf 

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=e6d5f7903ede5d03e419ac6f1a8825df3dc46d4d
---

 contrib/src/live555/rules.mak | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/src/live555/rules.mak b/contrib/src/live555/rules.mak
index a2ef4f842c..b77d96ce73 100644
--- a/contrib/src/live555/rules.mak
+++ b/contrib/src/live555/rules.mak
@@ -91,5 +91,5 @@ SUBDIRS=groupsock liveMedia UsageEnvironment 
BasicUsageEnvironment
cd $< && ./genMakefiles $(LIVE_TARGET)
cd $< && for subdir in $(SUBDIRS); do $(MAKE) $(HOSTVARS) -C $$subdir; 
done
cd $< && for subdir in $(SUBDIRS); do $(MAKE) $(HOSTVARS) -C $$subdir 
install; done
-   cd $< && make install_shared_libraries
+   cd $< && $(MAKE) install_shared_libraries
touch $@

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] demux: avi: fix track selection without index

2018-02-06 Thread Francois Cartegnie
vlc/vlc-3.0 | branch: master | Francois Cartegnie  | Tue Feb  
6 23:15:15 2018 +0100| [9ed717d50a3427a6e7631d8733f060f9094495b8] | committer: 
Jean-Baptiste Kempf

demux: avi: fix track selection without index

fixes chunk pos index less 1 sample re-read
per demux run with uncompressed audio

introduced by d4c5f2dcd6a2df117b18422e2c50691e48be9707
might break with low fps video.

(cherry picked from commit 44800f3f7eaf1766b96bfded0c83676aaaef6f1f)
Signed-off-by: Jean-Baptiste Kempf 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=9ed717d50a3427a6e7631d8733f060f9094495b8
---

 modules/demux/avi/avi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/modules/demux/avi/avi.c b/modules/demux/avi/avi.c
index 2aff14b4be..1b037b0d96 100644
--- a/modules/demux/avi/avi.c
+++ b/modules/demux/avi/avi.c
@@ -1128,7 +1128,7 @@ static int Demux_Seekable( demux_t *p_demux )
 continue;
 }
 
-if( toread[i].i_toread >= 0 )
+if( toread[i].i_toread > 0 )
 {
 b_done = false; /* not yet finished */
 

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] keychain: Fix crash in release mode

2018-02-06 Thread David Fuhrmann
vlc/vlc-3.0 | branch: master | David Fuhrmann  | Tue 
Feb  6 23:22:59 2018 +0100| [6c6ba1214a3b7b8010697517065ad6c1e89ae3b9] | 
committer: David Fuhrmann

keychain: Fix crash in release mode

In release mode, a random count value was used, leading to crash

(cherry picked from commit 617fd3ff5e7d367495ea7bbdf77481662b946a46)
Signed-off-by: David Fuhrmann 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=6c6ba1214a3b7b8010697517065ad6c1e89ae3b9
---

 modules/keystore/keychain.m | 1 +
 1 file changed, 1 insertion(+)

diff --git a/modules/keystore/keychain.m b/modules/keystore/keychain.m
index 9f4908cc8c..9382bd8a8b 100644
--- a/modules/keystore/keychain.m
+++ b/modules/keystore/keychain.m
@@ -381,6 +381,7 @@ static unsigned int Find(vlc_keystore *p_keystore,
 SecKeychainItemRef itemRef = (__bridge 
SecKeychainItemRef)([listOfResults objectAtIndex:i]);
 
 SecKeychainAttributeInfo attrInfo;
+attrInfo.count = 0;
 
 #ifndef NDEBUG
 attrInfo.count = 1;

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] keychain: Fix crash in release mode

2018-02-06 Thread David Fuhrmann
vlc | branch: master | David Fuhrmann  | Tue Feb  6 
23:22:59 2018 +0100| [617fd3ff5e7d367495ea7bbdf77481662b946a46] | committer: 
David Fuhrmann

keychain: Fix crash in release mode

In release mode, a random count value was used, leading to crash

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=617fd3ff5e7d367495ea7bbdf77481662b946a46
---

 modules/keystore/keychain.m | 1 +
 1 file changed, 1 insertion(+)

diff --git a/modules/keystore/keychain.m b/modules/keystore/keychain.m
index 9f4908cc8c..9382bd8a8b 100644
--- a/modules/keystore/keychain.m
+++ b/modules/keystore/keychain.m
@@ -381,6 +381,7 @@ static unsigned int Find(vlc_keystore *p_keystore,
 SecKeychainItemRef itemRef = (__bridge 
SecKeychainItemRef)([listOfResults objectAtIndex:i]);
 
 SecKeychainAttributeInfo attrInfo;
+attrInfo.count = 0;
 
 #ifndef NDEBUG
 attrInfo.count = 1;

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] demux: avi: fix track selection without index

2018-02-06 Thread Francois Cartegnie
vlc | branch: master | Francois Cartegnie  | Tue Feb  6 
23:15:15 2018 +0100| [44800f3f7eaf1766b96bfded0c83676aaaef6f1f] | committer: 
Francois Cartegnie

demux: avi: fix track selection without index

fixes chunk pos index less 1 sample re-read
per demux run with uncompressed audio

introduced by d4c5f2dcd6a2df117b18422e2c50691e48be9707
might break with low fps video.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=44800f3f7eaf1766b96bfded0c83676aaaef6f1f
---

 modules/demux/avi/avi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/modules/demux/avi/avi.c b/modules/demux/avi/avi.c
index ed8aa0fc99..f0dd7dca32 100644
--- a/modules/demux/avi/avi.c
+++ b/modules/demux/avi/avi.c
@@ -1125,7 +1125,7 @@ static int Demux_Seekable( demux_t *p_demux )
 continue;
 }
 
-if( toread[i].i_toread >= 0 )
+if( toread[i].i_toread > 0 )
 {
 b_done = false; /* not yet finished */
 

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] Update NEWS from 3.0.x and 2.2.x branch

2018-02-06 Thread Jean-Baptiste Kempf
vlc | branch: master | Jean-Baptiste Kempf  | Tue Feb  6 
23:09:04 2018 +0100| [1e2cc62bda7af7c9316a04ddabbc308891107498] | committer: 
Jean-Baptiste Kempf

Update NEWS from 3.0.x and 2.2.x branch

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=1e2cc62bda7af7c9316a04ddabbc308891107498
---

 NEWS | 84 +++-
 1 file changed, 43 insertions(+), 41 deletions(-)

diff --git a/NEWS b/NEWS
index c8a9d462db..a781f2e5dd 100644
--- a/NEWS
+++ b/NEWS
@@ -19,33 +19,35 @@ Video ouput:
  * Remove evas plugin
  * Remove omxil_vout plugin
 
-Changes between 2.2.x and 3.0.0-git:
+Changes between 2.2.8 and 3.0.0:
 
 
 Platform support changes:
- * 3.0.x will be LTS (on a best-effort basis) that will be the last
-   working version for a lot of systems.
-   Indeed 3.0.x will be the last releases running on:
- - Windows XP, Vista, and the servers equivalent of those releases
- - macOS 10.7, 10,8 & 10.9, iOS 7 & 8
- - Android 2.x, 3.x & 4.0.x
- - Compilers before gcc 5.0 and clang 3.4
-
- * For 3.0, please note:
- * The Windows XP/2003/2003R2 support for VLC is now on a best-efforts 
basis:
-   it should work, but not without limitations.
-   libVLC support for Windows XP is deprecated.
-   You _really_ should upgrade.
- * Windows Vista (all versions) without Platform Upgrade is not supported.
- * Linux support requires now a kernel newer than 2.6.26
- * Mac OS X 10.6 support is now removed. You need OS X 10.7.
+ * 3.0.x will be maintained as a LTS (best-effort basis, mostly for security)
+   that will be the last working version for quite a few systems.
+
+   Indeed the 3.0.x branch will contain the last releases running on:
+ - Windows XP, Vista, and the servers equivalent of those Windows versions
+ - macOS 10.7, 10.8 & 10.9, iOS 7 & 8
+ - Android 2.x, 3.x, 4.0.x & 4.1.x
+ - Compilers before gcc 5.0 and clang 3.4, or equivalent
+
+ * For the 3.0 branch, please note:
+   * The Windows XP/2003/2003R2 support for VLC is now on a best-effort basis:
+ it should work, but not without limitations.
+ libVLC support for Windows XP is deprecated.
+ You _really_ should upgrade to a more modern Windows version!
+   * Windows Vista (all versions) without Platform Upgrade is not supported.
+   * 64bit version of VLC for Windows is recommended.
+   * Linux support requires now a kernel newer than 2.6.26.
+   * Mac OS X 10.6 support is now removed. You need OS X 10.7.
 
 Core:
- * Support network browsing for distant file system (SMB, FTP, SFTP, NFS...)
-   and rewrite the parsing of the media files
+ * Support network browsing for distant filesystems (SMB, FTP, SFTP, NFS...)
+   and rewrite the parsing of the media files and inputs
  * Support keystores: fetch and store passwords securely (sic!) for common
protocols (HTTP, SMB, SFTP, FTP, RTSP ...)
- * Autodetect external audio tracks (ac3, m4a, aac, dts...), similar to 
subtitles
+ * Autodetect external audio tracks (ac3, m4a, aac, dts...) similar to 
subtitles
  * Support HDMI passthrough for Audio HD codecs, like E-AC3, TrueHD or DTS-HD
  * Support for 12bits codec and extended colorspaces (HDR)
  * Support output renderers, like ChromeCast
@@ -54,12 +56,12 @@ Core:
  * Support wayland surface type
  * Allow to start the video paused on the first frame
  * Refactor preparsing input
- * EPG reworked: table and single event updates, now using network time
- * Refactored and fixed subtitles es selection. Demuxers can now override
+ * EPG rework: table and single event updates, now using network time
+ * Refactor and fix subtitles es selection. Demuxers can now override
es category single only or multiple es behavior
- * Support for 360 video and audio, including viewpoint setting
+ * Support for 360 video and audio, including viewpoint modification
  * Support for ambisonic audio and more than 8 audio channels
- * Support subtitles size live changing
+ * Support subtitles size live adjustments
 
 Access:
  * New NFS access module using libnfs
@@ -116,7 +118,7 @@ Decoders:
  * Support for experimental Daala video
  * New MPEG-1 & 2 audio layer I, II, III + MPEG 2.5 decoder based on libmpg123
  * New BPG decoder based on libbpg
- * Fixed uncompressed DVD-Audio (AOB) LPCM decoding
+ * Fix uncompressed DVD-Audio (AOB) LPCM decoding
  * Rewrite WPL playlists and add ZPL playlists support (Zune)
  * Support TDSC, Canopus HQX, Cineform, SpeedHQ, Pixlet, QDMC and FMVC codecs
  * TTML subtitles support, including EBU-TT-D variant
@@ -132,7 +134,7 @@ Decoders:
  * Support VPX high bit depth support
  * Extend MicroDVD support with color, fontname, size, position extensions
  * BluRay text subtitles (HDMV) are now decoded
- * Improved Closed Captions detection, notably inside the video streams
+ * Improve Closed Captions detection, notably inside the video streams
  * CEA-708 decoder
  * New MIDI 

[vlc-commits] Update NEWS for 3.0.0

2018-02-06 Thread Jean-Baptiste Kempf
vlc/vlc-3.0 | branch: master | Jean-Baptiste Kempf  | Tue 
Feb  6 23:08:06 2018 +0100| [0182b96dc04771372f0488c737bbe2e91bb8aa3d] | 
committer: Jean-Baptiste Kempf

Update NEWS for 3.0.0

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=0182b96dc04771372f0488c737bbe2e91bb8aa3d
---

 NEWS | 89 ++--
 1 file changed, 45 insertions(+), 44 deletions(-)

Diff:   
http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commitdiff;h=0182b96dc04771372f0488c737bbe2e91bb8aa3d
___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] Update PO files

2018-02-06 Thread Jean-Baptiste Kempf
vlc/vlc-3.0 | branch: master | Jean-Baptiste Kempf  | Tue 
Feb  6 22:50:50 2018 +0100| [2b4f718519759111dc754412540b460f8e513321] | 
committer: Jean-Baptiste Kempf

Update PO files

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=2b4f718519759111dc754412540b460f8e513321
---

 po/ach.po   | 1821 +-
 po/af.po| 2017 
 po/am.po| 1822 +-
 po/an.po| 1912 +++--
 po/ar.po| 1905 ++---
 po/as_IN.po | 1842 ++-
 po/ast.po   | 1920 +++--
 po/az.po| 1918 ++---
 po/be.po| 1841 ++-
 po/bg.po| 1956 +++---
 po/bn.po| 1966 +++---
 po/bn_IN.po | 1953 +++---
 po/br.po| 2007 +++
 po/brx.po   | 1839 ++-
 po/bs.po| 1976 ---
 po/ca.po| 1866 ++--
 po/cgg.po   | 1831 +--
 po/ckb.po   | 1821 +-
 po/co.po| 1898 ++--
 po/cs.po| 1905 ++---
 po/cy.po| 1867 ++--
 po/da.po| 1831 +--
 po/de.po| 1882 ++--
 po/el.po| 1867 ++--
 po/en_GB.po | 2121 +--
 po/es.po| 1829 +--
 po/et.po| 1889 ++--
 po/eu.po| 1884 ++--
 po/fa.po| 2048 +
 po/ff.po| 1825 +-
 po/fi.po| 1884 ++--
 po/fr.po| 1870 ++--
 po/fur.po   | 1837 ++-
 po/fy.po| 1907 ++---
 po/ga.po| 1970 +++---
 po/gd.po| 1888 ++--
 po/gl.po| 1841 ++-
 po/gu.po| 1839 ++-
 po/he.po| 1898 ++--
 po/hi.po| 1918 ++---
 po/hr.po| 1887 ++--
 po/hu.po| 1882 ++--
 po/hy.po| 2015 
 po/ia.po| 1822 +-
 po/id.po| 1909 +++--
 po/is.po| 1814 +-
 po/it.po| 1874 ++--
 po/ja.po| 1880 ++--
 po/ka.po| 1837 ++-
 po/kk.po| 2029 
 po/km.po| 1835 ++-
 po/kn.po| 1871 ++--
 po/ko.po| 1880 ++--
 po/ks_IN.po | 1841 ++-
 po/ky.po| 1844 ++-
 po/lg.po| 1822 +-
 po/lt.po| 1859 ++-
 po/lv.po| 1885 ++--
 po/mai.po   | 1839 ++-
 po/mk.po| 1934 ++---
 po/ml.po| 1834 +--
 po/mn.po| 1992 ---
 po/mr.po| 1841 ++-
 po/ms.po| 1882 

[vlc-commits] NSIS: Properly detect 32bit VLC

2018-02-06 Thread Marvin Scholz
vlc/vlc-3.0 | branch: master | Marvin Scholz  | Mon Jan 22 
23:27:32 2018 +0100| [7e27efaa491c4983b41bb78cc19e715a95fc9894] | committer: 
Marvin Scholz

NSIS: Properly detect 32bit VLC

Previously the 64bit installer would not detect if a 32bit VLC
is already installed, this can lead to situations where two VLC
versions are installed on the system, one 32bit and one 64bit.
Windows will only show one version, as they have exactly the same
name in the start menu and shortcuts.
Even though the registry values are different for 32bit and 64bit,
the Apps list of Windows will only show one of them too.
(Except the old non-UWP one)

Therefore we really need to avoid this case. With this commit, if the
user has a 32bit VLC installed, it will be uninstalled first before
installing a 64bit version.

(cherry picked from commit 7aa509623c3efb128dc1cb634e40ea3b3135869f)
Signed-off-by: Marvin Scholz 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=7e27efaa491c4983b41bb78cc19e715a95fc9894
---

 extras/package/win32/NSIS/vlc.win32.nsi.in | 42 ++
 1 file changed, 42 insertions(+)

diff --git a/extras/package/win32/NSIS/vlc.win32.nsi.in 
b/extras/package/win32/NSIS/vlc.win32.nsi.in
index 0096a93271..1169c1eecd 100644
--- a/extras/package/win32/NSIS/vlc.win32.nsi.in
+++ b/extras/package/win32/NSIS/vlc.win32.nsi.in
@@ -21,6 +21,8 @@
 !define MEMENTO_REGISTRY_ROOT ${PRODUCT_UNINST_ROOT_KEY}
 !define MEMENTO_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"
 
+@HAVE_WIN64_TRUE@ !define VLC_64BIT_INSTALLER
+
 ManifestDPIAware true
 Unicode true
 
@@ -35,6 +37,9 @@ Var PreviousVersionState
 Var PreviousInstallDir
 Var UninstallLog
 
+Var 32bitUninstaller
+Var 32bitPath
+
 ;
 ; General configuration ;
 ;
@@ -255,6 +260,28 @@ ${MementoSection} "$(Name_Section01)" SEC01
   DetailPrint "$(Detail_CheckProcesses)"
   Call CheckRunningProcesses
 
+  ; Remove 32 bit version first
+  !ifdef VLC_64BIT_INSTALLER
+  ${If} $32bitPath != ""
+; Run uninstaller
+ClearErrors
+ExecWait '"$32bitUninstaller" /S _?=$32bitPath'
+
+; If uninstall was not successfull, do not continue.
+; This happens for example if the user cancels the uninstaller.
+${If} ${Errors}
+  Goto skip_uninstall32_cleanup
+${EndIf}
+
+${If} ${FileExists} "$32bitUninstaller"
+  Delete "$32bitUninstaller"
+  RMDir "$32bitPath"
+${EndIf}
+  ${EndIf}
+  !endif
+
+skip_uninstall32_cleanup:
+
   ; Remove previous version first, if this is update
   ${If} $ReinstallType == "1"
 FileOpen $UninstallLog "$INSTDIR\uninstall.log" r
@@ -575,6 +602,21 @@ WinOk:
   ; /update argument
   Call ParseCommandline
 
+  ; See if a other bitness VLC version exists
+  !ifdef VLC_64BIT_INSTALLER
+SetRegView 32
+
+Call ReadPreviousVersion
+
+${If} $PreviousVersion != ""
+  ReadRegStr $32bitUninstaller ${PRODUCT_UNINST_ROOT_KEY} 
"${PRODUCT_UNINST_KEY}" "UninstallString"
+  ReadRegStr $32bitPath ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" 
"InstallLocation"
+  StrCpy $PreviousVersion ""
+${EndIf}
+
+SetRegView lastused
+  !endif
+
   ; See if previous version exists
   Call ReadPreviousVersion
 

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] NSIS: Properly detect 32bit VLC

2018-02-06 Thread Marvin Scholz
vlc | branch: master | Marvin Scholz  | Mon Jan 22 23:27:32 
2018 +0100| [7aa509623c3efb128dc1cb634e40ea3b3135869f] | committer: Marvin 
Scholz

NSIS: Properly detect 32bit VLC

Previously the 64bit installer would not detect if a 32bit VLC
is already installed, this can lead to situations where two VLC
versions are installed on the system, one 32bit and one 64bit.
Windows will only show one version, as they have exactly the same
name in the start menu and shortcuts.
Even though the registry values are different for 32bit and 64bit,
the Apps list of Windows will only show one of them too.
(Except the old non-UWP one)

Therefore we really need to avoid this case. With this commit, if the
user has a 32bit VLC installed, it will be uninstalled first before
installing a 64bit version.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=7aa509623c3efb128dc1cb634e40ea3b3135869f
---

 extras/package/win32/NSIS/vlc.win32.nsi.in | 42 ++
 1 file changed, 42 insertions(+)

diff --git a/extras/package/win32/NSIS/vlc.win32.nsi.in 
b/extras/package/win32/NSIS/vlc.win32.nsi.in
index 0096a93271..1169c1eecd 100644
--- a/extras/package/win32/NSIS/vlc.win32.nsi.in
+++ b/extras/package/win32/NSIS/vlc.win32.nsi.in
@@ -21,6 +21,8 @@
 !define MEMENTO_REGISTRY_ROOT ${PRODUCT_UNINST_ROOT_KEY}
 !define MEMENTO_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"
 
+@HAVE_WIN64_TRUE@ !define VLC_64BIT_INSTALLER
+
 ManifestDPIAware true
 Unicode true
 
@@ -35,6 +37,9 @@ Var PreviousVersionState
 Var PreviousInstallDir
 Var UninstallLog
 
+Var 32bitUninstaller
+Var 32bitPath
+
 ;
 ; General configuration ;
 ;
@@ -255,6 +260,28 @@ ${MementoSection} "$(Name_Section01)" SEC01
   DetailPrint "$(Detail_CheckProcesses)"
   Call CheckRunningProcesses
 
+  ; Remove 32 bit version first
+  !ifdef VLC_64BIT_INSTALLER
+  ${If} $32bitPath != ""
+; Run uninstaller
+ClearErrors
+ExecWait '"$32bitUninstaller" /S _?=$32bitPath'
+
+; If uninstall was not successfull, do not continue.
+; This happens for example if the user cancels the uninstaller.
+${If} ${Errors}
+  Goto skip_uninstall32_cleanup
+${EndIf}
+
+${If} ${FileExists} "$32bitUninstaller"
+  Delete "$32bitUninstaller"
+  RMDir "$32bitPath"
+${EndIf}
+  ${EndIf}
+  !endif
+
+skip_uninstall32_cleanup:
+
   ; Remove previous version first, if this is update
   ${If} $ReinstallType == "1"
 FileOpen $UninstallLog "$INSTDIR\uninstall.log" r
@@ -575,6 +602,21 @@ WinOk:
   ; /update argument
   Call ParseCommandline
 
+  ; See if a other bitness VLC version exists
+  !ifdef VLC_64BIT_INSTALLER
+SetRegView 32
+
+Call ReadPreviousVersion
+
+${If} $PreviousVersion != ""
+  ReadRegStr $32bitUninstaller ${PRODUCT_UNINST_ROOT_KEY} 
"${PRODUCT_UNINST_KEY}" "UninstallString"
+  ReadRegStr $32bitPath ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" 
"InstallLocation"
+  StrCpy $PreviousVersion ""
+${EndIf}
+
+SetRegView lastused
+  !endif
+
   ; See if previous version exists
   Call ReadPreviousVersion
 

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] NSIS: Properly detect 32bit VLC

2018-02-06 Thread Marvin Scholz
vlc/vlc-3.0 | branch: master | Marvin Scholz  | Mon Jan 22 
23:27:32 2018 +0100| [40413483a75a70f92518d7cfbdbb473e369c597d] | committer: 
Marvin Scholz

NSIS: Properly detect 32bit VLC

Previously the 64bit installer would not detect if a 32bit VLC
is already installed, this can lead to situations where two VLC
versions are installed on the system, one 32bit and one 64bit.
Windows will only show one version, as they have exactly the same
name in the start menu and shortcuts.
Even though the registry values are different for 32bit and 64bit,
the Apps list of Windows will only show one of them too.
(Except the old non-UWP one)

Therefore we really need to avoid this case. With this commit, if the
user has a 32bit VLC installed, it will be uninstalled first before
installing a 64bit version.

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=40413483a75a70f92518d7cfbdbb473e369c597d
---

 extras/package/win32/NSIS/vlc.win32.nsi.in | 42 ++
 1 file changed, 42 insertions(+)

diff --git a/extras/package/win32/NSIS/vlc.win32.nsi.in 
b/extras/package/win32/NSIS/vlc.win32.nsi.in
index 0096a93271..1169c1eecd 100644
--- a/extras/package/win32/NSIS/vlc.win32.nsi.in
+++ b/extras/package/win32/NSIS/vlc.win32.nsi.in
@@ -21,6 +21,8 @@
 !define MEMENTO_REGISTRY_ROOT ${PRODUCT_UNINST_ROOT_KEY}
 !define MEMENTO_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"
 
+@HAVE_WIN64_TRUE@ !define VLC_64BIT_INSTALLER
+
 ManifestDPIAware true
 Unicode true
 
@@ -35,6 +37,9 @@ Var PreviousVersionState
 Var PreviousInstallDir
 Var UninstallLog
 
+Var 32bitUninstaller
+Var 32bitPath
+
 ;
 ; General configuration ;
 ;
@@ -255,6 +260,28 @@ ${MementoSection} "$(Name_Section01)" SEC01
   DetailPrint "$(Detail_CheckProcesses)"
   Call CheckRunningProcesses
 
+  ; Remove 32 bit version first
+  !ifdef VLC_64BIT_INSTALLER
+  ${If} $32bitPath != ""
+; Run uninstaller
+ClearErrors
+ExecWait '"$32bitUninstaller" /S _?=$32bitPath'
+
+; If uninstall was not successfull, do not continue.
+; This happens for example if the user cancels the uninstaller.
+${If} ${Errors}
+  Goto skip_uninstall32_cleanup
+${EndIf}
+
+${If} ${FileExists} "$32bitUninstaller"
+  Delete "$32bitUninstaller"
+  RMDir "$32bitPath"
+${EndIf}
+  ${EndIf}
+  !endif
+
+skip_uninstall32_cleanup:
+
   ; Remove previous version first, if this is update
   ${If} $ReinstallType == "1"
 FileOpen $UninstallLog "$INSTDIR\uninstall.log" r
@@ -575,6 +602,21 @@ WinOk:
   ; /update argument
   Call ParseCommandline
 
+  ; See if a other bitness VLC version exists
+  !ifdef VLC_64BIT_INSTALLER
+SetRegView 32
+
+Call ReadPreviousVersion
+
+${If} $PreviousVersion != ""
+  ReadRegStr $32bitUninstaller ${PRODUCT_UNINST_ROOT_KEY} 
"${PRODUCT_UNINST_KEY}" "UninstallString"
+  ReadRegStr $32bitPath ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" 
"InstallLocation"
+  StrCpy $PreviousVersion ""
+${EndIf}
+
+SetRegView lastused
+  !endif
+
   ; See if previous version exists
   Call ReadPreviousVersion
 

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] qt: fix track menu not disabled when empty

2018-02-06 Thread Thomas Guillem
vlc/vlc-3.0 | branch: master | Thomas Guillem  | Tue Feb  6 
19:59:36 2018 +0100| [475a482a8e71b4fef090f234d5ab8059e1d34136] | committer: 
Jean-Baptiste Kempf

qt: fix track menu not disabled when empty

Fixes #19618

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=475a482a8e71b4fef090f234d5ab8059e1d34136
---

 modules/gui/qt/menus.cpp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/modules/gui/qt/menus.cpp b/modules/gui/qt/menus.cpp
index 0ccf1412eb..549e30913b 100644
--- a/modules/gui/qt/menus.cpp
+++ b/modules/gui/qt/menus.cpp
@@ -1345,6 +1345,8 @@ void VLCMenuBar::UpdateItem( intf_thread_t *p_intf, QMenu 
*menu,
 FREENULL( text.psz_string );
 return;
 }
+else
+action->setEnabled( false );
 
 switch( i_type & VLC_VAR_TYPE )
 {

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] On the road to release

2018-02-06 Thread Jean-Baptiste Kempf
vlc/vlc-3.0 | branch: master | Jean-Baptiste Kempf  | Tue 
Feb  6 21:08:18 2018 +0100| [b0de37e501adc47249cf182f3898ec14f24aae38] | 
committer: Jean-Baptiste Kempf

On the road to release

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=b0de37e501adc47249cf182f3898ec14f24aae38
---

 NEWS | 2 +-
 configure.ac | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/NEWS b/NEWS
index b3472791b8..c48f81eb04 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,4 @@
-Changes between 2.2.8 and 3.0.0-rc9:
+Changes between 2.2.8 and 3.0.0:
 
 
 Platform support changes:
diff --git a/configure.ac b/configure.ac
index 00dc4880a5..10fd5f91eb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,12 +2,12 @@ dnl Autoconf settings for vlc
 
 AC_COPYRIGHT([Copyright 1999-2018 VLC authors and VideoLAN])
 
-AC_INIT(vlc, 3.0.0-rc9)
+AC_INIT(vlc, 3.0.0)
 VERSION_MAJOR=3
 VERSION_MINOR=0
 VERSION_REVISION=0
 VERSION_EXTRA=0
-VERSION_DEV=rc9
+VERSION_DEV=
 
 PKGDIR="vlc"
 AC_SUBST(PKGDIR)

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] [Git][videolan/libvlcpp][master] Fix build when using VLC 2.2

2018-02-06 Thread Hugo Beauzée-Luyssen
Hugo Beauzée-Luyssen pushed to branch master at VideoLAN / libvlcpp


Commits:
be5670db by Hugo Beauzée-Luyssen at 2018-02-06T20:22:01+01:00
Fix build when using VLC 2.2

- - - - -


2 changed files:

- test/main.cpp
- vlcpp/structures.hpp


Changes:

=
test/main.cpp
=
--- a/test/main.cpp
+++ b/test/main.cpp
@@ -36,9 +36,11 @@ int main(int ac, char** av)
 const char* vlcArgs = "-vv";
 auto instance = VLC::Instance(1, );
 
+#if LIBVLC_VERSION_INT >= LIBVLC_VERSION(3, 0, 0, 0)
 auto sds = instance.mediaDiscoverers( VLC::MediaDiscoverer::Category::Lan 
);
 for ( const auto& sd : sds )
 std::cout << "Found SD: " << sd.name() << "(" << sd.longName() << ")" 
<< std::endl;
+#endif
 
 instance.setExitHandler([] {
 std::cout << "Libvlc is exiting" << std::endl;


=
vlcpp/structures.hpp
=
--- a/vlcpp/structures.hpp
+++ b/vlcpp/structures.hpp
@@ -319,6 +319,7 @@ public:
 return m_fpsDen;
 }
 
+#if LIBVLC_VERSION_INT >= LIBVLC_VERSION(3, 0, 0, 0)
 ///
 /// \brief Orientation
 ///
@@ -338,6 +339,7 @@ public:
 {
 return m_projection;
 }
+#endif
 
 

 // Subtitles specific
@@ -378,8 +380,10 @@ public:
 m_sarDen = c->video->i_sar_den;
 m_fpsNum = c->video->i_frame_rate_num;
 m_fpsDen = c->video->i_frame_rate_den;
+#if LIBVLC_VERSION_INT >= LIBVLC_VERSION(3, 0, 0, 0)
 m_orientation = static_cast( 
c->video->i_orientation );
 m_projection = static_cast( c->video->i_projection 
);
+#endif
 break;
 case libvlc_track_text:
 m_type = Subtitle;
@@ -413,8 +417,10 @@ private:
 uint32_t m_sarDen;
 uint32_t m_fpsNum;
 uint32_t m_fpsDen;
+#if LIBVLC_VERSION_INT >= LIBVLC_VERSION(3, 0, 0, 0)
 Orientation m_orientation;
 Projection m_projection;
+#endif
 // Subtitles
 std::string m_encoding;
 };



View it on GitLab: 
https://code.videolan.org/videolan/libvlcpp/commit/be5670db6b4b87289e74639208046d6a6313022f

---
View it on GitLab: 
https://code.videolan.org/videolan/libvlcpp/commit/be5670db6b4b87289e74639208046d6a6313022f
You're receiving this email because of your account on code.videolan.org.
___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] qt: fix track menu not disabled when empty

2018-02-06 Thread Thomas Guillem
vlc | branch: master | Thomas Guillem  | Tue Feb  6 19:59:36 
2018 +0100| [6a4f59aeeea98294f7ebf8bb0ecbc1bb9c650baa] | committer: Thomas 
Guillem

qt: fix track menu not disabled when empty

Fixes #19618

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=6a4f59aeeea98294f7ebf8bb0ecbc1bb9c650baa
---

 modules/gui/qt/menus.cpp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/modules/gui/qt/menus.cpp b/modules/gui/qt/menus.cpp
index 0ccf1412eb..549e30913b 100644
--- a/modules/gui/qt/menus.cpp
+++ b/modules/gui/qt/menus.cpp
@@ -1345,6 +1345,8 @@ void VLCMenuBar::UpdateItem( intf_thread_t *p_intf, QMenu 
*menu,
 FREENULL( text.psz_string );
 return;
 }
+else
+action->setEnabled( false );
 
 switch( i_type & VLC_VAR_TYPE )
 {

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] lua/playlist: Removes pluzz.fr script

2018-02-06 Thread Christophe Courtaut
vlc/vlc-3.0 | branch: master | Christophe Courtaut 
 | Tue Feb  6 16:13:09 2018 +0100| 
[75c074b55d8ea27d5f9b74d9bcb7495d68c5b25c] | committer: Jean-Baptiste Kempf

lua/playlist: Removes pluzz.fr script

pluzz.fr does not exists anymore and redirects to france.tv
the layout is very different and thus the script has no reason
to exist anymore.

Signed-off-by: Jean-Baptiste Kempf 
(cherry picked from commit 1daf6e3f94e34ac1baadfb8a2297fd90f2702cb9)
Signed-off-by: Jean-Baptiste Kempf 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=75c074b55d8ea27d5f9b74d9bcb7495d68c5b25c
---

 share/Makefile.am|   1 -
 share/lua/playlist/pluzz.lua | 105 ---
 2 files changed, 106 deletions(-)

diff --git a/share/Makefile.am b/share/Makefile.am
index 44c5c75f7c..3dd1c06e1b 100644
--- a/share/Makefile.am
+++ b/share/Makefile.am
@@ -286,7 +286,6 @@ EXTRA_DIST += \
lua/playlist/mpora.lua \
lua/playlist/newgrounds.lua \
lua/playlist/pinkbike.lua \
-   lua/playlist/pluzz.lua \
lua/playlist/rockbox_fm_presets.lua \
lua/playlist/soundcloud.lua \
lua/playlist/vimeo.lua \
diff --git a/share/lua/playlist/pluzz.lua b/share/lua/playlist/pluzz.lua
deleted file mode 100644
index 14e415035b..00
--- a/share/lua/playlist/pluzz.lua
+++ /dev/null
@@ -1,105 +0,0 @@
---[[
- $Id$
-
- Copyright © 2011 VideoLAN
-
- Authors: Ludovic Fauvet 
-
- 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.
---]]
-
--- Probe function.
-function probe()
-local path = vlc.path:gsub("^www%.", "")
-return vlc.access == "http"
-and ( string.match( vlc.path, "^pluzz%.francetv%.fr/%w+" )
-or string.match( vlc.path, "^info%.francetelevisions%.fr/.+")
-or string.match( vlc.path, "^france4%.fr/%w+") )
-end
-
--- Helpers
-function key_match( line, key )
-return string.match( line, "name=\"" .. key .. "\"" )
-end
-
-function get_value( line )
-local _,_,r = string.find( line, "content=\"(.*)\"" )
-return r
-end
-
--- Parse function.
-function parse()
-p = {}
-
-if string.match ( vlc.path, "www.pluzz.fr/%w+" ) then
-while true do
-line = vlc.readline()
-if not line then break end
-if string.match( line, "id=\"current_video\"" ) then
-_,_,redirect = string.find (line, "href=\"(.-)\"" )
-print ("redirecting to: " .. redirect )
-return { { path = redirect } }
-end
-end
-end
-
-if string.match ( vlc.path, "www.france4.fr/%w+" ) then
-while true do
-line = vlc.readline()
-if not line then break end
-   -- maybe we should get id from tags having video/cappuccino type 
instead
-if string.match( line, "id=\"lavideo\"" ) then
-_,_,redirect = string.find (line, "href=\"(.-)\"" )
-print ("redirecting to: " .. redirect )
-return { { path = redirect } }
-end
-end
-end
-
-if string.match ( vlc.path, "info.francetelevisions.fr/.+" ) then
-title = ""
-arturl = 
"http://info.francetelevisions.fr/video-info/player_sl/Images/PNG/gene_ftv.png;
-while true do
-line = vlc.readline()
-if not line then break end
--- Try to find the video's path
-if key_match( line, "urls--url--video" ) then
-video = get_value( line )
-end
--- Try to find the video's title
-if key_match( line, "vignette--titre--court" ) then
-title = get_value( line )
-title = vlc.strings.resolve_xml_special_chars( title )
-print ("playing: " .. title )
-end
--- Try to find the video's thumbnail
-if key_match( line, "vignette" ) then
-arturl = get_value( line )
-if not string.match( line, "http://; ) then
-arturl = "http://info.francetelevisions.fr/; .. arturl
-end
-end
-end
-if video then
--- base url is hardcoded inside a js source file
--- see 

[vlc-commits] lua/playlist: Removes canalplus.fr script

2018-02-06 Thread Christophe Courtaut
vlc/vlc-3.0 | branch: master | Christophe Courtaut 
 | Tue Feb  6 16:16:29 2018 +0100| 
[d1d97200b76ed4e5b8146122f344b97ab52fd6e1] | committer: Jean-Baptiste Kempf

lua/playlist: Removes canalplus.fr script

canalplus.fr does not exists anymore and redirects to mycanal.fr
the layout is very different and thus the script has no reason
to exist anymore.

Signed-off-by: Jean-Baptiste Kempf 
(cherry picked from commit 6593e74ed2cc0a4b2e55b144176b4a9d97824928)
Signed-off-by: Jean-Baptiste Kempf 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=d1d97200b76ed4e5b8146122f344b97ab52fd6e1
---

 share/Makefile.am|  1 -
 share/lua/playlist/canalplus.lua | 88 
 2 files changed, 89 deletions(-)

diff --git a/share/Makefile.am b/share/Makefile.am
index 3dd1c06e1b..6d8cd9dc2f 100644
--- a/share/Makefile.am
+++ b/share/Makefile.am
@@ -272,7 +272,6 @@ EXTRA_DIST += \
lua/playlist/appletrailers.lua \
lua/playlist/bbc_co_uk.lua \
lua/playlist/break.lua \
-   lua/playlist/canalplus.lua \
lua/playlist/cue.lua \
lua/playlist/dailymotion.lua \
lua/playlist/extreme.lua \
diff --git a/share/lua/playlist/canalplus.lua b/share/lua/playlist/canalplus.lua
deleted file mode 100644
index bcaf7de682..00
--- a/share/lua/playlist/canalplus.lua
+++ /dev/null
@@ -1,88 +0,0 @@
---[[
- $Id: $
-
- Copyright (c) 2007 the VideoLAN team
-
- 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.
---]]
-
--- Probe function.
-function probe()
-return vlc.access == "http" and string.match( vlc.path, 
"^www%.canalplus%.fr/.+" )
-end
-
--- Parse function.
-function parse()
-p = {}
---vlc.msg.dbg( vlc.path )
-if string.match( vlc.path, "www.canalplus.fr/.*%?pid=.*" )
-then -- This is the HTML page's URL
-local _,_,pid = string.find( vlc.path, "pid(%d-)%-" )
-local id, name, description, arturl
-while true do
--- Try to find the video's title
-local line = vlc.readline()
-if not line then break end
--- vlc.msg.dbg( line )
-if string.match( line, "aVideos" ) then
-if string.match( line, "CONTENT_ID.*=" ) then
-_,_,id = string.find( line, "\"(.-)\"" )
-elseif string.match( line, "CONTENT_VNC_TITRE" ) then
-_,_,arturl = string.find( line, "src=\"(.-)\"" )
-_,_,name = string.find( line, "title=\"(.-)\"" )
-elseif string.match( line, "CONTENT_VNC_DESCRIPTION" ) then
-_,_,description = string.find( line, "\"(.-)\"" )
-end
-if id and string.match( line, "new Array" ) then
-add_item( p, id, name, description, arturl )
-id = nil
-name = nil
-arturl = nil
-description = nil
-end
-end
-end
-if id then
-add_item( p, id, name, description, arturl )
-end
-return p
-elseif string.match( vlc.path, "embed%-video%-player" ) then
-while true do
-local line = vlc.readline()
-if not line then break end
---vlc.msg.dbg( line )
-if string.match( line, "

[vlc-commits] lua/playlist: Removes pluzz.fr script

2018-02-06 Thread Christophe Courtaut
vlc | branch: master | Christophe Courtaut  | 
Tue Feb  6 16:13:09 2018 +0100| [1daf6e3f94e34ac1baadfb8a2297fd90f2702cb9] | 
committer: Jean-Baptiste Kempf

lua/playlist: Removes pluzz.fr script

pluzz.fr does not exists anymore and redirects to france.tv
the layout is very different and thus the script has no reason
to exist anymore.

Signed-off-by: Jean-Baptiste Kempf 

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=1daf6e3f94e34ac1baadfb8a2297fd90f2702cb9
---

 share/Makefile.am|   1 -
 share/lua/playlist/pluzz.lua | 105 ---
 2 files changed, 106 deletions(-)

diff --git a/share/Makefile.am b/share/Makefile.am
index 44c5c75f7c..3dd1c06e1b 100644
--- a/share/Makefile.am
+++ b/share/Makefile.am
@@ -286,7 +286,6 @@ EXTRA_DIST += \
lua/playlist/mpora.lua \
lua/playlist/newgrounds.lua \
lua/playlist/pinkbike.lua \
-   lua/playlist/pluzz.lua \
lua/playlist/rockbox_fm_presets.lua \
lua/playlist/soundcloud.lua \
lua/playlist/vimeo.lua \
diff --git a/share/lua/playlist/pluzz.lua b/share/lua/playlist/pluzz.lua
deleted file mode 100644
index 14e415035b..00
--- a/share/lua/playlist/pluzz.lua
+++ /dev/null
@@ -1,105 +0,0 @@
---[[
- $Id$
-
- Copyright © 2011 VideoLAN
-
- Authors: Ludovic Fauvet 
-
- 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.
---]]
-
--- Probe function.
-function probe()
-local path = vlc.path:gsub("^www%.", "")
-return vlc.access == "http"
-and ( string.match( vlc.path, "^pluzz%.francetv%.fr/%w+" )
-or string.match( vlc.path, "^info%.francetelevisions%.fr/.+")
-or string.match( vlc.path, "^france4%.fr/%w+") )
-end
-
--- Helpers
-function key_match( line, key )
-return string.match( line, "name=\"" .. key .. "\"" )
-end
-
-function get_value( line )
-local _,_,r = string.find( line, "content=\"(.*)\"" )
-return r
-end
-
--- Parse function.
-function parse()
-p = {}
-
-if string.match ( vlc.path, "www.pluzz.fr/%w+" ) then
-while true do
-line = vlc.readline()
-if not line then break end
-if string.match( line, "id=\"current_video\"" ) then
-_,_,redirect = string.find (line, "href=\"(.-)\"" )
-print ("redirecting to: " .. redirect )
-return { { path = redirect } }
-end
-end
-end
-
-if string.match ( vlc.path, "www.france4.fr/%w+" ) then
-while true do
-line = vlc.readline()
-if not line then break end
-   -- maybe we should get id from tags having video/cappuccino type 
instead
-if string.match( line, "id=\"lavideo\"" ) then
-_,_,redirect = string.find (line, "href=\"(.-)\"" )
-print ("redirecting to: " .. redirect )
-return { { path = redirect } }
-end
-end
-end
-
-if string.match ( vlc.path, "info.francetelevisions.fr/.+" ) then
-title = ""
-arturl = 
"http://info.francetelevisions.fr/video-info/player_sl/Images/PNG/gene_ftv.png;
-while true do
-line = vlc.readline()
-if not line then break end
--- Try to find the video's path
-if key_match( line, "urls--url--video" ) then
-video = get_value( line )
-end
--- Try to find the video's title
-if key_match( line, "vignette--titre--court" ) then
-title = get_value( line )
-title = vlc.strings.resolve_xml_special_chars( title )
-print ("playing: " .. title )
-end
--- Try to find the video's thumbnail
-if key_match( line, "vignette" ) then
-arturl = get_value( line )
-if not string.match( line, "http://; ) then
-arturl = "http://info.francetelevisions.fr/; .. arturl
-end
-end
-end
-if video then
--- base url is hardcoded inside a js source file
--- see 
http://www.pluzz.fr/layoutftv/arches/common/javascripts/jquery.player-min.js
-base_url = 

[vlc-commits] lua/playlist: Removes canalplus.fr script

2018-02-06 Thread Christophe Courtaut
vlc | branch: master | Christophe Courtaut  | 
Tue Feb  6 16:16:29 2018 +0100| [6593e74ed2cc0a4b2e55b144176b4a9d97824928] | 
committer: Jean-Baptiste Kempf

lua/playlist: Removes canalplus.fr script

canalplus.fr does not exists anymore and redirects to mycanal.fr
the layout is very different and thus the script has no reason
to exist anymore.

Signed-off-by: Jean-Baptiste Kempf 

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=6593e74ed2cc0a4b2e55b144176b4a9d97824928
---

 share/Makefile.am|  1 -
 share/lua/playlist/canalplus.lua | 88 
 2 files changed, 89 deletions(-)

diff --git a/share/Makefile.am b/share/Makefile.am
index 3dd1c06e1b..6d8cd9dc2f 100644
--- a/share/Makefile.am
+++ b/share/Makefile.am
@@ -272,7 +272,6 @@ EXTRA_DIST += \
lua/playlist/appletrailers.lua \
lua/playlist/bbc_co_uk.lua \
lua/playlist/break.lua \
-   lua/playlist/canalplus.lua \
lua/playlist/cue.lua \
lua/playlist/dailymotion.lua \
lua/playlist/extreme.lua \
diff --git a/share/lua/playlist/canalplus.lua b/share/lua/playlist/canalplus.lua
deleted file mode 100644
index bcaf7de682..00
--- a/share/lua/playlist/canalplus.lua
+++ /dev/null
@@ -1,88 +0,0 @@
---[[
- $Id: $
-
- Copyright (c) 2007 the VideoLAN team
-
- 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.
---]]
-
--- Probe function.
-function probe()
-return vlc.access == "http" and string.match( vlc.path, 
"^www%.canalplus%.fr/.+" )
-end
-
--- Parse function.
-function parse()
-p = {}
---vlc.msg.dbg( vlc.path )
-if string.match( vlc.path, "www.canalplus.fr/.*%?pid=.*" )
-then -- This is the HTML page's URL
-local _,_,pid = string.find( vlc.path, "pid(%d-)%-" )
-local id, name, description, arturl
-while true do
--- Try to find the video's title
-local line = vlc.readline()
-if not line then break end
--- vlc.msg.dbg( line )
-if string.match( line, "aVideos" ) then
-if string.match( line, "CONTENT_ID.*=" ) then
-_,_,id = string.find( line, "\"(.-)\"" )
-elseif string.match( line, "CONTENT_VNC_TITRE" ) then
-_,_,arturl = string.find( line, "src=\"(.-)\"" )
-_,_,name = string.find( line, "title=\"(.-)\"" )
-elseif string.match( line, "CONTENT_VNC_DESCRIPTION" ) then
-_,_,description = string.find( line, "\"(.-)\"" )
-end
-if id and string.match( line, "new Array" ) then
-add_item( p, id, name, description, arturl )
-id = nil
-name = nil
-arturl = nil
-description = nil
-end
-end
-end
-if id then
-add_item( p, id, name, description, arturl )
-end
-return p
-elseif string.match( vlc.path, "embed%-video%-player" ) then
-while true do
-local line = vlc.readline()
-if not line then break end
---vlc.msg.dbg( line )
-if string.match( line, "

[vlc-commits] macosx: renderer: fix NoneItem never disabled

2018-02-06 Thread Thomas Guillem
vlc/vlc-3.0 | branch: master | Thomas Guillem  | Tue Feb  6 
16:33:02 2018 +0100| [8afa783254fc0cbd54492f2a6b3c2b6c4040b700] | committer: 
Jean-Baptiste Kempf

macosx: renderer: fix NoneItem never disabled

(cherry picked from commit 894880cf104c5fc282ba11b312906e4974f9d497)
Signed-off-by: Jean-Baptiste Kempf 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=8afa783254fc0cbd54492f2a6b3c2b6c4040b700
---

 modules/gui/macosx/VLCRendererMenuController.m | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/modules/gui/macosx/VLCRendererMenuController.m 
b/modules/gui/macosx/VLCRendererMenuController.m
index 16514122f6..2650651017 100644
--- a/modules/gui/macosx/VLCRendererMenuController.m
+++ b/modules/gui/macosx/VLCRendererMenuController.m
@@ -153,6 +153,8 @@
 
 - (void)selectRenderer:(NSMenuItem *)sender
 {
+[_rendererNoneItem setState:NSOffState];
+
 [_selectedItem setState:NSOffState];
 [sender setState:NSOnState];
 _selectedItem = sender;

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] ftp: fix credentials regression

2018-02-06 Thread Thomas Guillem
vlc/vlc-3.0 | branch: master | Thomas Guillem  | Tue Feb  6 
19:29:04 2018 +0100| [3ea724d34c305621f1533ac7d1d09cffd2a0d0bd] | committer: 
Jean-Baptiste Kempf

ftp: fix credentials regression

Normal user credentials could not be found since the "anonymous" never matched
in keystore.

This is a partial revert of 9366465979633a6df435bc21fb50a7cfb0ff1001
Since we now log anonymous per default. A proper fix need a vlc_credential
change that we won't do now.

(cherry picked from commit 8360f356d3999056a9c46ce6236bb3a8cf9d8938)
Signed-off-by: Jean-Baptiste Kempf 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=3ea724d34c305621f1533ac7d1d09cffd2a0d0bd
---

 modules/access/ftp.c | 22 +-
 1 file changed, 9 insertions(+), 13 deletions(-)

diff --git a/modules/access/ftp.c b/modules/access/ftp.c
index 5e7b15fb12..a5ad4ddabd 100644
--- a/modules/access/ftp.c
+++ b/modules/access/ftp.c
@@ -456,19 +456,15 @@ static int Login( vlc_object_t *p_access, access_sys_t 
*p_sys, const char *path
 NULL, NULL );
 do
 {
-if( credential.psz_username != NULL )
-{
-if( LoginUserPwd( p_access, p_sys, credential.psz_username,
-  credential.psz_password, _logged ) != 0
- || b_logged )
-break;
-}
-else
-{
-/* No crendential specified: show the dialog with a "anonymous"
- * user pre-filled */
-credential.psz_username = "anonymous";
-}
+const char *psz_username = credential.psz_username;
+
+if( psz_username == NULL ) /* use anonymous by default */
+psz_username = "anonymous";
+
+if( LoginUserPwd( p_access, p_sys, psz_username,
+  credential.psz_password, _logged ) != 0
+ || b_logged )
+break;
 }
 while( vlc_credential_get( , p_access, "ftp-user", "ftp-pwd",
LOGIN_DIALOG_TITLE, LOGIN_DIALOG_TEXT,

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] chromecast: load input asynchronously

2018-02-06 Thread Thomas Guillem
vlc/vlc-3.0 | branch: master | Thomas Guillem  | Tue Feb  6 
09:04:27 2018 +0100| [56ba38bfb702e44b5f5edbc8bd6fa8869d608fcc] | committer: 
Jean-Baptiste Kempf

chromecast: load input asynchronously

setHasInput() is now non-blocking. It was called from the sout chain and could
deadlock (no interrupt context) in case of connectivity issue.

(cherry picked from commit 341dc6dd25a13d8ffcb6cba7b454e17b9d5d7e8b)
Signed-off-by: Jean-Baptiste Kempf 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=56ba38bfb702e44b5f5edbc8bd6fa8869d608fcc
---

 modules/stream_out/chromecast/chromecast.h|  3 +
 modules/stream_out/chromecast/chromecast_ctrl.cpp | 84 ++-
 2 files changed, 71 insertions(+), 16 deletions(-)

diff --git a/modules/stream_out/chromecast/chromecast.h 
b/modules/stream_out/chromecast/chromecast.h
index 61389d681f..781bc1d29d 100644
--- a/modules/stream_out/chromecast/chromecast.h
+++ b/modules/stream_out/chromecast/chromecast.h
@@ -182,6 +182,8 @@ private:
 
 void setPauseState(bool paused);
 bool isStatePlaying() const;
+bool isStateReady() const;
+void tryLoad();
 
 void setMeta( vlc_meta_t *p_meta );
 
@@ -236,6 +238,7 @@ private:
 std::queue m_msgQueue;
 States m_state;
 bool m_request_stop;
+bool m_request_load;
 bool m_eof;
 
 vlc_meta_t *m_meta;
diff --git a/modules/stream_out/chromecast/chromecast_ctrl.cpp 
b/modules/stream_out/chromecast/chromecast_ctrl.cpp
index b1f14c7051..8130991f38 100644
--- a/modules/stream_out/chromecast/chromecast_ctrl.cpp
+++ b/modules/stream_out/chromecast/chromecast_ctrl.cpp
@@ -93,6 +93,7 @@ intf_sys_t::intf_sys_t(vlc_object_t * const p_this, int port, 
std::string device
  , m_communication( p_this, device_addr.c_str(), device_port )
  , m_state( Authenticating )
  , m_request_stop( false )
+ , m_request_load( false )
  , m_eof( false )
  , m_meta( NULL )
  , m_ctl_thread_interrupt(p_interrupt)
@@ -265,6 +266,38 @@ void intf_sys_t::prepareHttpArtwork()
 vlc_meta_Set( m_meta, vlc_meta_ArtworkURL, ss.str().c_str() );
 }
 
+void intf_sys_t::tryLoad()
+{
+if( !m_request_load )
+return;
+
+if ( !isStateReady() )
+{
+if ( m_state == Dead )
+{
+msg_Warn( m_module, "no Chromecast hook possible");
+m_request_load = false;
+}
+else if( m_state == Connected )
+{
+msg_Dbg( m_module, "Starting the media receiver application" );
+// Don't use setState as we don't want to signal the condition in 
this case.
+m_state = Launching;
+m_communication.msgReceiverLaunchApp();
+}
+return;
+}
+
+m_request_load = false;
+
+// We should now be in the ready state, and therefor have a valid 
transportId
+assert( m_appTransportId.empty() == false );
+// Reset the mediaSessionID to allow the new session to become the current 
one.
+// we cannot start a new load when the last one is still processing
+m_communication.msgPlayerLoad( m_appTransportId, m_streaming_port, m_mime, 
m_meta );
+m_state = Loading;
+}
+
 void intf_sys_t::setHasInput( const std::string mime_type )
 {
 vlc_mutex_locker locker(_lock);
@@ -278,23 +311,14 @@ void intf_sys_t::setHasInput( const std::string mime_type 
)
 std::queue empty;
 std::swap(m_msgQueue, empty);
 
-waitAppStarted();
-if ( m_state == Dead )
-{
-msg_Warn( m_module, "no Chromecast hook possible");
-return;
-}
-
 prepareHttpArtwork();
 
-// We should now be in the ready state, and therefor have a valid 
transportId
-assert( m_appTransportId.empty() == false );
-// Reset the mediaSessionID to allow the new session to become the current 
one.
-m_mediaSessionId = 0;
-// we cannot start a new load when the last one is still processing
-m_communication.msgPlayerLoad( m_appTransportId, m_streaming_port, 
mime_type, m_meta );
-setState( Loading );
 m_eof = false;
+m_mediaSessionId = 0;
+m_request_load = true;
+
+tryLoad();
+vlc_cond_signal( _stateChangedCond );
 }
 
 bool intf_sys_t::isStatePlaying() const
@@ -312,6 +336,22 @@ bool intf_sys_t::isStatePlaying() const
 }
 }
 
+bool intf_sys_t::isStateReady() const
+{
+switch( m_state )
+{
+case Connected:
+case Launching:
+case Authenticating:
+case Connecting:
+case Stopping:
+case Dead:
+return false;
+default:
+return true;
+}
+}
+
 /**
  * @brief Process a message received from the Chromecast
  * @param msg the CastMessage to process
@@ -498,8 +538,8 @@ void intf_sys_t::processReceiverMessage( const 
castchannel::CastMessage& msg )
 {
 msg_Dbg( m_module, "Media receiver application was already 
running" );
 m_appTransportId = (const char*)(*p_app)["transportId"];
-

[vlc-commits] chromecast: don't restart httpd file art server

2018-02-06 Thread Thomas Guillem
vlc/vlc-3.0 | branch: master | Thomas Guillem  | Tue Feb  6 
09:51:19 2018 +0100| [a78c362f5fe262d24a686562cc7cfae03564cb3f] | committer: 
Jean-Baptiste Kempf

chromecast: don't restart httpd file art server

The httpd_file instance share the same lock than the httpd_url instance used by
the sout (ugly) and was causing deadlock. Create/destroy the file server on
constructor/desctructor before/after creating the cc thread.

(cherry picked from commit 894843621e0629712d84589bc75be2a8817b9247)
Signed-off-by: Jean-Baptiste Kempf 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=a78c362f5fe262d24a686562cc7cfae03564cb3f
---

 modules/stream_out/chromecast/chromecast.h|  1 -
 modules/stream_out/chromecast/chromecast_ctrl.cpp | 95 +--
 2 files changed, 38 insertions(+), 58 deletions(-)

diff --git a/modules/stream_out/chromecast/chromecast.h 
b/modules/stream_out/chromecast/chromecast.h
index 781bc1d29d..9918b6e02a 100644
--- a/modules/stream_out/chromecast/chromecast.h
+++ b/modules/stream_out/chromecast/chromecast.h
@@ -249,7 +249,6 @@ private:
 httpd_file_t *m_httpd_file;
 std::string   m_art_http_ip;
 char *m_art_url;
-stream_t *m_art_stream;
 
 /* local date when playback started/resumed, used by monotone clock */
 mtime_t   m_time_playback_started;
diff --git a/modules/stream_out/chromecast/chromecast_ctrl.cpp 
b/modules/stream_out/chromecast/chromecast_ctrl.cpp
index 8130991f38..486336324a 100644
--- a/modules/stream_out/chromecast/chromecast_ctrl.cpp
+++ b/modules/stream_out/chromecast/chromecast_ctrl.cpp
@@ -44,6 +44,9 @@
 #define PING_WAIT_TIME 6000
 #define PING_WAIT_RETRIES 1
 
+static int httpd_file_fill_cb( httpd_file_sys_t *data, httpd_file_t *http_file,
+  uint8_t *psz_request, uint8_t **pp_data, int 
*pi_data );
+
 static const mtime_t SEEK_FORWARD_OFFSET = 100;
 
 static const char* StateToStr( States s )
@@ -98,9 +101,7 @@ intf_sys_t::intf_sys_t(vlc_object_t * const p_this, int 
port, std::string device
  , m_meta( NULL )
  , m_ctl_thread_interrupt(p_interrupt)
  , m_httpd_host(httpd_host)
- , m_httpd_file(NULL)
  , m_art_url(NULL)
- , m_art_stream(NULL)
  , m_time_playback_started( VLC_TS_INVALID )
  , m_ts_local_start( VLC_TS_INVALID )
  , m_length( VLC_TS_INVALID )
@@ -109,6 +110,10 @@ intf_sys_t::intf_sys_t(vlc_object_t * const p_this, int 
port, std::string device
 vlc_mutex_init(_lock);
 vlc_cond_init( _stateChangedCond );
 
+const char *psz_artmime = "application/octet-stream";
+m_httpd_file = httpd_FileNew( m_httpd_host, "/art", psz_artmime, NULL, 
NULL,
+  httpd_file_fill_cb, (httpd_file_sys_t *) 
this );
+
 std::stringstream ss;
 ss << "http://; << m_communication.getServerIp() << ":" << port;
 m_art_http_ip = ss.str();
@@ -172,8 +177,8 @@ intf_sys_t::~intf_sys_t()
 
 if( m_httpd_file )
 httpd_FileDelete( m_httpd_file );
-if( m_art_stream )
-vlc_stream_Delete( m_art_stream );
+
+free( m_art_url );
 
 vlc_cond_destroy(_stateChangedCond);
 vlc_mutex_destroy(_lock);
@@ -183,19 +188,39 @@ int intf_sys_t::httpd_file_fill( uint8_t *psz_request, 
uint8_t **pp_data, int *p
 {
 (void) psz_request;
 
-if( vlc_stream_Seek( m_art_stream, 0 ) )
+vlc_mutex_lock( _lock );
+if( !m_art_url )
+{
+vlc_mutex_unlock( _lock );
+return VLC_EGENERIC;
+}
+char *psz_art = strdup( m_art_url );
+vlc_mutex_unlock( _lock );
+
+stream_t *s = vlc_stream_NewURL( m_module, psz_art );
+free( psz_art );
+if( !s )
 return VLC_EGENERIC;
 
 uint64_t size;
-if( vlc_stream_GetSize( m_art_stream,  ) != VLC_SUCCESS
+if( vlc_stream_GetSize( s,  ) != VLC_SUCCESS
  || size > INT64_C( 1000 ) )
+{
+msg_Warn( m_module, "art stream is too big or invalid" );
+vlc_stream_Delete( s );
 return VLC_EGENERIC;
+}
 
 *pp_data = (uint8_t *)malloc( size );
 if( !*pp_data )
+{
+vlc_stream_Delete( s );
 return VLC_EGENERIC;
+}
+
+ssize_t read = vlc_stream_Read( s, *pp_data, size );
+vlc_stream_Delete( s );
 
-ssize_t read = vlc_stream_Read( m_art_stream, *pp_data, size );
 if( read < 0 || (size_t)read != size )
 {
 free( *pp_data );
@@ -217,49 +242,16 @@ static int httpd_file_fill_cb( httpd_file_sys_t *data, 
httpd_file_t *http_file,
 
 void intf_sys_t::prepareHttpArtwork()
 {
-const char *psz_art = m_meta ? vlc_meta_Get( m_meta, vlc_meta_ArtworkURL ) 
: NULL;
-/* Abort if there is no art or if the art is already served */
-if( !psz_art || strncmp( psz_art, "http", 4) == 0
- || ( m_art_url && strcmp( psz_art, m_art_url ) == 0 ) )
-return;
-
-if( m_httpd_file )
-{
-httpd_FileDelete( m_httpd_file );
-m_httpd_file = NULL;
-}
-if( m_art_stream )
-{
-  

[vlc-commits] chromecast: rename isPlaying to isStatePlaying

2018-02-06 Thread Thomas Guillem
vlc/vlc-3.0 | branch: master | Thomas Guillem  | Tue Feb  6 
08:56:45 2018 +0100| [91056f432fcfb3a59c7016aa57e60a6a1c2d932a] | committer: 
Jean-Baptiste Kempf

chromecast: rename isPlaying to isStatePlaying

And set it private.

(cherry picked from commit 716ab2af8b7223fe648e5969ef36d7be883abbdf)
Signed-off-by: Jean-Baptiste Kempf 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=91056f432fcfb3a59c7016aa57e60a6a1c2d932a
---

 modules/stream_out/chromecast/chromecast.h|  2 +-
 modules/stream_out/chromecast/chromecast_ctrl.cpp | 10 +-
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/modules/stream_out/chromecast/chromecast.h 
b/modules/stream_out/chromecast/chromecast.h
index 4f0ecd9300..61389d681f 100644
--- a/modules/stream_out/chromecast/chromecast.h
+++ b/modules/stream_out/chromecast/chromecast.h
@@ -165,7 +165,6 @@ struct intf_sys_t
 bool isFinishedPlaying();
 
 void setHasInput(const std::string mime_type = "");
-bool isPlaying() const;
 
 void requestPlayerSeek(mtime_t pos);
 void requestPlayerStop();
@@ -182,6 +181,7 @@ private:
 void queueMessage( QueueableMessages msg );
 
 void setPauseState(bool paused);
+bool isStatePlaying() const;
 
 void setMeta( vlc_meta_t *p_meta );
 
diff --git a/modules/stream_out/chromecast/chromecast_ctrl.cpp 
b/modules/stream_out/chromecast/chromecast_ctrl.cpp
index dad14c0334..b1f14c7051 100644
--- a/modules/stream_out/chromecast/chromecast_ctrl.cpp
+++ b/modules/stream_out/chromecast/chromecast_ctrl.cpp
@@ -297,7 +297,7 @@ void intf_sys_t::setHasInput( const std::string mime_type )
 m_eof = false;
 }
 
-bool intf_sys_t::isPlaying() const
+bool intf_sys_t::isStatePlaying() const
 {
 switch( m_state )
 {
@@ -382,7 +382,7 @@ void intf_sys_t::mainLoop()
 switch ( msg )
 {
 case Stop:
-if( isPlaying() )
+if( isStatePlaying() )
 {
 if ( m_mediaSessionId == 0 )
 m_request_stop = true;
@@ -395,7 +395,7 @@ void intf_sys_t::mainLoop()
 break;
 case Seek:
 {
-if( !isPlaying() || m_mediaSessionId == 0 )
+if( !isStatePlaying() || m_mediaSessionId == 0 )
 break;
 char current_time[32];
 mtime_t seek_request_time = mdate() + SEEK_FORWARD_OFFSET;
@@ -824,7 +824,7 @@ void intf_sys_t::requestPlayerStop()
 m_art_stream = NULL;
 }
 
-if( !isPlaying() )
+if( !isStatePlaying() )
 return;
 
 queueMessage( Stop );
@@ -839,7 +839,7 @@ States intf_sys_t::state() const
 void intf_sys_t::requestPlayerSeek(mtime_t pos)
 {
 vlc_mutex_locker locker(_lock);
-if( !isPlaying() || m_mediaSessionId == 0 )
+if( !isStatePlaying() || m_mediaSessionId == 0 )
 return;
 if ( pos != VLC_TS_INVALID )
 m_ts_local_start = pos;

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] ftp: fix cast ugliness

2018-02-06 Thread Thomas Guillem
vlc/vlc-3.0 | branch: master | Thomas Guillem  | Tue Feb  6 
18:58:58 2018 +0100| [21ee49f9e4b6c56e2cb28803d0574268f7ddc35b] | committer: 
Jean-Baptiste Kempf

ftp: fix cast ugliness

Fixes #19616

(cherry picked from commit 9bb080af577864f7f8dbaa12fa68041999a721ad)
Signed-off-by: Jean-Baptiste Kempf 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=21ee49f9e4b6c56e2cb28803d0574268f7ddc35b
---

 modules/access/ftp.c | 14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/modules/access/ftp.c b/modules/access/ftp.c
index 2839a45d22..5e7b15fb12 100644
--- a/modules/access/ftp.c
+++ b/modules/access/ftp.c
@@ -356,7 +356,7 @@ static void clearCmd( access_sys_t *p_sys )
 }
 }
 
-static int Login( vlc_object_t *p_access, access_sys_t *p_sys )
+static int Login( vlc_object_t *p_access, access_sys_t *p_sys, const char 
*path )
 {
 int i_answer;
 
@@ -443,7 +443,7 @@ static int Login( vlc_object_t *p_access, access_sys_t 
*p_sys )
 
 vlc_url_t url;
 vlc_credential credential;
-if( vlc_UrlParseFixup( , ((stream_t *)p_access)->psz_url ) != 0 )
+if( vlc_UrlParseFixup( , path ) != 0 )
 {
 vlc_UrlClean(  );
 goto error;
@@ -585,9 +585,9 @@ static const char *IsASCII( const char *str )
 return str;
 }
 
-static int Connect( vlc_object_t *p_access, access_sys_t *p_sys )
+static int Connect( vlc_object_t *p_access, access_sys_t *p_sys, const char 
*path )
 {
-if( Login( p_access, p_sys ) < 0 )
+if( Login( p_access, p_sys, path ) < 0 )
 return -1;
 
 /* Extended passive mode */
@@ -613,7 +613,7 @@ static int Connect( vlc_object_t *p_access, access_sys_t 
*p_sys )
 msg_Info( p_access, "FTP Extended passive mode disabled" );
 clearCmd( p_sys );
 
-if( Login( p_access, p_sys ) )
+if( Login( p_access, p_sys, path ) )
 goto error;
 }
 
@@ -710,7 +710,7 @@ static int InOpen( vlc_object_t *p_this )
 if( parseURL( _sys->url, p_access->psz_url, p_sys->tlsmode ) )
 goto exit_error;
 
-if( Connect( p_this, p_sys ) )
+if( Connect( p_this, p_sys, p_access->psz_url ) )
 goto exit_error;
 
 do {
@@ -801,7 +801,7 @@ static int OutOpen( vlc_object_t *p_this )
 goto exit_error;
 }
 
-if( Connect( p_this, p_sys ) )
+if( Connect( p_this, p_sys, p_access->psz_path ) )
 goto exit_error;
 
 /* Start the 'stream' */

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] lua SD: don't distribute borken services

2018-02-06 Thread Jean-Baptiste Kempf
vlc/vlc-3.0 | branch: master | Jean-Baptiste Kempf  | Tue 
Feb  6 15:31:25 2018 +0100| [31f61064070de92e655490ae91bdce6a94ce4b32] | 
committer: Jean-Baptiste Kempf

lua SD: don't distribute borken services

(cherry picked from commit b41fa338d51d449c470fe39473ad65fdf6826f0c)
Signed-off-by: Jean-Baptiste Kempf 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=31f61064070de92e655490ae91bdce6a94ce4b32
---

 share/Makefile.am | 2 --
 1 file changed, 2 deletions(-)

diff --git a/share/Makefile.am b/share/Makefile.am
index 36ba5a63f6..44c5c75f7c 100644
--- a/share/Makefile.am
+++ b/share/Makefile.am
@@ -153,9 +153,7 @@ nobase_vlclib_DATA += \
lua/playlist/vocaroo.luac \
lua/playlist/youtube.luac \
lua/playlist/twitch.luac \
-   lua/sd/fmc.luac \
lua/sd/icecast.luac \
-   lua/sd/icast.luac \
lua/sd/jamendo.luac \
$(NULL)
 

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] chromecast: don't try to get MEDIA_STATUS when Dead

2018-02-06 Thread Thomas Guillem
vlc/vlc-3.0 | branch: master | Thomas Guillem  | Tue Feb  6 
18:16:51 2018 +0100| [1cf7db9a62b90e8fbe7fda0efda80e9ba94a409d] | committer: 
Jean-Baptiste Kempf

chromecast: don't try to get MEDIA_STATUS when Dead

(cherry picked from commit e991434a9f5d607b90e65293267940190612a3bd)
Signed-off-by: Jean-Baptiste Kempf 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=1cf7db9a62b90e8fbe7fda0efda80e9ba94a409d
---

 modules/stream_out/chromecast/chromecast_ctrl.cpp | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/modules/stream_out/chromecast/chromecast_ctrl.cpp 
b/modules/stream_out/chromecast/chromecast_ctrl.cpp
index bc6975f590..d88e651e1e 100644
--- a/modules/stream_out/chromecast/chromecast_ctrl.cpp
+++ b/modules/stream_out/chromecast/chromecast_ctrl.cpp
@@ -596,6 +596,7 @@ void intf_sys_t::processReceiverMessage( const 
castchannel::CastMessage& msg )
 case Seeking:
 case Ready:
 case TakenOver:
+case Dead:
 if ( p_app == NULL )
 {
 msg_Warn( m_module, "Media receiver application got closed." );
@@ -625,6 +626,8 @@ void intf_sys_t::processReceiverMessage( const 
castchannel::CastMessage& msg )
 msg_Err( m_module, "Failed to start the MediaPlayer: %s",
 (const char *)reason);
 vlc_mutex_locker locker(_lock);
+m_appTransportId = "";
+m_mediaSessionId = 0;
 setState( Dead );
 }
 else

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] chromecast: reduce http fifo size

2018-02-06 Thread Thomas Guillem
vlc/vlc-3.0 | branch: master | Thomas Guillem  | Tue Feb  6 
11:01:08 2018 +0100| [7b8c723c4fb5b66490d0e52bf992649c0f90aa8c] | committer: 
Jean-Baptiste Kempf

chromecast: reduce http fifo size

We can reduce it since the input is now paced.

(cherry picked from commit 2a8ff4d91b77c0f727ef98be83b647bcb07df04e)
Signed-off-by: Jean-Baptiste Kempf 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=7b8c723c4fb5b66490d0e52bf992649c0f90aa8c
---

 modules/stream_out/chromecast/cast.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/modules/stream_out/chromecast/cast.cpp 
b/modules/stream_out/chromecast/cast.cpp
index 5653ff01b0..c2385e7235 100644
--- a/modules/stream_out/chromecast/cast.cpp
+++ b/modules/stream_out/chromecast/cast.cpp
@@ -203,7 +203,7 @@ static const char *const conversion_quality_list_text[] = {
 #define PORT_TEXT N_("Chromecast port")
 #define PORT_LONGTEXT N_("The port used to talk to the Chromecast.")
 
-#define HTTPD_BUFFER_MAX INT64_C(32 * 1024 * 1024) /* 32 MB */
+#define HTTPD_BUFFER_MAX INT64_C(16 * 1024 * 1024) /* 16 MB */
 
 vlc_module_begin ()
 

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] chromecast: rework demux pacing

2018-02-06 Thread Thomas Guillem
vlc/vlc-3.0 | branch: master | Thomas Guillem  | Tue Feb  6 
09:17:16 2018 +0100| [79a1c5add1b106a69c3cf24c4c66ecd030f81b8a] | committer: 
Jean-Baptiste Kempf

chromecast: rework demux pacing

Pace demux only when the httpd fifo starts to be full.

Replace seek/app_start wait methods by pace() that is interruptible. This fixes
possible deadlock in case of connectivity issue.

(cherry picked from commit 3a1519245d771f2804832bbddc37f6f38f2aa1f8)
Signed-off-by: Jean-Baptiste Kempf 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=79a1c5add1b106a69c3cf24c4c66ecd030f81b8a
---

 modules/stream_out/chromecast/cast.cpp | 31 ++--
 modules/stream_out/chromecast/chromecast.h | 10 ++-
 modules/stream_out/chromecast/chromecast_common.h  |  3 +-
 modules/stream_out/chromecast/chromecast_ctrl.cpp  | 91 +++---
 modules/stream_out/chromecast/chromecast_demux.cpp | 23 +-
 5 files changed, 82 insertions(+), 76 deletions(-)

Diff:   
http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commitdiff;h=79a1c5add1b106a69c3cf24c4c66ecd030f81b8a
___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] macosx: renderer: add unique identifier

2018-02-06 Thread Thomas Guillem
vlc/vlc-3.0 | branch: master | Thomas Guillem  | Tue Feb  6 
15:27:23 2018 +0100| [a8ccce6780c39e5f4ab82935e42e0383616189fc] | committer: 
Jean-Baptiste Kempf

macosx: renderer: add unique identifier

(cherry picked from commit c8eb4d2469bc7ca8ed9d973d928f74a3272cc34c)
Signed-off-by: Jean-Baptiste Kempf 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=a8ccce6780c39e5f4ab82935e42e0383616189fc
---

 modules/gui/macosx/VLCRendererItem.h | 2 ++
 modules/gui/macosx/VLCRendererItem.m | 8 
 2 files changed, 10 insertions(+)

diff --git a/modules/gui/macosx/VLCRendererItem.h 
b/modules/gui/macosx/VLCRendererItem.h
index 421c88a42c..3660b90eb0 100644
--- a/modules/gui/macosx/VLCRendererItem.h
+++ b/modules/gui/macosx/VLCRendererItem.h
@@ -49,6 +49,8 @@
  */
 - (NSString*)name;
 
+- (NSString*)identifier;
+
 /**
  The iconURI of the renderer item
  */
diff --git a/modules/gui/macosx/VLCRendererItem.m 
b/modules/gui/macosx/VLCRendererItem.m
index 428929afb6..fedce35933 100644
--- a/modules/gui/macosx/VLCRendererItem.m
+++ b/modules/gui/macosx/VLCRendererItem.m
@@ -55,6 +55,14 @@
 return [NSString stringWithUTF8String:name];
 }
 
+- (NSString*)identifier
+{
+const char *sout = vlc_renderer_item_sout(_rendererItem);
+if (!sout)
+return nil;
+return [NSString stringWithUTF8String:sout];
+}
+
 - (NSString*)iconURI
 {
 const char *uri = vlc_renderer_item_icon_uri(_rendererItem);

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] chromecast: rework seek

2018-02-06 Thread Thomas Guillem
vlc/vlc-3.0 | branch: master | Thomas Guillem  | Mon Feb  5 
18:44:16 2018 +0100| [0969655b3cd23bd64da6c1f9fec0b4ac18dfbfcf] | committer: 
Jean-Baptiste Kempf

chromecast: rework seek

Don't seek from demux filter but from the the sout. Do it only one time for
every stream ids. Pause the httpd server while seeking in order to prevent the
CC to flush valid post flush buffers.

(cherry picked from commit 82f4830bf59326093f87d9ded6769dfadbbed1c1)
Signed-off-by: Jean-Baptiste Kempf 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=0969655b3cd23bd64da6c1f9fec0b4ac18dfbfcf
---

 modules/stream_out/chromecast/cast.cpp | 60 --
 modules/stream_out/chromecast/chromecast.h |  9 +++-
 modules/stream_out/chromecast/chromecast_common.h  |  2 -
 modules/stream_out/chromecast/chromecast_ctrl.cpp  | 30 ++-
 modules/stream_out/chromecast/chromecast_demux.cpp | 54 +--
 5 files changed, 81 insertions(+), 74 deletions(-)

Diff:   
http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commitdiff;h=0969655b3cd23bd64da6c1f9fec0b4ac18dfbfcf
___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] macosx: renderer: keep selected item

2018-02-06 Thread Thomas Guillem
vlc/vlc-3.0 | branch: master | Thomas Guillem  | Tue Feb  6 
16:30:39 2018 +0100| [1bd85d06b84bbcd38c8fd09e655e24ed69a839d1] | committer: 
Jean-Baptiste Kempf

macosx: renderer: keep selected item

Don't remove the selected item when the discoverer is closed (and don't stop
the CC session).

(cherry picked from commit 35e7089a2758aaa8b66aa865bce341860714c6d1)
Signed-off-by: Jean-Baptiste Kempf 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=1bd85d06b84bbcd38c8fd09e655e24ed69a839d1
---

 modules/gui/macosx/VLCRendererMenuController.m | 18 ++
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/modules/gui/macosx/VLCRendererMenuController.m 
b/modules/gui/macosx/VLCRendererMenuController.m
index 411a5b9125..16514122f6 100644
--- a/modules/gui/macosx/VLCRendererMenuController.m
+++ b/modules/gui/macosx/VLCRendererMenuController.m
@@ -96,6 +96,17 @@
 
 - (void)addRendererItem:(VLCRendererItem *)item
 {
+// Check if the item is already selected
+if (_selectedItem.representedObject != nil)
+{
+VLCRendererItem *selected_rd_item = _selectedItem.representedObject;
+if ([selected_rd_item.identifier isEqualToString:item.identifier])
+{
+[_selectedItem setRepresentedObject:item];
+return;
+}
+}
+
 // Create a menu item
 NSMenuItem *menuItem = [[NSMenuItem alloc] initWithTitle:item.name
   
action:@selector(selectRenderer:)
@@ -110,10 +121,9 @@
 NSInteger index = [_rendererMenu indexOfItemWithRepresentedObject:item];
 if (index != NSNotFound) {
 NSMenuItem *menuItem = [_rendererMenu itemAtIndex:index];
-if (menuItem == _selectedItem) {
-[self selectRenderer:_rendererNoneItem];
-}
-[_rendererMenu removeItemAtIndex:index];
+// Don't remove selected item
+if (menuItem != _selectedItem)
+[_rendererMenu removeItemAtIndex:index];
 }
 }
 

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] ftp: fix cast ugliness

2018-02-06 Thread Thomas Guillem
vlc | branch: master | Thomas Guillem  | Tue Feb  6 18:58:58 
2018 +0100| [9bb080af577864f7f8dbaa12fa68041999a721ad] | committer: Thomas 
Guillem

ftp: fix cast ugliness

Fixes #19616

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=9bb080af577864f7f8dbaa12fa68041999a721ad
---

 modules/access/ftp.c | 14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/modules/access/ftp.c b/modules/access/ftp.c
index 2839a45d22..5e7b15fb12 100644
--- a/modules/access/ftp.c
+++ b/modules/access/ftp.c
@@ -356,7 +356,7 @@ static void clearCmd( access_sys_t *p_sys )
 }
 }
 
-static int Login( vlc_object_t *p_access, access_sys_t *p_sys )
+static int Login( vlc_object_t *p_access, access_sys_t *p_sys, const char 
*path )
 {
 int i_answer;
 
@@ -443,7 +443,7 @@ static int Login( vlc_object_t *p_access, access_sys_t 
*p_sys )
 
 vlc_url_t url;
 vlc_credential credential;
-if( vlc_UrlParseFixup( , ((stream_t *)p_access)->psz_url ) != 0 )
+if( vlc_UrlParseFixup( , path ) != 0 )
 {
 vlc_UrlClean(  );
 goto error;
@@ -585,9 +585,9 @@ static const char *IsASCII( const char *str )
 return str;
 }
 
-static int Connect( vlc_object_t *p_access, access_sys_t *p_sys )
+static int Connect( vlc_object_t *p_access, access_sys_t *p_sys, const char 
*path )
 {
-if( Login( p_access, p_sys ) < 0 )
+if( Login( p_access, p_sys, path ) < 0 )
 return -1;
 
 /* Extended passive mode */
@@ -613,7 +613,7 @@ static int Connect( vlc_object_t *p_access, access_sys_t 
*p_sys )
 msg_Info( p_access, "FTP Extended passive mode disabled" );
 clearCmd( p_sys );
 
-if( Login( p_access, p_sys ) )
+if( Login( p_access, p_sys, path ) )
 goto error;
 }
 
@@ -710,7 +710,7 @@ static int InOpen( vlc_object_t *p_this )
 if( parseURL( _sys->url, p_access->psz_url, p_sys->tlsmode ) )
 goto exit_error;
 
-if( Connect( p_this, p_sys ) )
+if( Connect( p_this, p_sys, p_access->psz_url ) )
 goto exit_error;
 
 do {
@@ -801,7 +801,7 @@ static int OutOpen( vlc_object_t *p_this )
 goto exit_error;
 }
 
-if( Connect( p_this, p_sys ) )
+if( Connect( p_this, p_sys, p_access->psz_path ) )
 goto exit_error;
 
 /* Start the 'stream' */

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] ftp: fix credentials regression

2018-02-06 Thread Thomas Guillem
vlc | branch: master | Thomas Guillem  | Tue Feb  6 19:29:04 
2018 +0100| [8360f356d3999056a9c46ce6236bb3a8cf9d8938] | committer: Thomas 
Guillem

ftp: fix credentials regression

Normal user credentials could not be found since the "anonymous" never matched
in keystore.

This is a partial revert of 9366465979633a6df435bc21fb50a7cfb0ff1001
Since we now log anonymous per default. A proper fix need a vlc_credential
change that we won't do now.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=8360f356d3999056a9c46ce6236bb3a8cf9d8938
---

 modules/access/ftp.c | 22 +-
 1 file changed, 9 insertions(+), 13 deletions(-)

diff --git a/modules/access/ftp.c b/modules/access/ftp.c
index 5e7b15fb12..a5ad4ddabd 100644
--- a/modules/access/ftp.c
+++ b/modules/access/ftp.c
@@ -456,19 +456,15 @@ static int Login( vlc_object_t *p_access, access_sys_t 
*p_sys, const char *path
 NULL, NULL );
 do
 {
-if( credential.psz_username != NULL )
-{
-if( LoginUserPwd( p_access, p_sys, credential.psz_username,
-  credential.psz_password, _logged ) != 0
- || b_logged )
-break;
-}
-else
-{
-/* No crendential specified: show the dialog with a "anonymous"
- * user pre-filled */
-credential.psz_username = "anonymous";
-}
+const char *psz_username = credential.psz_username;
+
+if( psz_username == NULL ) /* use anonymous by default */
+psz_username = "anonymous";
+
+if( LoginUserPwd( p_access, p_sys, psz_username,
+  credential.psz_password, _logged ) != 0
+ || b_logged )
+break;
 }
 while( vlc_credential_get( , p_access, "ftp-user", "ftp-pwd",
LOGIN_DIALOG_TITLE, LOGIN_DIALOG_TEXT,

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] avcodec: log each decoder format we try to use

2018-02-06 Thread Steve Lhomme
vlc/vlc-3.0 | branch: master | Steve Lhomme  | Tue Feb  6 
09:19:05 2018 +0100| [2514bca26205efc3b7cf7a7bba91c7e255143d1c] | committer: 
Jean-Baptiste Kempf

avcodec: log each decoder format we try to use

Otherwise it's hard to tell when different hardware acceleration & CPU formats.

(cherry picked from commit 5762aec06e63a9c4096daa07bfe63c68a2285521)
Signed-off-by: Jean-Baptiste Kempf 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=2514bca26205efc3b7cf7a7bba91c7e255143d1c
---

 modules/codec/avcodec/video.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/modules/codec/avcodec/video.c b/modules/codec/avcodec/video.c
index b7f2b8e3f3..abb6bdd203 100644
--- a/modules/codec/avcodec/video.c
+++ b/modules/codec/avcodec/video.c
@@ -1589,6 +1589,8 @@ static enum PixelFormat ffmpeg_GetFormat( AVCodecContext 
*p_context,
 msg_Err(p_dec, "unspecified video dimensions");
 continue;
 }
+const AVPixFmtDescriptor *dsc = av_pix_fmt_desc_get(hwfmt);
+msg_Dbg(p_dec, "trying format %s", dsc ? dsc->name : "unknown");
 if (lavc_UpdateVideoFormat(p_dec, p_context, hwfmt, swfmt))
 continue; /* Unsupported brand of hardware acceleration */
 post_mt(p_sys);

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] d3d11_fmt: log the diver version even when the feature level is wrong

2018-02-06 Thread Steve Lhomme
vlc/vlc-3.0 | branch: master | Steve Lhomme  | Mon Feb  5 
16:49:52 2018 +0100| [a2a07e80921d65c1dfe688a4a378d02435961070] | committer: 
Jean-Baptiste Kempf

d3d11_fmt: log the diver version even when the feature level is wrong

(cherry picked from commit 5ca1c04bb5a35dd73a321fcfca7bdb639327012b)
Signed-off-by: Jean-Baptiste Kempf 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=a2a07e80921d65c1dfe688a4a378d02435961070
---

 modules/video_chroma/d3d11_fmt.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/modules/video_chroma/d3d11_fmt.c b/modules/video_chroma/d3d11_fmt.c
index fe50ac84d7..5a321e395d 100644
--- a/modules/video_chroma/d3d11_fmt.c
+++ b/modules/video_chroma/d3d11_fmt.c
@@ -277,6 +277,7 @@ HRESULT D3D11_CreateDevice(vlc_object_t *obj, 
d3d11_handle_t *hd3d,
 msg_Dbg(obj, "Created the D3D11 device 0x%p ctx 0x%p type %d level 
%x.",
 (void *)out->d3ddevice, (void *)out->d3dcontext,
 driverAttempts[driver], i_feature_level);
+D3D11_GetDriverVersion( obj, out );
 #endif
 /* we can work with legacy levels but only if forced */
 if ( obj->obj.force || i_feature_level >= D3D_FEATURE_LEVEL_11_0 )
@@ -291,10 +292,7 @@ HRESULT D3D11_CreateDevice(vlc_object_t *obj, 
d3d11_handle_t *hd3d,
 }
 
 if (SUCCEEDED(hr))
-{
 out->owner = true;
-D3D11_GetDriverVersion(obj, out);
-}
 
 return hr;
 }

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] l10n: Add missing Blu-ray string to NSIS Portuguese translation

2018-02-06 Thread Marvin Scholz
vlc/vlc-3.0 | branch: master | Marvin Scholz  | Mon Feb  5 
23:06:53 2018 +0100| [bba9b7acd7811b280dbae583f979c01f889489ec] | committer: 
Jean-Baptiste Kempf

l10n: Add missing Blu-ray string to NSIS Portuguese translation

(cherry picked from commit bdb571a52ef4cb9383aa5d2fa6cee11a763d675b)
Signed-off-by: Jean-Baptiste Kempf 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=bba9b7acd7811b280dbae583f979c01f889489ec
---

 extras/package/win32/NSIS/languages/PortugueseExtra.nsh | 1 +
 1 file changed, 1 insertion(+)

diff --git a/extras/package/win32/NSIS/languages/PortugueseExtra.nsh 
b/extras/package/win32/NSIS/languages/PortugueseExtra.nsh
index 62c37f7f76..824f35a303 100644
--- a/extras/package/win32/NSIS/languages/PortugueseExtra.nsh
+++ b/extras/package/win32/NSIS/languages/PortugueseExtra.nsh
@@ -39,6 +39,7 @@ ${LangFileString} Action_OnArrivalSVCDMovie "Reproduzir filme 
SVCD"
 ${LangFileString} Action_OnArrivalVideoFiles "Reproduzir ficheiros de vídeo"
 ${LangFileString} Action_OnArrivalMusicFiles "Reproduzir ficheiros de áudio"
 ${LangFileString} Action_OnArrivalDVDAudio "Reproduzir áudio DVD"
+${LangFileString} Action_OnArrivalBluray "Reproduzir Blu-ray"
 ${LangFileString} License_NextText "Agora está ciente dos seus direitos. 
Clique em 'Seguinte' para continuar."
 ${LangFileString} Detail_CheckProcesses "A verificar os processos ..."
 ${LangFileString} MessageBox_VLCRunning "Parece que o VLC está em execução e 
será fechado agora."

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] qt: actions_manager: Don't clear the list of renderers when stopping scan

2018-02-06 Thread Hugo Beauzée-Luyssen
vlc/vlc-3.0 | branch: master | Hugo Beauzée-Luyssen  | Tue Feb 
 6 11:12:18 2018 +0100| [d73c5f7c7d4687781b8c74b2884cab2b81bcd14b] | committer: 
Jean-Baptiste Kempf

qt: actions_manager: Don't clear the list of renderers when stopping scan

(cherry picked from commit c0d32728ebe033eb5c0487cb2e8a61fdf770f4bc)
Signed-off-by: Jean-Baptiste Kempf 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=d73c5f7c7d4687781b8c74b2884cab2b81bcd14b
---

 modules/gui/qt/actions_manager.cpp | 18 +-
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/modules/gui/qt/actions_manager.cpp 
b/modules/gui/qt/actions_manager.cpp
index 89ce44c5fa..efa3044df5 100644
--- a/modules/gui/qt/actions_manager.cpp
+++ b/modules/gui/qt/actions_manager.cpp
@@ -53,6 +53,15 @@ ActionsManager::ActionsManager( intf_thread_t * _p_i )
 ActionsManager::~ActionsManager()
 {
 StopRendererScan();
+/* reset the list of renderers */
+foreach (QAction* action, VLCMenuBar::rendererMenu->actions())
+{
+QVariant data = action->data();
+if (!data.canConvert())
+continue;
+VLCMenuBar::rendererMenu->removeAction(action);
+VLCMenuBar::rendererGroup->removeAction(action);
+}
 }
 
 void ActionsManager::doAction( int id_action )
@@ -344,15 +353,6 @@ void ActionsManager::RendererMenuCountdown()
 
 void ActionsManager::StopRendererScan()
 {
-/* reset the list of renderers */
-foreach (QAction* action, VLCMenuBar::rendererMenu->actions())
-{
-QVariant data = action->data();
-if (!data.canConvert())
-continue;
-VLCMenuBar::rendererMenu->removeAction(action);
-VLCMenuBar::rendererGroup->removeAction(action);
-}
 foreach ( vlc_renderer_discovery_t* p_rd, m_rds )
 vlc_rd_release( p_rd );
 m_rds.clear();

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] l10n: Add missing Blu-ray string to NSIS German translation

2018-02-06 Thread Marvin Scholz
vlc/vlc-3.0 | branch: master | Marvin Scholz  | Mon Feb  5 
23:07:02 2018 +0100| [16d691fac52dddf54031b2a01fb25dfed2233ffd] | committer: 
Jean-Baptiste Kempf

l10n: Add missing Blu-ray string to NSIS German translation

(cherry picked from commit 3c7c271842bc6b325eb8865688f77a014a8ce0ed)
Signed-off-by: Jean-Baptiste Kempf 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=16d691fac52dddf54031b2a01fb25dfed2233ffd
---

 extras/package/win32/NSIS/languages/GermanExtra.nsh | 1 +
 1 file changed, 1 insertion(+)

diff --git a/extras/package/win32/NSIS/languages/GermanExtra.nsh 
b/extras/package/win32/NSIS/languages/GermanExtra.nsh
index 8e9e237698..c5fc9134ff 100644
--- a/extras/package/win32/NSIS/languages/GermanExtra.nsh
+++ b/extras/package/win32/NSIS/languages/GermanExtra.nsh
@@ -39,6 +39,7 @@ ${LangFileString} Action_OnArrivalSVCDMovie "SVCD-Video 
wiedergeben"
 ${LangFileString} Action_OnArrivalVideoFiles "Videodateien wiedergeben"
 ${LangFileString} Action_OnArrivalMusicFiles "Audiodateien wiedergeben"
 ${LangFileString} Action_OnArrivalDVDAudio "Audio-DVD wiedergeben"
+${LangFileString} Action_OnArrivalBluray "Blu-ray wiedergeben"
 ${LangFileString} License_NextText "Jetzt sind Sie über Ihre Rechte 
informiert. Klicken Sie auf Weiter."
 ${LangFileString} Detail_CheckProcesses "Überprüfen der Prozesse..."
 ${LangFileString} MessageBox_VLCRunning "VLC scheint ausgeführt zu werden und 
wird nun geschlossen."

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] chromecast: rework seek

2018-02-06 Thread Thomas Guillem
vlc | branch: master | Thomas Guillem  | Mon Feb  5 18:44:16 
2018 +0100| [82f4830bf59326093f87d9ded6769dfadbbed1c1] | committer: Thomas 
Guillem

chromecast: rework seek

Don't seek from demux filter but from the the sout. Do it only one time for
every stream ids. Pause the httpd server while seeking in order to prevent the
CC to flush valid post flush buffers.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=82f4830bf59326093f87d9ded6769dfadbbed1c1
---

 modules/stream_out/chromecast/cast.cpp | 60 --
 modules/stream_out/chromecast/chromecast.h |  9 +++-
 modules/stream_out/chromecast/chromecast_common.h  |  2 -
 modules/stream_out/chromecast/chromecast_ctrl.cpp  | 30 ++-
 modules/stream_out/chromecast/chromecast_demux.cpp | 54 +--
 5 files changed, 81 insertions(+), 74 deletions(-)

diff --git a/modules/stream_out/chromecast/cast.cpp 
b/modules/stream_out/chromecast/cast.cpp
index 71c5448790..9977ddfdf6 100644
--- a/modules/stream_out/chromecast/cast.cpp
+++ b/modules/stream_out/chromecast/cast.cpp
@@ -47,6 +47,8 @@ struct sout_access_out_sys_t
 vlc_fifo_t*m_fifo;
 block_t   *m_header;
 bool   m_eof;
+bool   m_flushing;
+bool   m_seeking;
 std::stringm_mime;
 
 sout_access_out_sys_t(httpd_host_t *httpd_host, intf_sys_t * const intf,
@@ -55,8 +57,10 @@ struct sout_access_out_sys_t
 
 void clearUnlocked();
 void clear();
+void flush();
 void prepare(sout_stream_t *p_stream, const std::string );
 int url_cb(httpd_client_t *cl, httpd_message_t *answer, const 
httpd_message_t *query);
+void seek_done_cb();
 };
 
 struct sout_stream_sys_t
@@ -312,16 +316,24 @@ static int ProxyOpen(vlc_object_t *p_this)
 static int httpd_url_cb(httpd_callback_sys_t *data, httpd_client_t *cl,
 httpd_message_t *answer, const httpd_message_t *query)
 {
-sout_access_out_sys_t *p_sys = (sout_access_out_sys_t *) data;
+sout_access_out_sys_t *p_sys = reinterpret_cast(data);
 return p_sys->url_cb(cl, answer, query);
 }
 
+static void on_seek_done_cb(void *data)
+{
+sout_access_out_sys_t *p_sys = reinterpret_cast(data);
+p_sys->seek_done_cb();
+}
+
 sout_access_out_sys_t::sout_access_out_sys_t(httpd_host_t *httpd_host,
  intf_sys_t * const intf,
  const char *psz_url)
 : m_intf(intf)
 , m_header(NULL)
 , m_eof(true)
+, m_flushing(false)
+, m_seeking(false)
 {
 m_fifo = block_FifoNew();
 if (!m_fifo)
@@ -362,6 +374,19 @@ void sout_access_out_sys_t::clear()
 vlc_fifo_Signal(m_fifo);
 }
 
+void sout_access_out_sys_t::flush()
+{
+vlc_fifo_Lock(m_fifo);
+block_ChainRelease(vlc_fifo_DequeueAllUnlocked(m_fifo));
+vlc_fifo_Unlock(m_fifo);
+
+m_intf->setPacing(false);
+
+/* Don't seek from here since flush can be called several time (one time
+ * per id). */
+m_flushing = true;
+}
+
 void sout_access_out_sys_t::prepare(sout_stream_t *p_stream, const std::string 
)
 {
 var_SetAddress(p_stream->p_sout, SOUT_CFG_PREFIX "access-out-sys", this);
@@ -370,9 +395,19 @@ void sout_access_out_sys_t::prepare(sout_stream_t 
*p_stream, const std::string &
 clearUnlocked();
 m_mime = mime;
 m_eof = false;
+m_flushing = false;
+m_seeking = false;
 vlc_fifo_Unlock(m_fifo);
 }
 
+void sout_access_out_sys_t::seek_done_cb()
+{
+vlc_fifo_Lock(m_fifo);
+m_seeking = false;
+vlc_fifo_Unlock(m_fifo);
+vlc_fifo_Signal(m_fifo);
+}
+
 int sout_access_out_sys_t::url_cb(httpd_client_t *cl, httpd_message_t *answer,
   const httpd_message_t *query)
 {
@@ -386,6 +421,11 @@ int sout_access_out_sys_t::url_cb(httpd_client_t *cl, 
httpd_message_t *answer,
&& !m_eof)
 vlc_fifo_Wait(m_fifo);
 
+/* Wait for the seek to be done. This will prevent the CC to flush this
+ * buffer that came after a flush. */
+while (m_seeking && !m_eof)
+vlc_fifo_Wait(m_fifo);
+
 /* Handle block headers */
 if (p_block)
 {
@@ -457,6 +497,17 @@ static ssize_t AccessWrite(sout_access_out_t *p_access, 
block_t *p_block)
 
 vlc_fifo_Lock(p_sys->m_fifo);
 
+if (p_sys->m_flushing)
+{
+p_sys->m_flushing = false;
+p_sys->m_seeking = true;
+
+vlc_fifo_Unlock(p_sys->m_fifo);
+/* TODO: put better timestamp */
+p_sys->m_intf->requestPlayerSeek(mdate() + INT64_C(100));
+vlc_fifo_Lock(p_sys->m_fifo);
+}
+
 /* Tell the demux filter to pace when the fifo starts to be full */
 bool do_pace = vlc_fifo_GetBytes(p_sys->m_fifo) >= HTTPD_BUFFER_MAX;
 
@@ -1029,10 +1080,8 @@ static void Flush( sout_stream_t *p_stream, 
sout_stream_id_sys_t *id )
 if ( id == NULL || p_sys->drained )
 return;
 
-/* a seek on the Chromecast flushes 

[vlc-commits] chromecast: don't try to get MEDIA_STATUS when Dead

2018-02-06 Thread Thomas Guillem
vlc | branch: master | Thomas Guillem  | Tue Feb  6 18:16:51 
2018 +0100| [e991434a9f5d607b90e65293267940190612a3bd] | committer: Thomas 
Guillem

chromecast: don't try to get MEDIA_STATUS when Dead

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=e991434a9f5d607b90e65293267940190612a3bd
---

 modules/stream_out/chromecast/chromecast_ctrl.cpp | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/modules/stream_out/chromecast/chromecast_ctrl.cpp 
b/modules/stream_out/chromecast/chromecast_ctrl.cpp
index bc6975f590..d88e651e1e 100644
--- a/modules/stream_out/chromecast/chromecast_ctrl.cpp
+++ b/modules/stream_out/chromecast/chromecast_ctrl.cpp
@@ -596,6 +596,7 @@ void intf_sys_t::processReceiverMessage( const 
castchannel::CastMessage& msg )
 case Seeking:
 case Ready:
 case TakenOver:
+case Dead:
 if ( p_app == NULL )
 {
 msg_Warn( m_module, "Media receiver application got closed." );
@@ -625,6 +626,8 @@ void intf_sys_t::processReceiverMessage( const 
castchannel::CastMessage& msg )
 msg_Err( m_module, "Failed to start the MediaPlayer: %s",
 (const char *)reason);
 vlc_mutex_locker locker(_lock);
+m_appTransportId = "";
+m_mediaSessionId = 0;
 setState( Dead );
 }
 else

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] macosx: renderer: fix NoneItem never disabled

2018-02-06 Thread Thomas Guillem
vlc | branch: master | Thomas Guillem  | Tue Feb  6 16:33:02 
2018 +0100| [894880cf104c5fc282ba11b312906e4974f9d497] | committer: Thomas 
Guillem

macosx: renderer: fix NoneItem never disabled

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=894880cf104c5fc282ba11b312906e4974f9d497
---

 modules/gui/macosx/VLCRendererMenuController.m | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/modules/gui/macosx/VLCRendererMenuController.m 
b/modules/gui/macosx/VLCRendererMenuController.m
index 16514122f6..2650651017 100644
--- a/modules/gui/macosx/VLCRendererMenuController.m
+++ b/modules/gui/macosx/VLCRendererMenuController.m
@@ -153,6 +153,8 @@
 
 - (void)selectRenderer:(NSMenuItem *)sender
 {
+[_rendererNoneItem setState:NSOffState];
+
 [_selectedItem setState:NSOffState];
 [sender setState:NSOnState];
 _selectedItem = sender;

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] macosx: renderer: add unique identifier

2018-02-06 Thread Thomas Guillem
vlc | branch: master | Thomas Guillem  | Tue Feb  6 15:27:23 
2018 +0100| [c8eb4d2469bc7ca8ed9d973d928f74a3272cc34c] | committer: Thomas 
Guillem

macosx: renderer: add unique identifier

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=c8eb4d2469bc7ca8ed9d973d928f74a3272cc34c
---

 modules/gui/macosx/VLCRendererItem.h | 2 ++
 modules/gui/macosx/VLCRendererItem.m | 8 
 2 files changed, 10 insertions(+)

diff --git a/modules/gui/macosx/VLCRendererItem.h 
b/modules/gui/macosx/VLCRendererItem.h
index 421c88a42c..3660b90eb0 100644
--- a/modules/gui/macosx/VLCRendererItem.h
+++ b/modules/gui/macosx/VLCRendererItem.h
@@ -49,6 +49,8 @@
  */
 - (NSString*)name;
 
+- (NSString*)identifier;
+
 /**
  The iconURI of the renderer item
  */
diff --git a/modules/gui/macosx/VLCRendererItem.m 
b/modules/gui/macosx/VLCRendererItem.m
index 428929afb6..fedce35933 100644
--- a/modules/gui/macosx/VLCRendererItem.m
+++ b/modules/gui/macosx/VLCRendererItem.m
@@ -55,6 +55,14 @@
 return [NSString stringWithUTF8String:name];
 }
 
+- (NSString*)identifier
+{
+const char *sout = vlc_renderer_item_sout(_rendererItem);
+if (!sout)
+return nil;
+return [NSString stringWithUTF8String:sout];
+}
+
 - (NSString*)iconURI
 {
 const char *uri = vlc_renderer_item_icon_uri(_rendererItem);

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] macosx: renderer: keep selected item

2018-02-06 Thread Thomas Guillem
vlc | branch: master | Thomas Guillem  | Tue Feb  6 16:30:39 
2018 +0100| [35e7089a2758aaa8b66aa865bce341860714c6d1] | committer: Thomas 
Guillem

macosx: renderer: keep selected item

Don't remove the selected item when the discoverer is closed (and don't stop
the CC session).

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=35e7089a2758aaa8b66aa865bce341860714c6d1
---

 modules/gui/macosx/VLCRendererMenuController.m | 18 ++
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/modules/gui/macosx/VLCRendererMenuController.m 
b/modules/gui/macosx/VLCRendererMenuController.m
index 411a5b9125..16514122f6 100644
--- a/modules/gui/macosx/VLCRendererMenuController.m
+++ b/modules/gui/macosx/VLCRendererMenuController.m
@@ -96,6 +96,17 @@
 
 - (void)addRendererItem:(VLCRendererItem *)item
 {
+// Check if the item is already selected
+if (_selectedItem.representedObject != nil)
+{
+VLCRendererItem *selected_rd_item = _selectedItem.representedObject;
+if ([selected_rd_item.identifier isEqualToString:item.identifier])
+{
+[_selectedItem setRepresentedObject:item];
+return;
+}
+}
+
 // Create a menu item
 NSMenuItem *menuItem = [[NSMenuItem alloc] initWithTitle:item.name
   
action:@selector(selectRenderer:)
@@ -110,10 +121,9 @@
 NSInteger index = [_rendererMenu indexOfItemWithRepresentedObject:item];
 if (index != NSNotFound) {
 NSMenuItem *menuItem = [_rendererMenu itemAtIndex:index];
-if (menuItem == _selectedItem) {
-[self selectRenderer:_rendererNoneItem];
-}
-[_rendererMenu removeItemAtIndex:index];
+// Don't remove selected item
+if (menuItem != _selectedItem)
+[_rendererMenu removeItemAtIndex:index];
 }
 }
 

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] lua SD: don't distribute borken services

2018-02-06 Thread Jean-Baptiste Kempf
vlc | branch: master | Jean-Baptiste Kempf  | Tue Feb  6 
15:31:25 2018 +0100| [b41fa338d51d449c470fe39473ad65fdf6826f0c] | committer: 
Jean-Baptiste Kempf

lua SD: don't distribute borken services

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=b41fa338d51d449c470fe39473ad65fdf6826f0c
---

 share/Makefile.am | 2 --
 1 file changed, 2 deletions(-)

diff --git a/share/Makefile.am b/share/Makefile.am
index 36ba5a63f6..44c5c75f7c 100644
--- a/share/Makefile.am
+++ b/share/Makefile.am
@@ -153,9 +153,7 @@ nobase_vlclib_DATA += \
lua/playlist/vocaroo.luac \
lua/playlist/youtube.luac \
lua/playlist/twitch.luac \
-   lua/sd/fmc.luac \
lua/sd/icecast.luac \
-   lua/sd/icast.luac \
lua/sd/jamendo.luac \
$(NULL)
 

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] chromecast: reduce http fifo size

2018-02-06 Thread Thomas Guillem
vlc | branch: master | Thomas Guillem  | Tue Feb  6 11:01:08 
2018 +0100| [2a8ff4d91b77c0f727ef98be83b647bcb07df04e] | committer: Thomas 
Guillem

chromecast: reduce http fifo size

We can reduce it since the input is now paced.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=2a8ff4d91b77c0f727ef98be83b647bcb07df04e
---

 modules/stream_out/chromecast/cast.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/modules/stream_out/chromecast/cast.cpp 
b/modules/stream_out/chromecast/cast.cpp
index c134d2a79e..71c5448790 100644
--- a/modules/stream_out/chromecast/cast.cpp
+++ b/modules/stream_out/chromecast/cast.cpp
@@ -203,7 +203,7 @@ static const char *const conversion_quality_list_text[] = {
 #define PORT_TEXT N_("Chromecast port")
 #define PORT_LONGTEXT N_("The port used to talk to the Chromecast.")
 
-#define HTTPD_BUFFER_MAX INT64_C(32 * 1024 * 1024) /* 32 MB */
+#define HTTPD_BUFFER_MAX INT64_C(16 * 1024 * 1024) /* 16 MB */
 
 vlc_module_begin ()
 

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] chromecast: don't restart httpd file art server

2018-02-06 Thread Thomas Guillem
vlc | branch: master | Thomas Guillem  | Tue Feb  6 09:51:19 
2018 +0100| [894843621e0629712d84589bc75be2a8817b9247] | committer: Thomas 
Guillem

chromecast: don't restart httpd file art server

The httpd_file instance share the same lock than the httpd_url instance used by
the sout (ugly) and was causing deadlock. Create/destroy the file server on
constructor/desctructor before/after creating the cc thread.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=894843621e0629712d84589bc75be2a8817b9247
---

 modules/stream_out/chromecast/chromecast.h|  1 -
 modules/stream_out/chromecast/chromecast_ctrl.cpp | 95 +--
 2 files changed, 38 insertions(+), 58 deletions(-)

diff --git a/modules/stream_out/chromecast/chromecast.h 
b/modules/stream_out/chromecast/chromecast.h
index 781bc1d29d..9918b6e02a 100644
--- a/modules/stream_out/chromecast/chromecast.h
+++ b/modules/stream_out/chromecast/chromecast.h
@@ -249,7 +249,6 @@ private:
 httpd_file_t *m_httpd_file;
 std::string   m_art_http_ip;
 char *m_art_url;
-stream_t *m_art_stream;
 
 /* local date when playback started/resumed, used by monotone clock */
 mtime_t   m_time_playback_started;
diff --git a/modules/stream_out/chromecast/chromecast_ctrl.cpp 
b/modules/stream_out/chromecast/chromecast_ctrl.cpp
index 8130991f38..486336324a 100644
--- a/modules/stream_out/chromecast/chromecast_ctrl.cpp
+++ b/modules/stream_out/chromecast/chromecast_ctrl.cpp
@@ -44,6 +44,9 @@
 #define PING_WAIT_TIME 6000
 #define PING_WAIT_RETRIES 1
 
+static int httpd_file_fill_cb( httpd_file_sys_t *data, httpd_file_t *http_file,
+  uint8_t *psz_request, uint8_t **pp_data, int 
*pi_data );
+
 static const mtime_t SEEK_FORWARD_OFFSET = 100;
 
 static const char* StateToStr( States s )
@@ -98,9 +101,7 @@ intf_sys_t::intf_sys_t(vlc_object_t * const p_this, int 
port, std::string device
  , m_meta( NULL )
  , m_ctl_thread_interrupt(p_interrupt)
  , m_httpd_host(httpd_host)
- , m_httpd_file(NULL)
  , m_art_url(NULL)
- , m_art_stream(NULL)
  , m_time_playback_started( VLC_TS_INVALID )
  , m_ts_local_start( VLC_TS_INVALID )
  , m_length( VLC_TS_INVALID )
@@ -109,6 +110,10 @@ intf_sys_t::intf_sys_t(vlc_object_t * const p_this, int 
port, std::string device
 vlc_mutex_init(_lock);
 vlc_cond_init( _stateChangedCond );
 
+const char *psz_artmime = "application/octet-stream";
+m_httpd_file = httpd_FileNew( m_httpd_host, "/art", psz_artmime, NULL, 
NULL,
+  httpd_file_fill_cb, (httpd_file_sys_t *) 
this );
+
 std::stringstream ss;
 ss << "http://; << m_communication.getServerIp() << ":" << port;
 m_art_http_ip = ss.str();
@@ -172,8 +177,8 @@ intf_sys_t::~intf_sys_t()
 
 if( m_httpd_file )
 httpd_FileDelete( m_httpd_file );
-if( m_art_stream )
-vlc_stream_Delete( m_art_stream );
+
+free( m_art_url );
 
 vlc_cond_destroy(_stateChangedCond);
 vlc_mutex_destroy(_lock);
@@ -183,19 +188,39 @@ int intf_sys_t::httpd_file_fill( uint8_t *psz_request, 
uint8_t **pp_data, int *p
 {
 (void) psz_request;
 
-if( vlc_stream_Seek( m_art_stream, 0 ) )
+vlc_mutex_lock( _lock );
+if( !m_art_url )
+{
+vlc_mutex_unlock( _lock );
+return VLC_EGENERIC;
+}
+char *psz_art = strdup( m_art_url );
+vlc_mutex_unlock( _lock );
+
+stream_t *s = vlc_stream_NewURL( m_module, psz_art );
+free( psz_art );
+if( !s )
 return VLC_EGENERIC;
 
 uint64_t size;
-if( vlc_stream_GetSize( m_art_stream,  ) != VLC_SUCCESS
+if( vlc_stream_GetSize( s,  ) != VLC_SUCCESS
  || size > INT64_C( 1000 ) )
+{
+msg_Warn( m_module, "art stream is too big or invalid" );
+vlc_stream_Delete( s );
 return VLC_EGENERIC;
+}
 
 *pp_data = (uint8_t *)malloc( size );
 if( !*pp_data )
+{
+vlc_stream_Delete( s );
 return VLC_EGENERIC;
+}
+
+ssize_t read = vlc_stream_Read( s, *pp_data, size );
+vlc_stream_Delete( s );
 
-ssize_t read = vlc_stream_Read( m_art_stream, *pp_data, size );
 if( read < 0 || (size_t)read != size )
 {
 free( *pp_data );
@@ -217,49 +242,16 @@ static int httpd_file_fill_cb( httpd_file_sys_t *data, 
httpd_file_t *http_file,
 
 void intf_sys_t::prepareHttpArtwork()
 {
-const char *psz_art = m_meta ? vlc_meta_Get( m_meta, vlc_meta_ArtworkURL ) 
: NULL;
-/* Abort if there is no art or if the art is already served */
-if( !psz_art || strncmp( psz_art, "http", 4) == 0
- || ( m_art_url && strcmp( psz_art, m_art_url ) == 0 ) )
-return;
-
-if( m_httpd_file )
-{
-httpd_FileDelete( m_httpd_file );
-m_httpd_file = NULL;
-}
-if( m_art_stream )
-{
-vlc_stream_Delete( m_art_stream );
-m_art_stream = NULL;
-}
-
-m_art_stream = vlc_stream_NewURL( m_module, psz_art );
-if( 

[vlc-commits] chromecast: rename isPlaying to isStatePlaying

2018-02-06 Thread Thomas Guillem
vlc | branch: master | Thomas Guillem  | Tue Feb  6 08:56:45 
2018 +0100| [716ab2af8b7223fe648e5969ef36d7be883abbdf] | committer: Thomas 
Guillem

chromecast: rename isPlaying to isStatePlaying

And set it private.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=716ab2af8b7223fe648e5969ef36d7be883abbdf
---

 modules/stream_out/chromecast/chromecast.h|  2 +-
 modules/stream_out/chromecast/chromecast_ctrl.cpp | 10 +-
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/modules/stream_out/chromecast/chromecast.h 
b/modules/stream_out/chromecast/chromecast.h
index 4f0ecd9300..61389d681f 100644
--- a/modules/stream_out/chromecast/chromecast.h
+++ b/modules/stream_out/chromecast/chromecast.h
@@ -165,7 +165,6 @@ struct intf_sys_t
 bool isFinishedPlaying();
 
 void setHasInput(const std::string mime_type = "");
-bool isPlaying() const;
 
 void requestPlayerSeek(mtime_t pos);
 void requestPlayerStop();
@@ -182,6 +181,7 @@ private:
 void queueMessage( QueueableMessages msg );
 
 void setPauseState(bool paused);
+bool isStatePlaying() const;
 
 void setMeta( vlc_meta_t *p_meta );
 
diff --git a/modules/stream_out/chromecast/chromecast_ctrl.cpp 
b/modules/stream_out/chromecast/chromecast_ctrl.cpp
index dad14c0334..b1f14c7051 100644
--- a/modules/stream_out/chromecast/chromecast_ctrl.cpp
+++ b/modules/stream_out/chromecast/chromecast_ctrl.cpp
@@ -297,7 +297,7 @@ void intf_sys_t::setHasInput( const std::string mime_type )
 m_eof = false;
 }
 
-bool intf_sys_t::isPlaying() const
+bool intf_sys_t::isStatePlaying() const
 {
 switch( m_state )
 {
@@ -382,7 +382,7 @@ void intf_sys_t::mainLoop()
 switch ( msg )
 {
 case Stop:
-if( isPlaying() )
+if( isStatePlaying() )
 {
 if ( m_mediaSessionId == 0 )
 m_request_stop = true;
@@ -395,7 +395,7 @@ void intf_sys_t::mainLoop()
 break;
 case Seek:
 {
-if( !isPlaying() || m_mediaSessionId == 0 )
+if( !isStatePlaying() || m_mediaSessionId == 0 )
 break;
 char current_time[32];
 mtime_t seek_request_time = mdate() + SEEK_FORWARD_OFFSET;
@@ -824,7 +824,7 @@ void intf_sys_t::requestPlayerStop()
 m_art_stream = NULL;
 }
 
-if( !isPlaying() )
+if( !isStatePlaying() )
 return;
 
 queueMessage( Stop );
@@ -839,7 +839,7 @@ States intf_sys_t::state() const
 void intf_sys_t::requestPlayerSeek(mtime_t pos)
 {
 vlc_mutex_locker locker(_lock);
-if( !isPlaying() || m_mediaSessionId == 0 )
+if( !isStatePlaying() || m_mediaSessionId == 0 )
 return;
 if ( pos != VLC_TS_INVALID )
 m_ts_local_start = pos;

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] chromecast: load input asynchronously

2018-02-06 Thread Thomas Guillem
vlc | branch: master | Thomas Guillem  | Tue Feb  6 09:04:27 
2018 +0100| [341dc6dd25a13d8ffcb6cba7b454e17b9d5d7e8b] | committer: Thomas 
Guillem

chromecast: load input asynchronously

setHasInput() is now non-blocking. It was called from the sout chain and could
deadlock (no interrupt context) in case of connectivity issue.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=341dc6dd25a13d8ffcb6cba7b454e17b9d5d7e8b
---

 modules/stream_out/chromecast/chromecast.h|  3 +
 modules/stream_out/chromecast/chromecast_ctrl.cpp | 84 ++-
 2 files changed, 71 insertions(+), 16 deletions(-)

diff --git a/modules/stream_out/chromecast/chromecast.h 
b/modules/stream_out/chromecast/chromecast.h
index 61389d681f..781bc1d29d 100644
--- a/modules/stream_out/chromecast/chromecast.h
+++ b/modules/stream_out/chromecast/chromecast.h
@@ -182,6 +182,8 @@ private:
 
 void setPauseState(bool paused);
 bool isStatePlaying() const;
+bool isStateReady() const;
+void tryLoad();
 
 void setMeta( vlc_meta_t *p_meta );
 
@@ -236,6 +238,7 @@ private:
 std::queue m_msgQueue;
 States m_state;
 bool m_request_stop;
+bool m_request_load;
 bool m_eof;
 
 vlc_meta_t *m_meta;
diff --git a/modules/stream_out/chromecast/chromecast_ctrl.cpp 
b/modules/stream_out/chromecast/chromecast_ctrl.cpp
index b1f14c7051..8130991f38 100644
--- a/modules/stream_out/chromecast/chromecast_ctrl.cpp
+++ b/modules/stream_out/chromecast/chromecast_ctrl.cpp
@@ -93,6 +93,7 @@ intf_sys_t::intf_sys_t(vlc_object_t * const p_this, int port, 
std::string device
  , m_communication( p_this, device_addr.c_str(), device_port )
  , m_state( Authenticating )
  , m_request_stop( false )
+ , m_request_load( false )
  , m_eof( false )
  , m_meta( NULL )
  , m_ctl_thread_interrupt(p_interrupt)
@@ -265,6 +266,38 @@ void intf_sys_t::prepareHttpArtwork()
 vlc_meta_Set( m_meta, vlc_meta_ArtworkURL, ss.str().c_str() );
 }
 
+void intf_sys_t::tryLoad()
+{
+if( !m_request_load )
+return;
+
+if ( !isStateReady() )
+{
+if ( m_state == Dead )
+{
+msg_Warn( m_module, "no Chromecast hook possible");
+m_request_load = false;
+}
+else if( m_state == Connected )
+{
+msg_Dbg( m_module, "Starting the media receiver application" );
+// Don't use setState as we don't want to signal the condition in 
this case.
+m_state = Launching;
+m_communication.msgReceiverLaunchApp();
+}
+return;
+}
+
+m_request_load = false;
+
+// We should now be in the ready state, and therefor have a valid 
transportId
+assert( m_appTransportId.empty() == false );
+// Reset the mediaSessionID to allow the new session to become the current 
one.
+// we cannot start a new load when the last one is still processing
+m_communication.msgPlayerLoad( m_appTransportId, m_streaming_port, m_mime, 
m_meta );
+m_state = Loading;
+}
+
 void intf_sys_t::setHasInput( const std::string mime_type )
 {
 vlc_mutex_locker locker(_lock);
@@ -278,23 +311,14 @@ void intf_sys_t::setHasInput( const std::string mime_type 
)
 std::queue empty;
 std::swap(m_msgQueue, empty);
 
-waitAppStarted();
-if ( m_state == Dead )
-{
-msg_Warn( m_module, "no Chromecast hook possible");
-return;
-}
-
 prepareHttpArtwork();
 
-// We should now be in the ready state, and therefor have a valid 
transportId
-assert( m_appTransportId.empty() == false );
-// Reset the mediaSessionID to allow the new session to become the current 
one.
-m_mediaSessionId = 0;
-// we cannot start a new load when the last one is still processing
-m_communication.msgPlayerLoad( m_appTransportId, m_streaming_port, 
mime_type, m_meta );
-setState( Loading );
 m_eof = false;
+m_mediaSessionId = 0;
+m_request_load = true;
+
+tryLoad();
+vlc_cond_signal( _stateChangedCond );
 }
 
 bool intf_sys_t::isStatePlaying() const
@@ -312,6 +336,22 @@ bool intf_sys_t::isStatePlaying() const
 }
 }
 
+bool intf_sys_t::isStateReady() const
+{
+switch( m_state )
+{
+case Connected:
+case Launching:
+case Authenticating:
+case Connecting:
+case Stopping:
+case Dead:
+return false;
+default:
+return true;
+}
+}
+
 /**
  * @brief Process a message received from the Chromecast
  * @param msg the CastMessage to process
@@ -498,8 +538,8 @@ void intf_sys_t::processReceiverMessage( const 
castchannel::CastMessage& msg )
 {
 msg_Dbg( m_module, "Media receiver application was already 
running" );
 m_appTransportId = (const char*)(*p_app)["transportId"];
-setState( Ready );
 m_communication.msgConnect( m_appTransportId );
+setState( Ready );
 }
 

[vlc-commits] chromecast: rework demux pacing

2018-02-06 Thread Thomas Guillem
vlc | branch: master | Thomas Guillem  | Tue Feb  6 09:17:16 
2018 +0100| [3a1519245d771f2804832bbddc37f6f38f2aa1f8] | committer: Thomas 
Guillem

chromecast: rework demux pacing

Pace demux only when the httpd fifo starts to be full.

Replace seek/app_start wait methods by pace() that is interruptible. This fixes
possible deadlock in case of connectivity issue.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=3a1519245d771f2804832bbddc37f6f38f2aa1f8
---

 modules/stream_out/chromecast/cast.cpp | 31 ++--
 modules/stream_out/chromecast/chromecast.h | 10 ++-
 modules/stream_out/chromecast/chromecast_common.h  |  3 +-
 modules/stream_out/chromecast/chromecast_ctrl.cpp  | 91 +++---
 modules/stream_out/chromecast/chromecast_demux.cpp | 23 +-
 5 files changed, 82 insertions(+), 76 deletions(-)

diff --git a/modules/stream_out/chromecast/cast.cpp 
b/modules/stream_out/chromecast/cast.cpp
index 7dd2705f70..c134d2a79e 100644
--- a/modules/stream_out/chromecast/cast.cpp
+++ b/modules/stream_out/chromecast/cast.cpp
@@ -42,13 +42,15 @@
 
 struct sout_access_out_sys_t
 {
+intf_sys_t * const m_intf;
 httpd_url_t   *m_url;
 vlc_fifo_t*m_fifo;
 block_t   *m_header;
 bool   m_eof;
 std::stringm_mime;
 
-sout_access_out_sys_t(httpd_host_t *httpd_host, const char *psz_url);
+sout_access_out_sys_t(httpd_host_t *httpd_host, intf_sys_t * const intf,
+  const char *psz_url);
 ~sout_access_out_sys_t();
 
 void clearUnlocked();
@@ -62,7 +64,7 @@ struct sout_stream_sys_t
 sout_stream_sys_t(httpd_host_t *httpd_host, intf_sys_t * const intf, bool 
has_video, int port,
   const char *psz_default_muxer, const char 
*psz_default_mime)
 : httpd_host(httpd_host)
-, access_out_live(httpd_host, "/stream")
+, access_out_live(httpd_host, intf, "/stream")
 , p_out(NULL)
 , default_muxer(psz_default_muxer)
 , default_mime(psz_default_mime)
@@ -314,8 +316,11 @@ static int httpd_url_cb(httpd_callback_sys_t *data, 
httpd_client_t *cl,
 return p_sys->url_cb(cl, answer, query);
 }
 
-sout_access_out_sys_t::sout_access_out_sys_t(httpd_host_t *httpd_host, const 
char *psz_url)
-: m_header(NULL)
+sout_access_out_sys_t::sout_access_out_sys_t(httpd_host_t *httpd_host,
+ intf_sys_t * const intf,
+ const char *psz_url)
+: m_intf(intf)
+, m_header(NULL)
 , m_eof(true)
 {
 m_fifo = block_FifoNew();
@@ -402,8 +407,12 @@ int sout_access_out_sys_t::url_cb(httpd_client_t *cl, 
httpd_message_t *answer,
 }
 }
 }
+bool do_unpace = vlc_fifo_GetBytes(m_fifo) < HTTPD_BUFFER_MAX;
 vlc_fifo_Unlock(m_fifo);
 
+if (do_unpace)
+m_intf->setPacing(false);
+
 answer->i_proto  = HTTPD_PROTO_HTTP;
 answer->i_version= 0;
 answer->i_type   = HTTPD_MSG_ANSWER;
@@ -448,7 +457,11 @@ static ssize_t AccessWrite(sout_access_out_t *p_access, 
block_t *p_block)
 
 vlc_fifo_Lock(p_sys->m_fifo);
 
-while (vlc_fifo_GetBytes(p_sys->m_fifo) >= HTTPD_BUFFER_MAX)
+/* Tell the demux filter to pace when the fifo starts to be full */
+bool do_pace = vlc_fifo_GetBytes(p_sys->m_fifo) >= HTTPD_BUFFER_MAX;
+
+/* Drop buffer is the fifo is really full */
+while (vlc_fifo_GetBytes(p_sys->m_fifo) >= (HTTPD_BUFFER_MAX * 2))
 {
 block_t *p_drop = vlc_fifo_DequeueUnlocked(p_sys->m_fifo);
 msg_Warn(p_access, "httpd buffer full: dropping %zuB", 
p_drop->i_buffer);
@@ -459,6 +472,9 @@ static ssize_t AccessWrite(sout_access_out_t *p_access, 
block_t *p_block)
 vlc_fifo_Unlock(p_sys->m_fifo);
 vlc_fifo_Signal(p_sys->m_fifo);
 
+if (do_pace)
+p_sys->m_intf->setPacing(true);
+
 return i_len;
 }
 
@@ -504,6 +520,8 @@ static void AccessClose(vlc_object_t *p_this)
 p_sys->m_eof = true;
 vlc_fifo_Unlock(p_sys->m_fifo);
 vlc_fifo_Signal(p_sys->m_fifo);
+
+p_sys->m_intf->setPacing(false);
 }
 
 /*
@@ -1180,8 +1198,9 @@ static void Close(vlc_object_t *p_this)
 assert(p_sys->streams.empty() && p_sys->out_streams.empty());
 
 httpd_host_t *httpd_host = p_sys->httpd_host;
-delete p_sys->p_intf;
+intf_sys_t *p_intf = p_sys->p_intf;
 delete p_sys;
+delete p_intf;
 /* Delete last since p_intf and p_sys depends on httpd_host */
 httpd_HostDelete(httpd_host);
 }
diff --git a/modules/stream_out/chromecast/chromecast.h 
b/modules/stream_out/chromecast/chromecast.h
index 9918b6e02a..cb0b6b3b23 100644
--- a/modules/stream_out/chromecast/chromecast.h
+++ b/modules/stream_out/chromecast/chromecast.h
@@ -170,7 +170,11 @@ struct intf_sys_t
 void requestPlayerStop();
 States state() const;
 
+void setPacing(bool do_pace);
+void 

[vlc-commits] qt: actions_manager: Don't clear the list of renderers when stopping scan

2018-02-06 Thread Hugo Beauzée-Luyssen
vlc | branch: master | Hugo Beauzée-Luyssen  | Tue Feb  6 
11:12:18 2018 +0100| [c0d32728ebe033eb5c0487cb2e8a61fdf770f4bc] | committer: 
Hugo Beauzée-Luyssen

qt: actions_manager: Don't clear the list of renderers when stopping scan

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=c0d32728ebe033eb5c0487cb2e8a61fdf770f4bc
---

 modules/gui/qt/actions_manager.cpp | 18 +-
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/modules/gui/qt/actions_manager.cpp 
b/modules/gui/qt/actions_manager.cpp
index b219eb0759..e614e424d0 100644
--- a/modules/gui/qt/actions_manager.cpp
+++ b/modules/gui/qt/actions_manager.cpp
@@ -53,6 +53,15 @@ ActionsManager::ActionsManager( intf_thread_t * _p_i )
 ActionsManager::~ActionsManager()
 {
 StopRendererScan();
+/* reset the list of renderers */
+foreach (QAction* action, VLCMenuBar::rendererMenu->actions())
+{
+QVariant data = action->data();
+if (!data.canConvert())
+continue;
+VLCMenuBar::rendererMenu->removeAction(action);
+VLCMenuBar::rendererGroup->removeAction(action);
+}
 }
 
 void ActionsManager::doAction( int id_action )
@@ -344,15 +353,6 @@ void ActionsManager::RendererMenuCountdown()
 
 void ActionsManager::StopRendererScan()
 {
-/* reset the list of renderers */
-foreach (QAction* action, VLCMenuBar::rendererMenu->actions())
-{
-QVariant data = action->data();
-if (!data.canConvert())
-continue;
-VLCMenuBar::rendererMenu->removeAction(action);
-VLCMenuBar::rendererGroup->removeAction(action);
-}
 foreach ( vlc_renderer_discovery_t* p_rd, m_rds )
 vlc_rd_release( p_rd );
 m_rds.clear();

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] d3d11_fmt: log the diver version even when the feature level is wrong

2018-02-06 Thread Steve Lhomme
vlc | branch: master | Steve Lhomme  | Mon Feb  5 16:49:52 
2018 +0100| [5ca1c04bb5a35dd73a321fcfca7bdb639327012b] | committer: Steve Lhomme

d3d11_fmt: log the diver version even when the feature level is wrong

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=5ca1c04bb5a35dd73a321fcfca7bdb639327012b
---

 modules/video_chroma/d3d11_fmt.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/modules/video_chroma/d3d11_fmt.c b/modules/video_chroma/d3d11_fmt.c
index fe50ac84d7..5a321e395d 100644
--- a/modules/video_chroma/d3d11_fmt.c
+++ b/modules/video_chroma/d3d11_fmt.c
@@ -277,6 +277,7 @@ HRESULT D3D11_CreateDevice(vlc_object_t *obj, 
d3d11_handle_t *hd3d,
 msg_Dbg(obj, "Created the D3D11 device 0x%p ctx 0x%p type %d level 
%x.",
 (void *)out->d3ddevice, (void *)out->d3dcontext,
 driverAttempts[driver], i_feature_level);
+D3D11_GetDriverVersion( obj, out );
 #endif
 /* we can work with legacy levels but only if forced */
 if ( obj->obj.force || i_feature_level >= D3D_FEATURE_LEVEL_11_0 )
@@ -291,10 +292,7 @@ HRESULT D3D11_CreateDevice(vlc_object_t *obj, 
d3d11_handle_t *hd3d,
 }
 
 if (SUCCEEDED(hr))
-{
 out->owner = true;
-D3D11_GetDriverVersion(obj, out);
-}
 
 return hr;
 }

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] avcodec: log each decoder format we try to use

2018-02-06 Thread Steve Lhomme
vlc | branch: master | Steve Lhomme  | Tue Feb  6 09:19:05 
2018 +0100| [5762aec06e63a9c4096daa07bfe63c68a2285521] | committer: Steve Lhomme

avcodec: log each decoder format we try to use

Otherwise it's hard to tell when different hardware acceleration & CPU formats.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=5762aec06e63a9c4096daa07bfe63c68a2285521
---

 modules/codec/avcodec/video.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/modules/codec/avcodec/video.c b/modules/codec/avcodec/video.c
index 3e9601eed9..a23b38ce90 100644
--- a/modules/codec/avcodec/video.c
+++ b/modules/codec/avcodec/video.c
@@ -1603,6 +1603,8 @@ static enum PixelFormat ffmpeg_GetFormat( AVCodecContext 
*p_context,
 msg_Err(p_dec, "unspecified video dimensions");
 continue;
 }
+const AVPixFmtDescriptor *dsc = av_pix_fmt_desc_get(hwfmt);
+msg_Dbg(p_dec, "trying format %s", dsc ? dsc->name : "unknown");
 if (lavc_UpdateVideoFormat(p_dec, p_context, hwfmt, swfmt))
 continue; /* Unsupported brand of hardware acceleration */
 post_mt(p_sys);

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits


[vlc-commits] securetransport: Add mode to ignore untrusted certificates

2018-02-06 Thread David Fuhrmann
vlc/vlc-3.0 | branch: master | David Fuhrmann  | Sun 
Feb  4 16:13:50 2018 +0100| [640a0f99be6b83758fb4dd87ed8734cb6297675d] | 
committer: Thomas Guillem

securetransport: Add mode to ignore untrusted certificates

This is a workaround only for chromecast and only for the 3.0
branch.

Signed-off-by: Thomas Guillem 

> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=640a0f99be6b83758fb4dd87ed8734cb6297675d
---

 modules/misc/securetransport.c | 10 --
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/modules/misc/securetransport.c b/modules/misc/securetransport.c
index 74d4b9cdc7..3a6acba65f 100644
--- a/modules/misc/securetransport.c
+++ b/modules/misc/securetransport.c
@@ -221,7 +221,7 @@ static OSStatus st_SocketWriteFunc (SSLConnectionRef 
connection,
 return retValue;
 }
 
-static int st_validateServerCertificate (vlc_tls_t *session, const char 
*hostname) {
+static int st_validateServerCertificate (vlc_tls_t *session, vlc_tls_creds_t 
*cred, const char *hostname) {
 
 vlc_tls_st_t *sys = (vlc_tls_st_t *)session;
 int result = -1;
@@ -269,6 +269,12 @@ static int st_validateServerCertificate (vlc_tls_t 
*session, const char *hostnam
 msg_Warn(sys->obj, "cerfificate verification failed, result is 
%d", trust_eval_result);
 }
 
+if (cred->obj.flags & OBJECT_FLAGS_INSECURE) {
+msg_Warn(sys->obj, "Accepting untrusted certificate, this is very 
insecure!");
+result = 0;
+goto out;
+}
+
 /* get leaf certificate */
 /* SSLCopyPeerCertificates is only available on OSX 10.5 or later */
 #if !TARGET_OS_IPHONE
@@ -402,7 +408,7 @@ static int st_Handshake (vlc_tls_creds_t *crd, vlc_tls_t 
*session,
 
 switch (retValue) {
 case noErr:
-if (sys->b_server_mode == false && 
st_validateServerCertificate(session, host) != 0) {
+if (sys->b_server_mode == false && 
st_validateServerCertificate(session, crd, host) != 0) {
 return -1;
 }
 msg_Dbg(crd, "handshake completed successfully");

___
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits