Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • videolan/vlc
  • chouquette/vlc
  • bakiewicz.marek122/vlc
  • devnexen/vlc
  • rohanrajpal/vlc
  • blurrrb/vlc
  • gsoc/gsoc2019/darkapex/vlc
  • b1ue/vlc
  • fkuehne/vlc
  • magsoft/vlc
  • chub/vlc
  • cramiro9/vlc
  • robUx4/vlc
  • rom1v/vlc
  • akshayaky/vlc
  • tmk907/vlc
  • akymaster/vlc
  • govind.sharma/vlc
  • psilokos/vlc
  • xjbeta/vlc
  • jahan/vlc
  • 1480c1/vlc
  • amanchande/vlc
  • aaqib/vlc
  • rist/vlc
  • apol/vlc
  • mindfreeze/vlc
  • alexandre-janniaux/vlc
  • sandsmark/vlc
  • jagannatharjun/vlc
  • gsoc/gsoc2020/matiaslgonzalez/vlc
  • gsoc/gsoc2020/jagannatharjun/vlc
  • mstorsjo/vlc
  • gsoc/gsoc2020/vedenta/vlc
  • gsoc/gsoc2020/arnav-ishaan/vlc
  • gsoc/gsoc2020/andreduong/vlc
  • fuzun/vlc
  • gsoc/gsoc2020/vatsin/vlc
  • gsoc/gsoc2020/sagid/vlc
  • yaron/vlc
  • Phoenix/vlc
  • Garf/vlc
  • ePiratWorkarounds/vlc
  • tguillem/vlc
  • jnqnfe/vlc
  • mdc/vlc
  • Vedaa/vlc
  • rasa/vlc
  • quink/vlc
  • yealo/vlc
  • aleksey_ak/vlc
  • ePirat/vlc
  • ilya.yanok/vlc
  • asenat/vlc
  • m/vlc
  • bunjee/vlc
  • BLumia/vlc
  • sagudev/vlc
  • hamedmonji30/vlc
  • nullgemm/vlc
  • DivyamAhuja/vlc
  • thesamesam/vlc
  • dag7/vlc
  • snehil101/vlc
  • haasn/vlc
  • jbk/vlc
  • ValZapod/vlc
  • mfkl/vlc
  • WangChuan/vlc
  • core1024/vlc
  • GhostVaibhav/vlc
  • dfuhrmann/vlc
  • davide.prade/vlc
  • tmatth/vlc
  • Courmisch/vlc
  • zouya/vlc
  • hpi/vlc
  • EwoutH/vlc
  • aleung27/vlc
  • hengwu0/vlc
  • saladin/vlc
  • ashuio/vlc
  • richselwood/vlc
  • verma16Ayush/vlc
  • chemicalflash/vlc
  • PoignardAzur/vlc
  • huangjieNT/vlc
  • Blake-Haydon/vlc
  • AnuthaDev/vlc
  • gsoc/gsoc2021/mpd/vlc
  • nicolas_lequec/vlc
  • sambassaly/vlc
  • thresh/vlc
  • bonniegong/vlc
  • myaashish/vlc
  • stavros.vagionitis/vlc
  • ileoo/vlc
  • louis-santucci/vlc
  • cchristiansen/vlc
  • sabyasachi07/vlc
  • AbduAmeen/vlc
  • ashishb0410/vlc
  • urbanhusky/vlc
  • davidepietrasanta/vlc
  • riksleutelstad/vlc
  • jeremyVignelles/vlc
  • komh/vlc
  • iamjithinjohn/vlc
  • JohannesKauffmann/vlc2
  • kunglao/vlc
  • natzberg/vlc
  • jill/vlc
  • cwendling/vlc
  • adufou/vlc
  • ErwanAirone/vlc
  • HasinduDilshan10/vlc
  • vagrantc/vlc
  • rafiv/macos-bigsur-icon
  • Aymeriic/vlc
  • saranshg20/vlc
  • metzlove24/vlc
  • linkfanel/vlc
  • Ds886/vlc
  • metehan-arslan/vlc
  • Skantes/vlc
  • kgsandundananjaya96/vlc
  • mitchcapper/vlc
  • advaitgupta/vlc
  • StefanBruens/vlc
  • ratajs/vlc
  • T.M.F.B.3761/vlc
  • m222059/vlc
  • casemerrick/vlc
  • joshuaword2alt/vlc
  • sjwaddy/vlc
  • dima/vlc
  • Ybalrid/vlc
  • umxprime/vlc
  • eschmidt/vlc
  • vannieuwenhuysenmichelle/vlc
  • badcf00d/vlc
  • wesinator/vlc
  • louis/vlc
  • xqq/vlc
  • EmperorYP7/vlc
  • NicoLiam/vlc
  • loveleen/vlc
  • rofferom/vlc
  • rbultje/vlc
  • TheUnamed/vlc
  • pratiksharma341/vlc
  • Saurab17/vlc
  • purist.coder/vlc
  • Shuicheng/vlc
  • mdrrubel292/vlc
  • silverbleu00/vlc
  • metif12/vlc
  • asher-m/vlc
  • jeffk/vlc
  • Brandonbr1/vlc
  • beautyyuyanli/vlc
  • rego21/vlc
  • muyangren907/vlc
  • collectionbylawrencejason/vlc
  • evelez/vlc
  • GSMgeeth/vlc
  • Oneric/vlc
  • TJ5/vlc
  • XuanTung95/vlc
  • darrenjenny21/vlc
  • Trenly/vlc
  • RockyTDR/vlc
  • mjakubowski/vlc
  • caprica/vlc
  • ForteFrankie/vlc
  • seannamiller19/vlc
  • junlon2006/vlc
  • kiwiren6666/vlc
  • iuseiphonexs/vlc
  • fenngtun/vlc
  • Rajdutt999/vlc
  • typx/vlc
  • leon.vitanos/vlc
  • robertogarci0938/vlc
  • gsoc/gsoc2022/luc65r/vlc-mpd
  • skeller/vlc
  • MCJack123/vlc
  • luc65r/vlc-mpd
  • popov895/vlc
  • claucambra/vlc
  • brad/vlc
  • matthewmurua88/vlc
  • Tomas8874/vlc
  • philenotfound/vlc
  • makita-do3/vlc
  • LZXCorp/vlc
  • mar0x/vlc
  • senojetkennedy0102/vlc
  • shaneb243/vlc
  • ahmadbader/vlc
  • rajduttcse26/vlc-audio-filters
  • Juniorzito8415/vlc
  • achernyakov/vlc
  • lucasjetgroup/vlc
  • pupdoggy666/vlc
  • gmde9363/vlc
  • alexnwayne/vlc
  • bahareebrahimi781/vlc
  • hamad633666/vlc
  • umghof3112/vlc
  • joe0199771874/vlc
  • Octocats66666666/vlc
  • jjm_223/vlc
  • btech10110.19/vlc
  • sunnykfc028/vlc-audio-filters
  • loic/vlc
  • nguyenminhducmx1/vlc
  • JanekKrueger/vlc
  • bstubbington2/vlc
  • rcombs/vlc
  • Ordissimo/vlc
  • king7532/vlc
  • noobsauce101/vlc
  • schong0525/vlc
  • myQwil/vlc
  • apisbg91/vlc
  • geeboy0101017/vlc
  • kim.faughey/vlc
  • nurupo/vlc
  • yyusea/vlc
  • 0711235879.khco/vlc
  • ialo/vlc
  • iloveyeye2/vlc
  • gdtdftdqtd/vlc
  • leandroconsiglio/vlc
  • AndyHTML2012/vlc
  • ncz/vlc
  • lucenticus/vlc
  • knr1931/vlc
  • kjoonlee/vlc
  • chandrakant100/vlc-qt
  • johge42/vlc
  • polter/vlc
  • hexchain/vlc
  • Tushwrld/vlc
  • mztea928/vlc
  • jbelloncastro/vlc
  • alvinhochun/vlc
  • ghostpiratecrow/vlc
  • ujjwaltwitx/vlc
  • alexsonarin06/vlc
  • adrianbon76/vlc
  • altsod/vlc
  • damien.lucas44/vlc
  • dmytrivtaisa/vlc
  • utk202/vlc
  • aaxhrj/vlc
  • thomas.hermes/vlc
  • structurenewworldorder/vlc
  • slomo/vlc
  • wantlamy/vlc
  • musc.o3cminc/vlc
  • thebarshablog/vlc
  • kerrick/vlc
  • kratos142518/vlc
  • leogps/vlc
  • vacantron/vlc
  • luna_koly/vlc
  • Ratio2/vlc
  • anuoshemohammad/vlc
  • apsun/vlc
  • aaa1115910/vlc
  • alimotmoyo/vlc
  • Ambossmann/vlc
  • Sam-LearnsToCode/vlc
  • Chilledheart/vlc
  • Labnann/vlc
  • ktcoooot1/vlc
  • mohit-marathe/vlc
  • johnddx/vlc
  • manstabuk/vlc
  • Omar-ahmed314/vlc
  • vineethkm/vlc
  • 9Enemi86/vlc
  • radoslav.m.panteleev/vlc
  • ashishami2002/vlc
  • Corbax/vlc
  • firnasahmed/vlc
  • pelayarmalam4/vlc
  • c0ff330k/vlc
  • shikhindahikar/vlc
  • l342723951/vlc
  • christianschwandner/vlc
  • douniwan5788/vlc
  • 7damian7/vlc
  • ferdnyc/vlc
  • f.ales1/vlc
  • pandagby/vlc
  • BaaBaa/vlc
  • jewe37/vlc
  • w00drow/vlc
  • russelltg/vlc
  • ironicallygod/vlc
  • soumyaDghosh/vlc
  • linzihao1999/vlc
  • deyayush6/vlc
  • mibi88/vlc
  • newabdallah10/vlc
  • jhorbincolombia/vlc
  • rimvihaqueshupto/vlc
  • andrewkhon98/vlc
  • fab78/vlc
  • lapaz17/vlc
  • amanna13/vlc
  • mdakram28/vlc
  • 07jw1980/vlc
  • sohamgupta/vlc
  • Eson-Jia1/vlc
  • Sumou/vlc
  • vikram-kangotra/vlc
  • chalice191/vlc
  • olivercalder/vlc
  • aaasg4001/vlc
  • zipdox/vlc
  • kwizart/vlc
  • Dragon-S/vlc
  • jdemeule/vlc
  • gabriel_lt/vlc
  • locutusofborg/vlc
  • sammirata/vlc-librist
  • another/vlc
  • Benjamin_Loison/vlc
  • ahmedmoselhi/vlc
  • petergaal/vlc
  • huynhsontung/vlc
  • dariusmihut/vlc
  • tvermaashutosh/vlc
  • buti/vlc
  • Niram7777/vlc
  • rohan-here/vlc
  • balaji-sivasakthi/vlc
  • rlindner81/vlc
  • Kakadus/vlc
  • djain/vlc
  • ABBurmeister/vlc
  • craighuggins/vlc
  • orbea/vlc
  • maxos/vlc
  • aakarshmj/vlc
  • kblaschke/vlc
  • ankitm/vlc
  • advait-0/vlc
  • mohak2003/vlc
  • yselkowitz/vlc
  • AZM999/vlc-azm
  • andrey.turkin/vlc
  • Disha-Baghel/vlc
  • nowrep/vlc
  • Apeng/vlc
  • Choucroute_melba/vlc
  • autra/vlc
  • eclipseo/vlc
  • fhuber/vlc
  • olafhering/vlc
  • sdasda7777/vlc
  • 1div0/vlc
  • skosnits/vlc-extended-playlist-support
  • dnicolson/vlc
  • Timshel/vlc
  • octopols/vlc
  • MangalK/vlc
  • nima64/vlc
  • misawai/vlc
  • Alexander-Wilms/vlc
  • Maxime2/vlc-fork-for-visualizer
  • ww/vlc
  • jeske/vlc
  • sgross-emlix/vlc
  • morenonatural/vlc
  • freakingLovesVLC/vlc
  • borisgolovnev/vlc
  • mpromonet/vlc
  • diogo.simao-marques/vlc
  • masstock/vlc
  • pratikpatel8982/vlc
  • hugok79/vlc
  • longervision/vlc
  • abhiudaysurya/vlc
  • rishabhgarg/vlc
  • tumic/vlc
  • cart/vlc
  • shubham442/vlc
  • Aditya692005/vlc
  • sammirata/vlc4
  • syrykh/vlc
  • Vvorcun/macos-new-icon
  • AyaanshC/vlc
  • nasso/vlc
  • Quark/vlc
  • sebastinas/vlc
  • rhstone/vlc
  • talregev/vlc
  • Managor/vlc
  • abdsaber000/vlc
  • falbrechtskirchinger/vlc
  • b.sullender/vlc
  • hulxv/vlc
  • zyad-ayad/vlc
