vlc.git
5 years agoosx_notification: Remove "item-change" callback
Marvin Scholz [Thu, 17 Nov 2016 21:53:21 +0000 (22:53 +0100)]
osx_notification: Remove "item-change" callback

Notify as soon as the current input item is changed,
as it is not a good idea to rely on an item-change
eventually happening later.
This will result in some items that are added and played
immediately lacking metadata in their notifications but
this seems like an acceptable edge case.

5 years agoplaylist: remove constant playlist_Add() parameter
Rémi Denis-Courmont [Sat, 19 Nov 2016 15:24:31 +0000 (17:24 +0200)]
playlist: remove constant playlist_Add() parameter

5 years agoplaylist: assert lock on (non-NULL) VIEWPLAY control
Rémi Denis-Courmont [Sat, 19 Nov 2016 15:15:43 +0000 (17:15 +0200)]
playlist: assert lock on (non-NULL) VIEWPLAY control

5 years agoplaylist: remove unnecessary shortcuts
Rémi Denis-Courmont [Sat, 19 Nov 2016 15:11:34 +0000 (17:11 +0200)]
playlist: remove unnecessary shortcuts

Controls can be processed if the playlist is empty. They just do
nothing. Conversely, stop need not be processed if the playlist was
already killed.

5 years agoncurses: only append to PL or ML
Rémi Denis-Courmont [Sat, 19 Nov 2016 15:09:15 +0000 (17:09 +0200)]
ncurses: only append to PL or ML

User interfaces should only add new items under the playlist or the
media library nodes. In particular, they have no business adding or
removing SD items.

5 years agoplaylist: remove useless intf-change object variable
Rémi Denis-Courmont [Sat, 19 Nov 2016 14:41:53 +0000 (16:41 +0200)]
playlist: remove useless intf-change object variable

5 years agoplaylist: remove position parameter to playlist_Add*
Rémi Denis-Courmont [Sat, 19 Nov 2016 11:26:21 +0000 (13:26 +0200)]
playlist: remove position parameter to playlist_Add*

This removes the insertion offset parameter to playlist_Add(),
playlist_AddExt() and playlist_AddInput().

intf_InsertItem() was the only occurrence where the offset was zero,
a side effect of how the command line is parsed backward. This is now
done explicitly with playlist_NodeAddInput().

A non-zero positive offset made no sense, since:
 - the number of children of a node can change asynchronously while the
   playlist lock,
 - the back-end asserted or triggered undefined behaviour if the offset
   was out of range.