408 results
Show changes
Commits on Source (33)
Showing
with 367 additions and 139 deletions
......@@ -4349,7 +4349,7 @@ dnl Libnotify notification plugin
dnl
PKG_ENABLE_MODULES_VLC([NOTIFY], [], [libnotify], [libnotify notification], [auto])
PKG_ENABLE_MODULES_VLC([MEDIALIBRARY], [medialibrary], [medialibrary >= 0.9.3], (medialibrary support), [auto])
PKG_ENABLE_MODULES_VLC([MEDIALIBRARY], [medialibrary], [medialibrary >= 0.11.0], (medialibrary support), [auto])
dnl
dnl Endianness check
......
649bebde85c1a42b0c1c3d2d3b7110b999e3ee1c8e76595259e4e75a8b0f3918e23ff7c7e2c313da4d579882f55bf29765bb882570280adc81f3bc1e82f1ee19 libaom-3.2.0.tar.gz
9bd118bf46d777da4e85f348fed95510ce583d16d005d062d33e2899f16f24bdb8b120792a7c77ccb64b4e1ff5b3d934342fb1b356bb426693ef69220f138c5f libaom-3.3.0.tar.gz
# aom
AOM_VERSION := 3.2.0
AOM_VERSION := 3.3.0
AOM_URL := https://storage.googleapis.com/aom-releases/libaom-$(AOM_VERSION).tar.gz
PKGS += aom
......@@ -13,9 +13,7 @@ $(TARBALLS)/libaom-$(AOM_VERSION).tar.gz:
.sum-aom: libaom-$(AOM_VERSION).tar.gz
aom: libaom-$(AOM_VERSION).tar.gz .sum-aom
rm -Rf $(UNPACK_DIR) $@
mkdir -p $(UNPACK_DIR)
tar xvzfo "$<" -C $(UNPACK_DIR)
$(UNPACK)
ifdef HAVE_ANDROID
$(APPLY) $(SRC)/aom/aom-android-pthreads.patch
$(APPLY) $(SRC)/aom/aom-android-cpufeatures.patch
......
From 20ec99be7ecfd1a07e1ff7a7ef3e510203ea33bd Mon Sep 17 00:00:00 2001
From: Steve Lhomme <robux4@ycbcr.xyz>
Date: Thu, 17 Feb 2022 13:35:52 -0500
Subject: [PATCH] [builds/windows] Add support for legacy UWP builds.
* builds/windows/ftsystem.c: Add neccessary macro substitutions to
enable strict UWP builds.
See !141.
Co-authored-by: Alexei Podtelezhnikov <apodtele@gmail.com>
---
builds/windows/ftsystem.c | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/builds/windows/ftsystem.c b/builds/windows/ftsystem.c
index 1c49f30db..d4fc95675 100644
--- a/builds/windows/ftsystem.c
+++ b/builds/windows/ftsystem.c
@@ -196,7 +196,25 @@
}
-#ifdef _WIN32_WCE
+#if defined( NTDDI_VERSION ) && NTDDI_VERSION < 0x0A000007 && \
+ defined( WINAPI_FAMILY_PARTITION ) && \
+ !WINAPI_FAMILY_PARTITION( WINAPI_PARTITION_DESKTOP )
+
+#define PACK_DWORD64( hi, lo ) ( ( (DWORD64)(hi) << 32 ) | (DWORD)(lo) )
+
+#define CreateFileW( a, b, c, d, e, f, g ) \
+ CreateFileFromAppW( a, b, c, d, e, f, g )
+#define CreateFileMapping( a, b, c, d, e, f ) \
+ CreateFileMappingFromApp( a, b, c, PACK_DWORD64( d, e ), f )
+#define MapViewOfFile( a, b, c, d, e ) \
+ MapViewOfFileFromApp( a, b, PACK_DWORD64( c, d ), e )
+
+#define UWP_LEGACY
+
+#endif
+
+
+#if defined( _WIN32_WCE ) || defined( UWP_LEGACY )
FT_LOCAL_DEF( HANDLE )
CreateFileA( LPCSTR lpFileName,
--
2.27.0.windows.1
From 1f951898751365e9bd2a920ce76652f2a59c3305 Mon Sep 17 00:00:00 2001
From: Cameron Cawley <ccawley2011@gmail.com>
Date: Mon, 6 Dec 2021 23:08:46 -0500
Subject: [PATCH] [builds/windows] Guard some non-ancient API.
We can support Windows 98 and NT 4.0 in principle...
* builds/windows/ftdebug.c, builds/windows/ftsystem.c: Check for the
ancient SDK using _WIN32_WINDOWS, _WIN32_WCE, or _WIN32_WINNT.
---
builds/windows/ftdebug.c | 6 ++++++
builds/windows/ftsystem.c | 6 +++++-
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/builds/windows/ftdebug.c b/builds/windows/ftdebug.c
index 94c22da75..ff5d4b481 100644
--- a/builds/windows/ftdebug.c
+++ b/builds/windows/ftdebug.c
@@ -136,6 +136,8 @@
va_start( ap, fmt );
vfprintf( stderr, fmt, ap );
+#if ( defined( _WIN32_WINNT ) && _WIN32_WINNT >= 0x0400 ) || \
+ ( defined( _WIN32_WCE ) && _WIN32_WCE >= 0x0600 )
if ( IsDebuggerPresent() )
{
static char buf[1024];
@@ -144,6 +146,7 @@
vsnprintf( buf, sizeof buf, fmt, ap );
OutputDebugStringA( buf );
}
+#endif
va_end( ap );
}
@@ -159,6 +162,8 @@
va_start( ap, fmt );
vfprintf( stderr, fmt, ap );
+#if ( defined( _WIN32_WINNT ) && _WIN32_WINNT >= 0x0400 ) || \
+ ( defined( _WIN32_WCE ) && _WIN32_WCE >= 0x0600 )
if ( IsDebuggerPresent() )
{
static char buf[1024];
@@ -167,6 +172,7 @@
vsnprintf( buf, sizeof buf, fmt, ap );
OutputDebugStringA( buf );
}
+#endif
va_end( ap );
exit( EXIT_FAILURE );
diff --git a/builds/windows/ftsystem.c b/builds/windows/ftsystem.c
index 1ebadd49f..0433d6151 100644
--- a/builds/windows/ftsystem.c
+++ b/builds/windows/ftsystem.c
@@ -233,6 +233,10 @@
dwFlagsAndAttributes, hTemplateFile );
}
+#endif
+
+#if defined( _WIN32_WCE ) || defined ( _WIN32_WINDOWS ) || \
+ !defined( _WIN32_WINNT ) || _WIN32_WINNT <= 0x0400
FT_LOCAL_DEF( BOOL )
GetFileSizeEx( HANDLE hFile,
@@ -248,7 +252,7 @@
return TRUE;
}
-#endif /* _WIN32_WCE */
+#endif
/* documentation is in ftobjs.h */
--
2.27.0.windows.1
......@@ -15,7 +15,8 @@ $(TARBALLS)/freetype-$(FREETYPE2_VERSION).tar.xz:
freetype: freetype-$(FREETYPE2_VERSION).tar.xz .sum-freetype2
$(UNPACK)
$(APPLY) $(SRC)/freetype2/uwpfixes.patch
$(APPLY) $(SRC)/freetype2/0001-builds-windows-Guard-some-non-ancient-API.patch
$(APPLY) $(SRC)/freetype2/0001-builds-windows-Add-support-for-legacy-UWP-builds.patch
$(call pkg_static, "builds/unix/freetype2.in")
$(MOVE)
......
diff --git a/builds/windows/ftsystem.c b/builds/windows/ftsystem.c
index 1ebadd49f..ac8ff1f92 100644
--- a/builds/windows/ftsystem.c
+++ b/builds/windows/ftsystem.c
@@ -28,6 +28,7 @@
/* memory mapping and allocation includes and definitions */
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
+#include <winapifamily.h>
/**************************************************************************
@@ -296,7 +297,11 @@
goto Fail_Open;
}
+#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
fm = CreateFileMapping( file, NULL, PAGE_READONLY, 0, 0, NULL );
+#else
+ fm = CreateFileMappingFromApp( file, NULL, PAGE_READONLY, 0, NULL );
+#endif
if ( fm == NULL )
{
FT_ERROR(( "FT_Stream_Open: can not map file\n" ));
@@ -308,8 +313,13 @@
/* a size greater than LONG_MAX */
stream->size = size.LowPart;
stream->pos = 0;
+#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
stream->base = (unsigned char *)
MapViewOfFile( fm, FILE_MAP_READ, 0, 0, 0 );
+#else
+ stream->base = (unsigned char *)
+ MapViewOfFileFromApp( fm, FILE_MAP_READ, 0, 0 );
+#endif
CloseHandle( fm );
6e299909c7c8945b6a3f53ea0851cc2ae6929012ba5b99454f895247b8398495dd90daca66a9377b9462f49b0df4ae001df31b534b7b222441519c6dfa940928 medialibrary-0.11.0.tar.bz2
MEDIALIBRARY_HASH := 363bb8fcf50851a0ce7438ee5a9ad35f6f8954d0
MEDIALIBRARY_VERSION := git-$(MEDIALIBRARY_HASH)
MEDIALIBRARY_GITURL := https://code.videolan.org/videolan/medialibrary.git
MEDIALIBRARY_VERSION := 0.11.0
MEDIALIBRARY_URL := https://code.videolan.org/videolan/medialibrary/-/archive/$(MEDIALIBRARY_VERSION)/medialibrary-$(MEDIALIBRARY_VERSION).tar.bz2
PKGS += medialibrary
ifeq ($(call need_pkg,"medialibrary >= 0.9.3"),)
ifeq ($(call need_pkg,"medialibrary >= 0.11.0"),)
PKGS_FOUND += medialibrary
endif
DEPS_medialibrary = sqlite $(DEPS_sqlite)
$(TARBALLS)/medialibrary-$(MEDIALIBRARY_VERSION).tar.xz:
$(call download_git,$(MEDIALIBRARY_GITURL),,$(MEDIALIBRARY_HASH))
$(TARBALLS)/medialibrary-$(MEDIALIBRARY_VERSION).tar.bz2:
$(call download_pkg,$(MEDIALIBRARY_URL),medialibrary)
.sum-medialibrary: medialibrary-$(MEDIALIBRARY_VERSION).tar.xz
$(call check_githash,$(MEDIALIBRARY_HASH))
touch $@
.sum-medialibrary: medialibrary-$(MEDIALIBRARY_VERSION).tar.bz2
medialibrary: medialibrary-$(MEDIALIBRARY_VERSION).tar.xz .sum-medialibrary
medialibrary: medialibrary-$(MEDIALIBRARY_VERSION).tar.bz2 .sum-medialibrary
$(UNPACK)
$(MOVE)
.medialibrary: medialibrary
cd $< && $(HOSTVARS_MESON) $(MESON) -Dlibvlc=disabled build
cd $< && $(HOSTVARS_MESON) $(MESON) -Dlibvlc=disabled -Dlibtool_workaround=true build
ninja -C $</build
ifdef HAVE_LINUX
ifndef HAVE_ANDROID
sed -e 's,^Libs\(.*\)-pthread,Libs\1-pthread -latomic,' \
-i $</build/meson-private/medialibrary.pc
endif
endif
cd $< && cd build && ninja install
touch $@
--- protobuf/src/google/protobuf/repeated_field.h.orig 2022-02-17 12:44:54.526527423 +0200
+++ protobuf/src/google/protobuf/repeated_field.h 2022-02-17 12:44:58.190446363 +0200
@@ -46,11 +46,7 @@
#ifndef GOOGLE_PROTOBUF_REPEATED_FIELD_H__
#define GOOGLE_PROTOBUF_REPEATED_FIELD_H__
-#ifdef _MSC_VER
-// This is required for min/max on VS2013 only.
#include <algorithm>
-#endif
-
#include <string>
#include <iterator>
#include <google/protobuf/stubs/casts.h>
......@@ -41,6 +41,7 @@ protoc: protoc-$(PROTOBUF_VERSION)-cpp.tar.gz .sum-protoc
tar xvzfo "$<" -C $(UNPACK_DIR) --strip-components=1
$(APPLY) $(SRC)/protobuf/protobuf-disable-gmock.patch
$(APPLY) $(SRC)/protobuf/protobuf-fix-build.patch
$(APPLY) $(SRC)/protobuf/include-algorithm.patch
$(MOVE)
.protoc: protoc
......@@ -55,6 +56,7 @@ protobuf: protobuf-$(PROTOBUF_VERSION)-cpp.tar.gz .sum-protobuf
$(APPLY) $(SRC)/protobuf/protobuf-disable-gmock.patch
$(APPLY) $(SRC)/protobuf/dont-build-protoc.patch
$(APPLY) $(SRC)/protobuf/protobuf-fix-build.patch
$(APPLY) $(SRC)/protobuf/include-algorithm.patch
$(MOVE)
.protobuf: protobuf
......
......@@ -125,16 +125,6 @@ typedef struct vlc_ml_show_t
uint32_t i_nb_seasons;
} vlc_ml_show_t;
typedef struct vlc_ml_album_track_t
{
int64_t i_artist_id;
int64_t i_album_id;
int64_t i_genre_id;
int i_track_nb;
int i_disc_nb;
} vlc_ml_album_track_t;
typedef struct vlc_ml_label_t
{
int64_t i_id;
......@@ -224,7 +214,15 @@ typedef struct vlc_ml_media_t
{
vlc_ml_show_episode_t show_episode;
vlc_ml_movie_t movie;
vlc_ml_album_track_t album_track;
struct
{
int64_t i_artist_id;
int64_t i_album_id;
int64_t i_genre_id;
int i_track_nb;
int i_disc_nb;
} album_track;
};
} vlc_ml_media_t;
......@@ -336,9 +334,11 @@ typedef struct vlc_ml_playlist_list_t
typedef struct vlc_ml_folder_t
{
int64_t i_id; /**< This folder's MRL. Will be NULL if b_present is false */
char* psz_mrl; /**< This folder's MRL. Will be NULL if b_present is false */
bool b_present; /**< The presence state for this folder. */
int64_t i_id; /**< The folder's MRL. Will be NULL if b_present is false */
char* psz_name; /**< The folder's name */
char* psz_mrl; /**< The folder's MRL. Will be NULL if b_present is false */
unsigned int i_nb_media; /**< The media count */
bool b_present; /**< The folder's presence state */
bool b_banned; /**< Will be true if the user required this folder to be excluded */
} vlc_ml_folder_t;
......@@ -445,6 +445,8 @@ enum vlc_ml_list_queries
VLC_ML_COUNT_ENTRY_POINTS, /**< arg1 bool: list_banned; arg2 (out): size_t* */
VLC_ML_LIST_FOLDERS, /**< arg1 (out): vlc_ml_folder_list_t** */
VLC_ML_COUNT_FOLDERS, /**< arg1 (out): size_t* */
VLC_ML_LIST_FOLDERS_BY_TYPE, /**< arg1 vlc_ml_media_type_t: the media type. arg2 (out): vlc_ml_media_list_t** */
VLC_ML_COUNT_FOLDERS_BY_TYPE, /**< arg1 vlc_ml_media_type_t: the media type. arg2 (out): vlc_ml_media_list_t** */
/* Album specific listings */
VLC_ML_LIST_ALBUM_TRACKS, /**< arg1: The album id. arg2 (out): vlc_ml_media_list_t** */
......@@ -486,12 +488,16 @@ enum vlc_ml_list_queries
/* Folder specific listings */
VLC_ML_LIST_SUBFOLDERS, /**< arg1: parent id; arg2 (out): vlc_ml_folder_list_t** */
VLC_ML_COUNT_SUBFOLDERS, /**< arg1: parent id; arg2 (out): size_t* */
VLC_ML_LIST_FOLDER_MEDIAS, /**< arg1: folder id; arg2 (out): vlc_ml_media_list_t** */
VLC_ML_COUNT_FOLDER_MEDIAS, /**< arg1: folder id; arg2 (out): size_t* */
VLC_ML_LIST_FOLDER_MEDIA, /**< arg1: folder id; arg2 (out): vlc_ml_media_list_t** */
VLC_ML_COUNT_FOLDER_MEDIA, /**< arg1: folder id; arg2 (out): size_t* */
/* Children entities listing */
VLC_ML_LIST_MEDIA_OF, /**< arg1: parent entity type; arg2: parent entity id; arg3(out): ml_media_list_t** */
VLC_ML_COUNT_MEDIA_OF, /**< arg1: parent entity type; arg2: parent entity id; arg3(out): size_t* */
VLC_ML_LIST_VIDEO_OF, /**< arg1: parent entity type; arg2: parent entity id; arg3(out): size_t* */
VLC_ML_COUNT_VIDEO_OF, /**< arg1: parent entity type; arg2: parent entity id; arg3(out): size_t* */
VLC_ML_LIST_AUDIO_OF, /**< arg1: parent entity type; arg2: parent entity id; arg3(out): size_t* */
VLC_ML_COUNT_AUDIO_OF, /**< arg1: parent entity type; arg2: parent entity id; arg3(out): size_t* */
VLC_ML_LIST_ARTISTS_OF, /**< arg1: parent entity type; arg2: parent entity id; arg3(out): ml_artist_list_t** */
VLC_ML_COUNT_ARTISTS_OF, /**< arg1: parent entity type; arg2: parent entity id; arg3(out): size_t* */
VLC_ML_LIST_ALBUMS_OF, /**< arg1: parent entity type; arg2: parent entity id; arg3(out): ml_album_list_t** */
......@@ -506,6 +512,7 @@ enum vlc_ml_parent_type
VLC_ML_PARENT_SHOW,
VLC_ML_PARENT_GENRE,
VLC_ML_PARENT_GROUP,
VLC_ML_PARENT_FOLDER,
VLC_ML_PARENT_PLAYLIST,
};
......@@ -1211,6 +1218,66 @@ static inline size_t vlc_ml_count_media_of( vlc_medialibrary_t* p_ml, const vlc_
return res;
}
static inline vlc_ml_media_list_t* vlc_ml_list_video_of( vlc_medialibrary_t* p_ml,
const vlc_ml_query_params_t* params,
int i_parent_type, int64_t i_parent_id )
{
vlc_assert( p_ml != NULL );
vlc_ml_media_list_t* res;
if ( vlc_ml_list( p_ml, VLC_ML_LIST_VIDEO_OF,
params, i_parent_type, i_parent_id, &res ) != VLC_SUCCESS )
return NULL;
return res;
}
static inline size_t vlc_ml_count_video_of( vlc_medialibrary_t* p_ml,
const vlc_ml_query_params_t* params,
int i_parent_type, int64_t i_parent_id )
{
vlc_assert( p_ml != NULL );
size_t res;
if ( vlc_ml_list( p_ml, VLC_ML_COUNT_VIDEO_OF,
params, i_parent_type, i_parent_id, &res ) != VLC_SUCCESS )
return 0;
return res;
}
static inline vlc_ml_media_list_t* vlc_ml_list_audio_of( vlc_medialibrary_t* p_ml,
const vlc_ml_query_params_t* params,
int i_parent_type, int64_t i_parent_id )
{
vlc_assert( p_ml != NULL );
vlc_ml_media_list_t* res;
if ( vlc_ml_list( p_ml, VLC_ML_LIST_AUDIO_OF,
params, i_parent_type, i_parent_id, &res ) != VLC_SUCCESS )
return NULL;
return res;
}
static inline size_t vlc_ml_count_audio_of( vlc_medialibrary_t* p_ml,
const vlc_ml_query_params_t* params,
int i_parent_type, int64_t i_parent_id )
{
vlc_assert( p_ml != NULL );
size_t res;
if ( vlc_ml_list( p_ml, VLC_ML_COUNT_AUDIO_OF,
params, i_parent_type, i_parent_id, &res ) != VLC_SUCCESS )
return 0;
return res;
}
static inline vlc_ml_artist_list_t* vlc_ml_list_artist_of( vlc_medialibrary_t* p_ml, const vlc_ml_query_params_t* params, int i_parent_type, int64_t i_parent_id )
{
vlc_assert( p_ml != NULL );
......@@ -1695,6 +1762,93 @@ static inline size_t vlc_ml_count_banned_entry_points( vlc_medialibrary_t* p_ml,
return res;
}
// Folders
static inline vlc_ml_folder_list_t * vlc_ml_list_folders(vlc_medialibrary_t * p_ml,
const vlc_ml_query_params_t * params)
{
vlc_assert(p_ml != NULL);
vlc_ml_folder_list_t * res;
if (vlc_ml_list(p_ml, VLC_ML_LIST_FOLDERS, params, &res) != VLC_SUCCESS)
return NULL;
return res;
}
static inline size_t vlc_ml_count_folders(vlc_medialibrary_t * p_ml,
const vlc_ml_query_params_t * params)
{
vlc_assert(p_ml != NULL);
size_t count;
if (vlc_ml_list(p_ml, VLC_ML_COUNT_FOLDERS, params, &count) != VLC_SUCCESS)
return 0;
return count;
}
static inline
vlc_ml_folder_list_t * vlc_ml_list_folders_by_type(vlc_medialibrary_t * p_ml,
const vlc_ml_query_params_t * params,
vlc_ml_media_type_t type)
{
vlc_assert(p_ml != NULL);
vlc_ml_folder_list_t * res;
if (vlc_ml_list(p_ml, VLC_ML_LIST_FOLDERS_BY_TYPE, params, (int) type, &res) != VLC_SUCCESS)
return NULL;
return res;
}
static inline size_t vlc_ml_count_folders_by_type(vlc_medialibrary_t * p_ml,
const vlc_ml_query_params_t * params,
vlc_ml_media_type_t type)
{
vlc_assert(p_ml != NULL);
size_t count;
if (vlc_ml_list(p_ml, VLC_ML_COUNT_FOLDERS_BY_TYPE, params, (int) type, &count) != VLC_SUCCESS)
return 0;
return count;
}
// Folder Media
static inline vlc_ml_media_list_t * vlc_ml_list_folder_media(vlc_medialibrary_t * p_ml,
const vlc_ml_query_params_t * params,
int64_t i_folder_id)
{
vlc_assert(p_ml != NULL);
vlc_ml_media_list_t * res;
if (vlc_ml_list(p_ml, VLC_ML_LIST_FOLDER_MEDIA, params, i_folder_id, &res) != VLC_SUCCESS)
return NULL;
return res;
}
static inline size_t vlc_ml_count_folder_media(vlc_medialibrary_t * p_ml,
const vlc_ml_query_params_t * params,
int64_t i_folder_id)
{
vlc_assert(p_ml != NULL);
size_t count;
if (vlc_ml_list(p_ml, VLC_ML_COUNT_FOLDER_MEDIA, params, i_folder_id, &count) != VLC_SUCCESS)
return 0;
return count;
}
#ifdef __cplusplus
}
#endif /* C++ */
......
......@@ -1710,20 +1710,15 @@ bool libvlc_media_player_can_pause(libvlc_media_player_t *p_mi)
bool libvlc_media_player_program_scrambled(libvlc_media_player_t *p_mi)
{
const struct vlc_player_program *program;
bool b_program_scrambled = false;
vlc_player_t *player = p_mi->player;
vlc_player_Lock(player);
const struct vlc_player_program *program =
vlc_player_GetSelectedProgram(player);
if (!program)
goto end;
b_program_scrambled = program->scrambled;
program = vlc_player_GetSelectedProgram(player);
if (program != NULL)
b_program_scrambled = program->scrambled;
vlc_player_Unlock(player);
end:
return b_program_scrambled;
}
......
......@@ -1098,10 +1098,9 @@ void matroska_segment_c::ParseTracks( KaxTracks *tracks )
TrackHandlers::Dispatcher().iterate( tracks->begin(), tracks->end(), &payload );
auto t = matroska_segment_c::tracks.begin();
for (t; t != matroska_segment_c::tracks.end(); ++t)
for (auto &track : matroska_segment_c::tracks)
{
pcr_shift = std::max(pcr_shift, t->second->i_codec_delay);
pcr_shift = std::max(pcr_shift, track.second->i_codec_delay);
}
}
......
......@@ -5192,10 +5192,8 @@ static const struct
{ ATOM_uuid, MP4_ReadBox_uuid, 0 },
/* spatial/360°/VR */
{ ATOM_st3d, MP4_ReadBox_st3d, ATOM_avc1 },
{ ATOM_st3d, MP4_ReadBox_st3d, ATOM_mp4v },
{ ATOM_sv3d, MP4_ReadBoxContainer, ATOM_avc1 },
{ ATOM_sv3d, MP4_ReadBoxContainer, ATOM_mp4v },
{ ATOM_st3d, MP4_ReadBox_st3d, 0 },
{ ATOM_sv3d, MP4_ReadBoxContainer, 0 },
{ ATOM_proj, MP4_ReadBoxContainer, ATOM_sv3d },
{ ATOM_prhd, MP4_ReadBox_prhd, ATOM_proj },
{ ATOM_equi, MP4_ReadBox_equi, ATOM_proj },
......
......@@ -230,12 +230,9 @@ static NSString *VLCAudioLibraryCellIdentifier = @"VLCAudioLibraryCellIdentifier
NSString *title = mediaItem.title;
NSString *nameOfArtist;
VLCMediaLibraryAlbumTrack *albumTrack = mediaItem.albumTrack;
if (albumTrack) {
VLCMediaLibraryArtist *artist = [VLCMediaLibraryArtist artistWithID:albumTrack.artistID];
if (artist) {
nameOfArtist = artist.name;
}
VLCMediaLibraryArtist *artist = [VLCMediaLibraryArtist artistWithID:mediaItem.artistID];
if (artist) {
nameOfArtist = artist.name;
}
if (title && nameOfArtist) {
......
......@@ -126,19 +126,6 @@ extern const long long int VLCMediaLibraryMediaItemDurationDenominator;
@end
@interface VLCMediaLibraryAlbumTrack : NSObject
- (instancetype)initWithAlbumTrack:(struct vlc_ml_album_track_t *)p_albumTrack;
@property (readonly) int64_t artistID;
@property (readonly) int64_t albumID;
@property (readonly) int64_t genreID;
@property (readonly) int trackNumber;
@property (readonly) int discNumber;
@end
@interface VLCMediaLibraryGenre : NSObject
- (instancetype)initWithGenre:(struct vlc_ml_genre_t *)p_genre;
......@@ -183,7 +170,6 @@ extern const long long int VLCMediaLibraryMediaItemDurationDenominator;
@property (readonly, nullable) VLCMediaLibraryShowEpisode *showEpisode;
@property (readonly, nullable) VLCMediaLibraryMovie *movie;
@property (readonly, nullable) VLCMediaLibraryAlbumTrack *albumTrack;
@property (readwrite) int rating;
@property (readwrite) float lastPlaybackRate;
......@@ -202,6 +188,14 @@ extern const long long int VLCMediaLibraryMediaItemDurationDenominator;
@property (readwrite) int lastSubtitleTrack;
@property (readwrite) int lastSubtitleDelay;
@property (readonly) int64_t artistID;
@property (readonly) int64_t albumID;
@property (readonly) int64_t genreID;
@property (readonly) int trackNumber;
@property (readonly) int discNumber;
@end
@interface VLCMediaLibraryEntryPoint : NSObject
......
......@@ -256,24 +256,6 @@ NSString *VLCMediaLibraryMediaItemLibraryID = @"VLCMediaLibraryMediaItemLibraryI
@end
@implementation VLCMediaLibraryAlbumTrack
- (instancetype)initWithAlbumTrack:(struct vlc_ml_album_track_t *)p_albumTrack
{
self = [super init];
if (self && p_albumTrack != NULL) {
_artistID = p_albumTrack->i_artist_id;
_albumID = p_albumTrack->i_album_id;
_genreID = p_albumTrack->i_genre_id;
_trackNumber = p_albumTrack->i_track_nb;
_discNumber = p_albumTrack->i_disc_nb;
}
return self;
}
@end
@implementation VLCMediaLibraryGenre
- (instancetype)initWithGenre:(struct vlc_ml_genre_t *)p_genre
......@@ -403,7 +385,11 @@ NSString *VLCMediaLibraryMediaItemLibraryID = @"VLCMediaLibraryMediaItemLibraryI
break;
case VLC_ML_MEDIA_SUBTYPE_ALBUMTRACK:
_albumTrack = [[VLCMediaLibraryAlbumTrack alloc] initWithAlbumTrack:&p_mediaItem->album_track];
_artistID = p_mediaItem->album_track.i_artist_id;
_albumID = p_mediaItem->album_track.i_album_id;
_genreID = p_mediaItem->album_track.i_genre_id;
_trackNumber = p_mediaItem->album_track.i_track_nb;
_discNumber = p_mediaItem->album_track.i_disc_nb;
break;
default:
......
......@@ -162,6 +162,8 @@ libqt_plugin_la_SOURCES = \
gui/qt/medialibrary/mlbookmarkmodel.cpp \
gui/qt/medialibrary/mlbookmarkmodel.hpp \
gui/qt/medialibrary/mlevent.hpp \
gui/qt/medialibrary/mlfolder.cpp \
gui/qt/medialibrary/mlfolder.hpp \
gui/qt/medialibrary/mlfoldersmodel.cpp \
gui/qt/medialibrary/mlfoldersmodel.hpp \
gui/qt/medialibrary/mlgenre.cpp \
......@@ -170,8 +172,6 @@ libqt_plugin_la_SOURCES = \
gui/qt/medialibrary/mlgenremodel.hpp \
gui/qt/medialibrary/mlgroup.cpp \
gui/qt/medialibrary/mlgroup.hpp \
gui/qt/medialibrary/mlgrouplistmodel.cpp \
gui/qt/medialibrary/mlgrouplistmodel.hpp \
gui/qt/medialibrary/mlhelper.cpp \
gui/qt/medialibrary/mlhelper.hpp \
gui/qt/medialibrary/mlitemcover.cpp \
......@@ -191,6 +191,10 @@ libqt_plugin_la_SOURCES = \
gui/qt/medialibrary/mlurlmodel.hpp \
gui/qt/medialibrary/mlvideo.cpp \
gui/qt/medialibrary/mlvideo.hpp \
gui/qt/medialibrary/mlvideofoldersmodel.cpp \
gui/qt/medialibrary/mlvideofoldersmodel.hpp \
gui/qt/medialibrary/mlvideogroupsmodel.cpp \
gui/qt/medialibrary/mlvideogroupsmodel.hpp \
gui/qt/medialibrary/mlvideomodel.cpp \
gui/qt/medialibrary/mlvideomodel.hpp \
gui/qt/medialibrary/mlplaylist.cpp \
......@@ -391,7 +395,6 @@ nodist_libqt_plugin_la_SOURCES = \
gui/qt/medialibrary/mlbasemodel.moc.cpp \
gui/qt/medialibrary/mlfoldersmodel.moc.cpp \
gui/qt/medialibrary/mlgenremodel.moc.cpp \
gui/qt/medialibrary/mlgrouplistmodel.moc.cpp \
gui/qt/medialibrary/mllistcache.moc.cpp \
gui/qt/medialibrary/mlthreadpool.moc.cpp \
gui/qt/medialibrary/mlqmltypes.moc.cpp \
......@@ -402,6 +405,8 @@ nodist_libqt_plugin_la_SOURCES = \
gui/qt/medialibrary/mlvideomodel.moc.cpp \
gui/qt/medialibrary/mlplaylistlistmodel.moc.cpp \
gui/qt/medialibrary/mlplaylistmodel.moc.cpp \
gui/qt/medialibrary/mlvideofoldersmodel.moc.cpp \
gui/qt/medialibrary/mlvideogroupsmodel.moc.cpp \
gui/qt/menus/custom_menus.moc.cpp \
gui/qt/menus/qml_menu_wrapper.moc.cpp \
gui/qt/menus/menus.moc.cpp \
......
......@@ -73,12 +73,10 @@ ExtendedDialog::ExtendedDialog( qt_intf_t *_p_intf )
Spatializer *spatial = new Spatializer( p_intf, audioTab );
CONNECT( spatial, configChanged(QString, QVariant), this, putAudioConfig(QString, QVariant) );
audioTab->addTab( spatial, qtr( "Spatializer" ) );
audioLayout->addWidget( audioTab );
StereoWidener *stereowiden = new StereoWidener( p_intf, audioTab );
CONNECT( stereowiden, configChanged(QString, QVariant), this, putAudioConfig(QString, QVariant) );
audioTab->addTab( stereowiden, qtr( "Stereo Widener" ) );
audioLayout->addWidget( audioTab );
QWidget *advancedTab = new QWidget;
QGridLayout *advancedTabLayout = new QGridLayout;
......@@ -95,6 +93,7 @@ ExtendedDialog::ExtendedDialog( qt_intf_t *_p_intf )
advancedTab->setLayout( advancedTabLayout );
audioTab->addTab( advancedTab, qtr( "Advanced" ) );
audioLayout->addWidget( audioTab );
mainTabW->insertTab( AUDIO_TAB, audioWidget, qtr( "Audio Effects" ) );
......@@ -111,7 +110,7 @@ ExtendedDialog::ExtendedDialog( qt_intf_t *_p_intf )
mainTabW->insertTab( VIDEO_TAB, videoWidget, qtr( "Video Effects" ) );
syncW = new SyncControls( p_intf, videoTab );
syncW = new SyncControls( p_intf, mainTabW );
mainTabW->insertTab( SYNCHRO_TAB, syncW, qtr( "Synchronization" ) );
if( module_exists( "v4l2" ) )
......@@ -181,9 +180,13 @@ void ExtendedDialog::currentTabChanged( int i )
{
m_applyButton->setVisible( true );
m_applyButton->setEnabled( !m_hashConfigs[i].isEmpty() );
m_applyButton->setFocusPolicy( Qt::StrongFocus );
}
else
{
m_applyButton->setVisible( false );
m_applyButton->setFocusPolicy( Qt::NoFocus );
}
}
void ExtendedDialog::putAudioConfig( const QString& name, const QVariant value )
......