DBus was the only occurrence of this bug (see also #17451 comment:4),
and has been fixed in an earlier change.

In all remaining call sites, the offset was PLAYLIST_END. This removes
the parameter which would otherwise constitute a useless constant.

5 years agointerface: clean up intf_InsertItem()
Rémi Denis-Courmont [Sat, 19 Nov 2016 11:19:06 +0000 (13:19 +0200)]
interface: clean up intf_InsertItem()

 - Handle and report errors.
 - Fix and improve documentation.

5 years agoplaylist: remove constant duration parameter to playlist_AddExt()
Rémi Denis-Courmont [Sat, 19 Nov 2016 10:59:11 +0000 (12:59 +0200)]
playlist: remove constant duration parameter to playlist_AddExt()

5 years agodbus: fix racy track addition (refs #17451)
Rémi Denis-Courmont [Sat, 19 Nov 2016 10:51:38 +0000 (12:51 +0200)]
dbus: fix racy track addition (refs #17451)

This fixes potential assertion failures. Insertion position must always
be valid.

5 years agoplaylist: remove useless parameter
Rémi Denis-Courmont [Sat, 19 Nov 2016 10:04:08 +0000 (12:04 +0200)]
playlist: remove useless parameter

5 years agoplaylist: remove unused NO_REBUILD flag
Rémi Denis-Courmont [Sat, 19 Nov 2016 10:01:47 +0000 (12:01 +0200)]
playlist: remove unused NO_REBUILD flag

The flag is sort-of-implemented, but never actually used.

5 years agoplaylist: remove APPEND and INSERT flags
Rémi Denis-Courmont [Sat, 19 Nov 2016 09:59:01 +0000 (11:59 +0200)]
playlist: remove APPEND and INSERT flags

They are set but never used. In practice, the (following) position
parameter determines whether the item is inserted or appended. A
positive position means insertion; PLAYLIST_END means appendment.

5 years agoplaylist: remove no-op PREPARSE and SPREPARSE flags
Rémi Denis-Courmont [Sat, 19 Nov 2016 09:52:58 +0000 (11:52 +0200)]
playlist: remove no-op PREPARSE and SPREPARSE flags

PLAYLIST_SPREPARSE is not used anywhere. PLAYLIST_PREPARSE is set but
has no effects whatsoever.

5 years agolua: remove cargo-cultivated cancellation
Rémi Denis-Courmont [Fri, 18 Nov 2016 22:26:02 +0000 (00:26 +0200)]
lua: remove cargo-cultivated cancellation

5 years agoskins2: remove playlist pointer copy and simplify
Rémi Denis-Courmont [Fri, 18 Nov 2016 22:06:17 +0000 (00:06 +0200)]
skins2: remove playlist pointer copy and simplify

5 years agoplaylist: remove playlist_item_t.p_playlist
Rémi Denis-Courmont [Fri, 18 Nov 2016 20:39:18 +0000 (22:39 +0200)]
playlist: remove playlist_item_t.p_playlist

5 years agoplaylist: remove use of playlist_item_t.p_playlist in callbacks
Rémi Denis-Courmont [Fri, 18 Nov 2016 20:33:00 +0000 (22:33 +0200)]
playlist: remove use of playlist_item_t.p_playlist in callbacks

5 years agoplaylist: delete array earlier during destruction
Rémi Denis-Courmont [Fri, 18 Nov 2016 20:29:20 +0000 (22:29 +0200)]
playlist: delete array earlier during destruction

Remove items from the arrays takes time, especially during playlist
destruction. In particular removing an item from the current array
requires a linear search and then a memmove(); that was the bottleneck
with quadratic complexity while deleting the playlist. (Now the
bottleneck is removing items from their parent.)

Destroying the arrays early on skips those steps entirely.

5 years agoplaylist: use search trees for ID and input to item mapping
Rémi Denis-Courmont [Fri, 18 Nov 2016 19:40:54 +0000 (21:40 +0200)]
playlist: use search trees for ID and input to item mapping

Regarding input item look-ups, this reduces asymptotic complexity from
linear to logarithmic time.

Regarding ID look-ups, this reduces insertion and deletion time to
logarithmic. Previously it degraded to linear time because of memcpy()
and memmove() in ARRAY_APPEND and ARRAY_REMOVE macros.

This removes the "all_items" array, and its missing error handlers.

Finally, this adds support for allocating more than INT_MAX items
during the entire lifetime of the VLC instance. (The maximum number of
_concurrent_ items is still INT_MAX, but memory would probably run out
before that is reached.)

Note: Item deletion still requires linear time. And playlist deletion
still consequently requires quadractic time because of the "current"
array.

5 years agoRevert "contrib: define CMAKE_SYSTEM_NAME when building for Android"
Jean-Baptiste Kempf [Fri, 18 Nov 2016 18:26:46 +0000 (19:26 +0100)]
Revert "contrib: define CMAKE_SYSTEM_NAME when building for Android"

This reverts commit 6290ebf68b5f59b7c1b272c242e62377fee4b557.

It behaves badly depending on the CMake Version, and on our buildbots...

5 years agowin32: don´t clobber process DLL directories (fixes #17663)
Rémi Denis-Courmont [Fri, 18 Nov 2016 18:13:34 +0000 (20:13 +0200)]
win32: don´t clobber process DLL directories (fixes #17663)

LibVLC has zero business messing with process state. This breaks
apps other than VLC and other libraries in the same process.

5 years agovlc: do not load kernel32.dll
Rémi Denis-Courmont [Fri, 18 Nov 2016 18:10:25 +0000 (20:10 +0200)]
vlc: do not load kernel32.dll

vlc.exe already depends on kernel32.dll, so there is no need to load it
explicitly. It can simply be looked up.

5 years agovlc: set default DLL directories
Rémi Denis-Courmont [Fri, 18 Nov 2016 18:07:58 +0000 (20:07 +0200)]
vlc: set default DLL directories

5 years agowin32: fix IDN support when building retardedly
Rémi Denis-Courmont [Fri, 18 Nov 2016 17:56:40 +0000 (19:56 +0200)]
win32: fix IDN support when building retardedly

5 years agowin32: don´t clobber process error mode
Rémi Denis-Courmont [Fri, 18 Nov 2016 17:46:27 +0000 (19:46 +0200)]
win32: don´t clobber process error mode

Regression from e44f6165c138a1e715b5dd738155f9eb6dc90143

5 years agoOpenGL: more const
Steve Lhomme [Thu, 17 Nov 2016 11:45:28 +0000 (12:45 +0100)]
OpenGL: more const

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
5 years agoOpenGL: fix typo in comment
Steve Lhomme [Thu, 17 Nov 2016 11:45:27 +0000 (12:45 +0100)]
OpenGL: fix typo in comment

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
5 years agoOpenGL: code cleaning
Steve Lhomme [Thu, 17 Nov 2016 11:45:26 +0000 (12:45 +0100)]
OpenGL: code cleaning

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
5 years agoOpenGL: the zoom translation depends on the sphere radius
Steve Lhomme [Thu, 17 Nov 2016 11:45:25 +0000 (12:45 +0100)]
OpenGL: the zoom translation depends on the sphere radius

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
5 years agohotkeys: handle 360° zoom with mouse wheel
Thomas Guillem [Thu, 17 Nov 2016 11:06:08 +0000 (12:06 +0100)]
hotkeys: handle 360° zoom with mouse wheel

5 years agohotkeys: handle the mouse events for VR/360° navigation
Thomas Guillem [Thu, 17 Nov 2016 11:05:36 +0000 (12:05 +0100)]
hotkeys: handle the mouse events for VR/360° navigation

5 years agohotkeys: listen to new inputs and new vouts
Thomas Guillem [Wed, 16 Nov 2016 18:30:27 +0000 (19:30 +0100)]
hotkeys: listen to new inputs and new vouts

Listen to playlist "input-current" to update the current input_thead_t, and
listen to input "intf-event" to update the current vout. The vout/input don't
need to be fetched when processing an action, this removes one FIXME, but this
adds more lock complexity.

This will be mainly needed for the next commit, in order to listen to mouse
events from the vout.

5 years agocore: vout: notify when the viewpoint can change
Thomas Guillem [Wed, 16 Nov 2016 15:05:53 +0000 (16:05 +0100)]
core: vout: notify when the viewpoint can change

The boolean variable "viewpoint-changeable" will be used by interfaces in order to
know if 360° navigation should be handled.

5 years agolua/vlc: vlc_sd_probe_Open: fix memory-leak
Filip Roséen [Fri, 18 Nov 2016 08:02:30 +0000 (09:02 +0100)]
lua/vlc: vlc_sd_probe_Open: fix memory-leak

vlc_dictionary_all_keys requires the caller to not only release the
returned value, but also the entities this value refers to; these
changes fixes a memory-leak due to not doing the latter.

Signed-off-by: Pierre Ynard <linkfanel@yahoo.fr>
5 years agoinput: fix resuming from pause at EOF (fixes #6490)
Rémi Denis-Courmont [Thu, 17 Nov 2016 20:31:48 +0000 (22:31 +0200)]
input: fix resuming from pause at EOF (fixes #6490)

As things stood, the input was paused at EOF... and when resumed would
get straight back into pause.

This adds a flag to heep track of the occurrence of pause at EOF. If it
occurs a second time in a row, terminate the input thread loop.

If however the user seeks backward and resume, clear the flag and resume
playback normally.

5 years agoplaylist: unregister input item callbacks at exit (fixes #17087)
Rémi Denis-Courmont [Thu, 17 Nov 2016 20:05:18 +0000 (22:05 +0200)]
playlist: unregister input item callbacks at exit (fixes #17087)

Destroy remaining playlist items normally.

This does NOT fix #17652.

5 years agoplaylist: fix use after free in current array
Rémi Denis-Courmont [Thu, 17 Nov 2016 20:02:08 +0000 (22:02 +0200)]
playlist: fix use after free in current array

The "current" array is *not* sorted by ID. Binary search cannot work
there. (Maybe this should be a linked-listed instead.)

5 years agoplaylist: remove redundant hack
Rémi Denis-Courmont [Thu, 17 Nov 2016 19:44:23 +0000 (21:44 +0200)]
playlist: remove redundant hack

Forcing an input item into a playlist item breaks common clean-up
procedures.

5 years agosd: force playlist node deletion
Pierre Ynard [Thu, 17 Nov 2016 05:59:51 +0000 (06:59 +0100)]
sd: force playlist node deletion

It is necessary because nodes are created with the RO flag.

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
5 years agoplaylist: remove unused expanded flag
Rémi Denis-Courmont [Thu, 17 Nov 2016 18:01:29 +0000 (20:01 +0200)]
playlist: remove unused expanded flag

5 years agoplaylist: fix flawed logic
Rémi Denis-Courmont [Thu, 17 Nov 2016 17:13:33 +0000 (19:13 +0200)]
playlist: fix flawed logic

Regression from cc67adbfdcf3d084a8b2860e58dea0d711f24010.

5 years agodemux: ts: add DTS registration comments
Francois Cartegnie [Thu, 17 Nov 2016 12:00:58 +0000 (13:00 +0100)]
demux: ts: add DTS registration comments

5 years agohxxx_sei: refactor and pass cc format directly
Francois Cartegnie [Thu, 17 Nov 2016 09:11:59 +0000 (10:11 +0100)]
hxxx_sei: refactor and pass cc format directly

5 years agohxxx_sei: allow to differentiate T35 payloads
Francois Cartegnie [Wed, 16 Nov 2016 19:12:17 +0000 (20:12 +0100)]
hxxx_sei: allow to differentiate T35 payloads

5 years agocodec: cc: allow to pass format directly
Francois Cartegnie [Wed, 16 Nov 2016 19:54:30 +0000 (20:54 +0100)]
codec: cc: allow to pass format directly

and strip unwanted headers

5 years agocodec: cc: name enum type
Francois Cartegnie [Wed, 16 Nov 2016 19:48:11 +0000 (20:48 +0100)]
codec: cc: name enum type

5 years agoinput/input: remove unused legacy variable
Filip Roséen [Thu, 17 Nov 2016 09:25:15 +0000 (10:25 +0100)]
input/input: remove unused legacy variable

psz_timer_name was introduced as part of bf117f4 (2008-04), but the
usage of the variable was removed in e3a897c (2011-11); as such it
does not longer serve a purpose.

Signed-off-by: Pierre Ynard <linkfanel@yahoo.fr>
5 years agovout: opengl: scale the zoom to the sphere
Adrien Maglo [Wed, 16 Nov 2016 15:11:15 +0000 (16:11 +0100)]
vout: opengl: scale the zoom to the sphere

Signed-off-by: Thomas Guillem <thomas@gllm.fr>
5 years agovout: opengl: add a define for sphere radius
Thomas Guillem [Wed, 16 Nov 2016 14:34:27 +0000 (15:34 +0100)]
vout: opengl: add a define for sphere radius

5 years agolibvlc: add f_zoom in libvlc_video_viewpoint_t
Thomas Guillem [Wed, 16 Nov 2016 12:44:08 +0000 (13:44 +0100)]
libvlc: add f_zoom in libvlc_video_viewpoint_t

5 years agocore: keys: add ACTION_ID_VIEWPOINT_ROLL (not bound)
Thomas Guillem [Wed, 16 Nov 2016 12:38:15 +0000 (13:38 +0100)]
core: keys: add ACTION_ID_VIEWPOINT_ROLL (not bound)

5 years agocore: keys: bind page Up/down to viewpoint zoom in/out
Thomas Guillem [Thu, 17 Nov 2016 08:47:28 +0000 (09:47 +0100)]
core: keys: bind page Up/down to viewpoint zoom in/out

ACTION_ID_VIEWPOINT_FOV* are not bound anymore

5 years agocore: keys: add ACTIONID_VIEWPOINT_ZOOM_*
Thomas Guillem [Wed, 16 Nov 2016 12:14:35 +0000 (13:14 +0100)]
core: keys: add ACTIONID_VIEWPOINT_ZOOM_*

5 years agocore: keys: rename ACTIONID_FOV* to ACTIONID_VIEWPOINT_FOV*
Thomas Guillem [Wed, 16 Nov 2016 12:12:02 +0000 (13:12 +0100)]
core: keys: rename ACTIONID_FOV* to ACTIONID_VIEWPOINT_FOV*

5 years agocore: keys: less translation for VIEWPOINT_FOV_*
Thomas Guillem [Wed, 16 Nov 2016 13:15:15 +0000 (14:15 +0100)]
core: keys: less translation for VIEWPOINT_FOV_*

5 years agocore: vout: clip viewpoint zoom to [-1.f, 1.f]
Thomas Guillem [Wed, 16 Nov 2016 12:08:59 +0000 (13:08 +0100)]
core: vout: clip viewpoint zoom to [-1.f, 1.f]

From -100% to 100%, default is still 0%.

5 years agovideo_output: fix viewpoint initialization from input
Thomas Guillem [Thu, 17 Nov 2016 08:22:54 +0000 (09:22 +0100)]
video_output: fix viewpoint initialization from input

Partially revert commits 8a62e7a2e14d8715e9783c895661a3901a2b96bf
and 2d32661b145718b2d31dbf9a2f23b7f7af39799c

5 years agogui/macosx: adjust to changes in 9d2aa1f
Filip Roséen [Thu, 17 Nov 2016 02:36:24 +0000 (03:36 +0100)]
gui/macosx: adjust to changes in 9d2aa1f

The mentioned commit removes the last parameter of playlist_AddInput,
causing an error diagnostic when trying to build gui/macosx (due to
too many arguments being passed).

These changes simply adjust the function-call so that it uses the
right number of arguments, by dropping the (now removed) last
argument, effectively fixing the build.

Signed-off-by: Tristan Matthews <tmatth@videolan.org>
5 years agovideo_output: default-initialize viewpoint if variable is missing
Filip Roséen [Wed, 16 Nov 2016 21:43:03 +0000 (22:43 +0100)]
video_output: default-initialize viewpoint if variable is missing

This fixes 360 playback with OpenGL

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
5 years agoplaylist: remove playlist_DeleteFromInput()
Rémi Denis-Courmont [Wed, 16 Nov 2016 22:03:45 +0000 (00:03 +0200)]
playlist: remove playlist_DeleteFromInput()

5 years agoplaylist: replace playlist_DeleteFromInput() wit playlist_NodeDelete()
Rémi Denis-Courmont [Wed, 16 Nov 2016 21:59:09 +0000 (23:59 +0200)]
playlist: replace playlist_DeleteFromInput() wit playlist_NodeDelete()

playlist_DeleteFromInput() requires recursive search through the whole
playlist to find the correct playlist item. This only makes sense if
the playlist item or playlist item ID are not known.

5 years agoplaylist: remove locked parameter to playlist_AddInput()
Rémi Denis-Courmont [Wed, 16 Nov 2016 21:42:00 +0000 (23:42 +0200)]
playlist: remove locked parameter to playlist_AddInput()

5 years agoplaylist: remove locked parameter to playlist_AddExt()
Rémi Denis-Courmont [Wed, 16 Nov 2016 21:42:00 +0000 (23:42 +0200)]
playlist: remove locked parameter to playlist_AddExt()

5 years agoplaylist: remove locked parameter to playlist_Add()
Rémi Denis-Courmont [Wed, 16 Nov 2016 21:42:00 +0000 (23:42 +0200)]
playlist: remove locked parameter to playlist_Add()

This is always false. For unlocked insertions, playlist_NodeAddInput()
is preferred.

5 years agoplaylist: factor common code in playlist_AddInput()
Rémi Denis-Courmont [Wed, 16 Nov 2016 20:34:32 +0000 (22:34 +0200)]
playlist: factor common code in playlist_AddInput()

5 years agoplaylist: playlist_NodeAddInput() asserts the playlist lock
Rémi Denis-Courmont [Wed, 16 Nov 2016 21:12:27 +0000 (23:12 +0200)]
playlist: playlist_NodeAddInput() asserts the playlist lock

As any function that requires a valid playlist item as parameter, the
function can only make sense with the lock already held by the caller.

5 years agoplaylist: rationalize playlist_Export() prototype
Rémi Denis-Courmont [Wed, 16 Nov 2016 21:22:59 +0000 (23:22 +0200)]
playlist: rationalize playlist_Export() prototype

Passing a playlist item parameter to a locked playlist function cannot
make sense. This replaces the parameter with a boolean to select the
playlist or media lirary - like playlist_AddInput().

The prototype bug was introduced ed0b72e3 before the playlist tree
locking was defined/implemented, and somehow did not get corrected
until now.

5 years agoplaylist: playlist_RecursiveNodeSort() asserts the playlist lock
Rémi Denis-Courmont [Wed, 16 Nov 2016 21:12:27 +0000 (23:12 +0200)]
playlist: playlist_RecursiveNodeSort() asserts the playlist lock

As any function that requires a valid playlist item as parameter, the
function can only make sense with the lock already held by the caller.

5 years agoplaylist: declare playlist_NodeAddInput() only once
Rémi Denis-Courmont [Wed, 16 Nov 2016 20:22:15 +0000 (22:22 +0200)]
playlist: declare playlist_NodeAddInput() only once

It is declared in <vlc_playlist.h>.

5 years agoplaylist: inline playlist_NodeEmpty()
Rémi Denis-Courmont [Wed, 16 Nov 2016 20:19:52 +0000 (22:19 +0200)]
playlist: inline playlist_NodeEmpty()

5 years agoplaylist: inline playlist_DeleteFromItemId()
Rémi Denis-Courmont [Wed, 16 Nov 2016 20:16:33 +0000 (22:16 +0200)]
playlist: inline playlist_DeleteFromItemId()

5 years agoplaylist: remove item parameter of playlist_NodeCreate()
Rémi Denis-Courmont [Wed, 16 Nov 2016 20:03:05 +0000 (22:03 +0200)]
playlist: remove item parameter of playlist_NodeCreate()

Nodes are not supposed to have real input items. The parameter was
always NULL, except when copying another node, in which case it did not
matter whether it was or was not NULL.

5 years agoplaylist: remove unused mutex structure
Rémi Denis-Courmont [Wed, 16 Nov 2016 18:59:25 +0000 (20:59 +0200)]
playlist: remove unused mutex structure

5 years agoplaylist: remove constant playlist_ItemFindFromInputAndRoot() parameter
Rémi Denis-Courmont [Wed, 16 Nov 2016 18:49:16 +0000 (20:49 +0200)]
playlist: remove constant playlist_ItemFindFromInputAndRoot() parameter

5 years agoplaylist: inline DeleteFromInput()
Rémi Denis-Courmont [Wed, 16 Nov 2016 18:46:27 +0000 (20:46 +0200)]
playlist: inline DeleteFromInput()

5 years agoplaylist: remove unused playlist_DeleteFromInputInParent()
Rémi Denis-Courmont [Wed, 16 Nov 2016 18:41:09 +0000 (20:41 +0200)]
playlist: remove unused playlist_DeleteFromInputInParent()

5 years agoplaylist: remove constant playlist_NodeDelete() parameter
Rémi Denis-Courmont [Wed, 16 Nov 2016 17:04:42 +0000 (19:04 +0200)]
playlist: remove constant playlist_NodeDelete() parameter

5 years agoplaylist: remove constant playlist_NodeEmpty() parameter
Rémi Denis-Courmont [Wed, 16 Nov 2016 17:01:13 +0000 (19:01 +0200)]
playlist: remove constant playlist_NodeEmpty() parameter

5 years agodemux: mp4: support 360° v2 spatial metadata
Steve Lhomme [Wed, 16 Nov 2016 16:17:00 +0000 (17:17 +0100)]
demux: mp4: support 360° v2 spatial metadata

as found here https://github.com/google/spatial-media/blob/master/docs/spherical-video-v2-rfc.md

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
5 years agomacOS notification: fix crash on first item
Jean-Baptiste Kempf [Wed, 16 Nov 2016 17:31:14 +0000 (18:31 +0100)]
macOS notification: fix crash on first item

5 years agovout: opengl: remove duplicate vout_display_opengl_SetViewpoint
Thomas Guillem [Wed, 16 Nov 2016 16:48:22 +0000 (17:48 +0100)]
vout: opengl: remove duplicate vout_display_opengl_SetViewpoint

5 years agocore: vout: initialize viewpoint from input
Thomas Guillem [Wed, 16 Nov 2016 16:48:03 +0000 (17:48 +0100)]
core: vout: initialize viewpoint from input

5 years agomp4: fix NULL dereference (fixes #17651)
Rémi Denis-Courmont [Wed, 16 Nov 2016 16:41:29 +0000 (18:41 +0200)]
mp4: fix NULL dereference (fixes #17651)

5 years agoplaylist: fix item parenting regression
Rémi Denis-Courmont [Wed, 16 Nov 2016 15:51:27 +0000 (17:51 +0200)]
playlist: fix item parenting regression

5 years agolua: fix memory leak when getting/inherting string variable
Rémi Denis-Courmont [Wed, 16 Nov 2016 15:48:37 +0000 (17:48 +0200)]
lua: fix memory leak when getting/inherting string variable

5 years agoosx_notification: fix input item usage
Rémi Denis-Courmont [Wed, 16 Nov 2016 15:46:08 +0000 (17:46 +0200)]
osx_notification: fix input item usage

5 years agolua: remove constant parameter
Rémi Denis-Courmont [Wed, 16 Nov 2016 15:37:15 +0000 (17:37 +0200)]
lua: remove constant parameter

5 years agolua: use vlc.strings.url_parse()
Rémi Denis-Courmont [Wed, 16 Nov 2016 15:29:10 +0000 (17:29 +0200)]
lua: use vlc.strings.url_parse()

5 years agolua: move url_parse() from net to strings (fixes #3447)
Rémi Denis-Courmont [Wed, 16 Nov 2016 15:28:24 +0000 (17:28 +0200)]
lua: move url_parse() from net to strings (fixes #3447)

Leave an alias in url_parse() for compatiblity for the time being.

5 years agodemux: mp4: fix undefined NULL cmp
Francois Cartegnie [Wed, 16 Nov 2016 14:48:07 +0000 (15:48 +0100)]
demux: mp4: fix undefined NULL cmp

Since that's now using ARRAY_SIZE

5 years agodemux: mp4: remove ReadBox_String
Francois Cartegnie [Wed, 16 Nov 2016 14:32:25 +0000 (15:32 +0100)]
demux: mp4: remove ReadBox_String

Same usage as binary data

5 years agoluasd: handle memory error on probing
Pierre Ynard [Wed, 16 Nov 2016 14:29:02 +0000 (15:29 +0100)]
luasd: handle memory error on probing

5 years agovlc_fixups: define EPROTO if necessary on OS/2
KO Myung-Hun [Thu, 29 Sep 2016 06:34:48 +0000 (15:34 +0900)]
vlc_fixups: define EPROTO if necessary on OS/2

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
5 years agometa_engine/taglib: read lyrics tag in Id3v2
Filip Roséen [Fri, 14 Oct 2016 09:44:46 +0000 (11:44 +0200)]
meta_engine/taglib: read lyrics tag in Id3v2

fixes #17494

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
5 years agodemux/mp4: fix 17608: add support for parsing international strings
Filip Roséen [Wed, 16 Nov 2016 10:37:07 +0000 (11:37 +0100)]
demux/mp4: fix 17608: add support for parsing international strings

fixes #17608

Signed-off-by: Francois Cartegnie <fcvlcdev@free.fr>
5 years agodemux/mp4: meta: replace usage of legacy helpers
Filip Roséen [Wed, 16 Nov 2016 10:37:06 +0000 (11:37 +0100)]
demux/mp4: meta: replace usage of legacy helpers

Replace the usage of legacy helpers with ones where common
functionality is shared, effectively avoiding code-duplication.

Signed-off-by: Francois Cartegnie <fcvlcdev@free.fr>
5 years agodemux/mp4: meta: add more versatile helpers
Filip Roséen [Wed, 16 Nov 2016 10:37:05 +0000 (11:37 +0100)]
demux/mp4: meta: add more versatile helpers

The helper functions currently present in the relevant files are a bit
too broad, leading to duplicate code in terms of functionality.

These changes introduces three new helper-functions that will be used
to refactor/replace the legacy implementation.

Signed-off-by: Francois Cartegnie <fcvlcdev@free.fr>
5 years agodemux/mp4: store length of payload in MP4_Box_data_string_t
Filip Roséen [Wed, 16 Nov 2016 10:37:04 +0000 (11:37 +0100)]
demux/mp4: store length of payload in MP4_Box_data_string_t

MP4_ReadBox_String is invoked for boxes that contains raw
byte-content, though there is nothing saying that this raw-byte
sequence does not contain a null-byte ('\0').

If the sequence contains a null-byte, then there is no way (in the
previous implementation) for things working with the box-content to
access data that follows it (given that one cannot know if the
null-byte is the end-of-data terminator, or simply part of the
payload).

These changes make sure that the entire contents can be accessed by
including the length of the contents in MP4_Box_data_string_t.

Signed-off-by: Francois Cartegnie <fcvlcdev@free.fr>
5 years agodirect3d11: avoid crashing later in the decoder
Steve Lhomme [Thu, 20 Oct 2016 13:17:11 +0000 (15:17 +0200)]
direct3d11: avoid crashing later in the decoder

ID3D11VideoDevice::CreateVideoDecoderOutputView() crashes when the texture has
more than 30 slices. Luckily we never need more than that.

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>