Rémi Denis-Courmont [Thu, 27 Jun 2019 20:19:38 +0000 (23:19 +0300)]
mp4: fix integer underflow
Reported-by: Hyeon-Ju Lee <zorurione@gmail.com>
Rémi Denis-Courmont [Thu, 27 Jun 2019 20:19:38 +0000 (23:19 +0300)]
mp4: fix integer underflow
Reported-by: Hyeon-Ju Lee <zorurione@gmail.com>
Hugo Beauzée-Luyssen [Thu, 27 Jun 2019 09:19:44 +0000 (11:19 +0200)]
medialibrary: Fix missing initialization
Thomas Guillem [Wed, 26 Jun 2019 11:32:18 +0000 (13:32 +0200)]
es_out: inverse if check
Since var_GetBool() is way longuer to process.
Thomas Guillem [Wed, 26 Jun 2019 11:11:53 +0000 (13:11 +0200)]
input: remove deprecated variables documentation
Thomas Guillem [Wed, 26 Jun 2019 08:33:16 +0000 (10:33 +0200)]
Update NEWS
Francois Cartegnie [Fri, 21 Jun 2019 08:32:28 +0000 (10:32 +0200)]
demux: adaptive: use demux relative positions for time and seek
Francois Cartegnie [Wed, 26 Jun 2019 20:08:33 +0000 (22:08 +0200)]
demux: hls: set ID3 time offset
callback lost or disabled ?
Francois Cartegnie [Wed, 26 Jun 2019 19:58:47 +0000 (21:58 +0200)]
demux: adaptive: split offsets setup in fake esout
Francois Cartegnie [Wed, 26 Jun 2019 16:14:33 +0000 (18:14 +0200)]
demux: adaptive: missing total initializer
Francois Cartegnie [Sun, 23 Jun 2019 20:15:12 +0000 (22:15 +0200)]
demux: adaptive: ignore explicit discontinuities on seek/start
Felix Paul Kühne [Wed, 26 Jun 2019 18:21:26 +0000 (20:21 +0200)]
macosx: fix compilation broken in
5961eeaa
Hugo Beauzée-Luyssen [Wed, 26 Jun 2019 15:11:07 +0000 (17:11 +0200)]
input: Disable logs & interactions for thumbnailing
Hugo Beauzée-Luyssen [Wed, 26 Jun 2019 15:01:59 +0000 (17:01 +0200)]
input: Create: Invert b_preparsing check
Now that there is more than 2 possible modes (regular playback,
preparsing, thumbnailing) it makes more sense to check for an explicit
match.
Hugo Beauzée-Luyssen [Wed, 26 Jun 2019 12:23:53 +0000 (14:23 +0200)]
contrib: medialibrary: Bump hash
Hugo Beauzée-Luyssen [Mon, 17 Jun 2019 13:54:02 +0000 (15:54 +0200)]
medialibrary: Bump version & update API usages
- Multiple thumbnail can now be used
- Discovery, thumbnailing & metadata extractions are now interruptible
- An entry_point_added event has been added
Hugo Beauzée-Luyssen [Thu, 18 Apr 2019 09:49:34 +0000 (11:49 +0200)]
medialibrary: Use higher log level when debugging
Hugo Beauzée-Luyssen [Thu, 21 Mar 2019 15:04:53 +0000 (16:04 +0100)]
medialibrary: Add media/input_item getters through mrl
Hugo Beauzée-Luyssen [Thu, 21 Mar 2019 14:52:15 +0000 (15:52 +0100)]
medialibrary: Use va_list for Get parameters
Since we soon will need something else than int64
Steve Lhomme [Tue, 11 Jun 2019 13:39:58 +0000 (15:39 +0200)]
direct3d9: factorize the code that is always common with local/host rendering
The clear/begin/end scene is always done on our local IDirect3DDevice9. No need
to force the host to do it a second time.
Steve Lhomme [Wed, 26 Jun 2019 11:29:08 +0000 (13:29 +0200)]
direct3d9: the setup callback returns a IDirect3D9 not a IDirect3DDevice9
It's simpler on the host side and we don't need to be tied to the HWND it would
use internally.
Steve Lhomme [Tue, 11 Jun 2019 12:49:21 +0000 (14:49 +0200)]
d3d9_fmt: add a function to create a d3d9_handle_t from an existing IDirect3D9
Steve Lhomme [Wed, 26 Jun 2019 13:16:26 +0000 (15:16 +0200)]
libvlc: add missing "dec-dev" variable
It's needed by vlc_decoder_device_Create().
Felix Paul Kühne [Wed, 26 Jun 2019 12:18:04 +0000 (14:18 +0200)]
macosx: iterate on media discovery
This shows discovered devices now instead of services capable of discovering something.
Browsing will be implement in subsequent commits.
Steve Lhomme [Wed, 26 Jun 2019 09:29:47 +0000 (11:29 +0200)]
dxva: remove the video format from the device init
Steve Lhomme [Wed, 26 Jun 2019 09:21:26 +0000 (11:21 +0200)]
d3d9_fmt: don't check for the texture size early
Creating textures will fail if it's too big anyway.
Steve Lhomme [Wed, 26 Jun 2019 09:19:18 +0000 (11:19 +0200)]
direct3d9: check that we can upload the source picture to the GPU
It may be too big (for example 8K on an old GPU with little memory).
We could actually reduce the size of the output and force a filter to scale
the picture accordingly.
Steve Lhomme [Wed, 26 Jun 2019 08:59:30 +0000 (10:59 +0200)]
d3d9_fmt: the backbuffer is always effectively the display size
Steve Lhomme [Wed, 26 Jun 2019 06:48:00 +0000 (08:48 +0200)]
d3d9_fmt: no need for a video_format to create an external D3D9 device
Steve Lhomme [Wed, 26 Jun 2019 06:28:04 +0000 (08:28 +0200)]
d3d9_fmt: share the is_d3d9_opaque() code
Steve Lhomme [Tue, 25 Jun 2019 12:46:36 +0000 (14:46 +0200)]
opengl: only allow vout_display_opengl_GetPool() if a custom pool will be used
Steve Lhomme [Tue, 25 Jun 2019 12:44:11 +0000 (14:44 +0200)]
opengl: don't create a pool internally if it's just a default software pool
Steve Lhomme [Tue, 25 Jun 2019 12:42:09 +0000 (14:42 +0200)]
opengl: add a helper telling if the module uses a custom picture pool
Steve Lhomme [Wed, 26 Jun 2019 05:34:34 +0000 (07:34 +0200)]
libvlc: mention the resize callback is for the host size and must be called
It may still work if not called but the rendering won't be nice.
Steve Lhomme [Fri, 21 Jun 2019 11:37:09 +0000 (13:37 +0200)]
decoder: add a decoder device type for MMAL
In the current MMAL code the pictures are allocated once from the display in a
MMAL_POOL_T. The pool could be created in the decoder (push) and created using
the MMAL_PORT_T. It may not possible to use pictures from different pools but
the display should nonetheless be created with the same MMAL_PORT_T.
Steve Lhomme [Tue, 25 Jun 2019 12:23:34 +0000 (14:23 +0200)]
codec: document what kind of opaque is used for each decoder device
Steve Lhomme [Tue, 25 Jun 2019 07:10:47 +0000 (09:10 +0200)]
transcode: remove redundant decoder picture allocation
The core can do it by default.
Steve Lhomme [Tue, 25 Jun 2019 07:10:39 +0000 (09:10 +0200)]
sout: sdi: remove redundant decoder picture allocation
The core can do it by default.
Steve Lhomme [Tue, 25 Jun 2019 07:09:51 +0000 (09:09 +0200)]
mosaic: remove redundant decoder picture allocation
The core can do it by default.
Steve Lhomme [Tue, 25 Jun 2019 07:09:39 +0000 (09:09 +0200)]
test: decoder: remove redundant decoder picture allocation
The core can do it by default and not a part being tested.
Steve Lhomme [Tue, 25 Jun 2019 07:08:45 +0000 (09:08 +0200)]
image: remove redundant decoder picture allocation
The core can do it by default.
Steve Lhomme [Tue, 25 Jun 2019 07:03:34 +0000 (09:03 +0200)]
decoder: allow the buffer_new from the decoder to be NULL
Create a picture_t on the fly by default.
Thomas Guillem [Thu, 20 Jun 2019 15:45:45 +0000 (17:45 +0200)]
es_out: the VIDEO category is now exclusive
Multiple Video tracks can now be selected by the player with
vlc_player_SelectEsIdList().
Thomas Guillem [Thu, 20 Jun 2019 15:45:58 +0000 (17:45 +0200)]
qt: handle multiple track selection
Roland Bewick [Tue, 21 May 2019 18:08:39 +0000 (01:08 +0700)]
qt: add secondary subtitle delay synchronization
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Roland Bewick [Tue, 21 May 2019 18:08:32 +0000 (01:08 +0700)]
qt: add secondary sub margin/alignment preferences
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Roland Bewick [Fri, 14 Jun 2019 15:08:27 +0000 (17:08 +0200)]
hotkeys: handle secondary subtitles options
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Roland Bewick [Fri, 14 Jun 2019 15:07:38 +0000 (17:07 +0200)]
vout: handle secondary-sub-margin callback
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Roland Bewick [Fri, 14 Jun 2019 15:07:18 +0000 (17:07 +0200)]
libvlc: add a key to switch spu channel orders
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Thomas Guillem [Thu, 20 Jun 2019 14:20:57 +0000 (16:20 +0200)]
qt: re-indent after last commit
Thomas Guillem [Fri, 21 Jun 2019 12:24:19 +0000 (14:24 +0200)]
player: re-indent after last commit
Thomas Guillem [Fri, 14 Jun 2019 13:46:16 +0000 (15:46 +0200)]
player: get vout and vout_order from VIDEO/SPU es_ids
vlc_player_GetVoutFromEsId() can now return the vout used by an SPU es_id.
It also returns the vout order.
The on_vout_changed callback is also used for SPU es_ids. Users could check the
category of the es_id to know if the vout is attached to a VIDEO es or an SPU
one.
Thomas Guillem [Fri, 14 Jun 2019 13:33:49 +0000 (15:33 +0200)]
player: rename vlc_player_GetVoutFromEsId
To vlc_player_GetEsIdVout(), for consistency with other functions using a
vlc_es_id_t*.
Thomas Guillem [Fri, 14 Jun 2019 14:02:38 +0000 (16:02 +0200)]
input: send vout event for spu ESes
Thomas Guillem [Fri, 21 Jun 2019 12:04:28 +0000 (14:04 +0200)]
input: send the vout order via the vout event
Thomas Guillem [Fri, 21 Jun 2019 11:57:32 +0000 (13:57 +0200)]
input: resource: return the order of the vout
Roland Bewick [Fri, 14 Jun 2019 15:08:11 +0000 (17:08 +0200)]
player: handle secondary-sub-margin notification
Only used for OSD.
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Roland Bewick [Fri, 14 Jun 2019 14:59:43 +0000 (16:59 +0200)]
vout: spu: pass channel order to vout_ChangeSubMargin
And rename it to vout_ChangeSpuChannelMargin.
A margin is now set for a specific channel order.
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Roland Bewick [Tue, 21 May 2019 18:08:31 +0000 (01:08 +0700)]
vout: spu: handle secondary channel order
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Thomas Guillem [Thu, 13 Jun 2019 14:51:44 +0000 (16:51 +0200)]
vout: spu: use mutex instead of atomic
For spu_ChangeMargin(), like every other setters of the spu API.
sys->margin is already read when the mutex is locked
Roland Bewick [Fri, 14 Jun 2019 15:06:57 +0000 (17:06 +0200)]
libvlc: add secondary sub options
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Roland Bewick [Thu, 20 Jun 2019 11:30:08 +0000 (13:30 +0200)]
player: add multiple tracks selection support
A new function vlc_player_SelectEsIdList() and implement
VLC_PLAYER_SELECT_SIMULTANEOUS.
vlc_player_SelectEsId() now returns the number of tracks selected for the track
category.
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Thomas Guillem [Mon, 24 Jun 2019 12:01:25 +0000 (14:01 +0200)]
player: add a policy to vlc_player_SelectEsId
This will replace the future vlc_player_AddEsId() function (simultaneous).
Roland Bewick [Thu, 20 Jun 2019 11:29:58 +0000 (13:29 +0200)]
input: add INPUT_CONTROL_SET_ES_LIST
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Roland Bewick [Tue, 21 May 2019 18:08:26 +0000 (01:08 +0700)]
demux: add DEMUX_SET_ES_LIST control
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Thomas Guillem [Wed, 19 Jun 2019 12:21:35 +0000 (14:21 +0200)]
player: add vlc_player_SetEsIdDelay
This allow to set the delay of one particular track. Once set, this delay will
override the delay of the track category.
Thomas Guillem [Wed, 19 Jun 2019 12:01:46 +0000 (14:01 +0200)]
es_out: handle all tracks delays in EsOutGetTracksDelay
Thomas Guillem [Wed, 19 Jun 2019 12:01:06 +0000 (14:01 +0200)]
input: add input_SetEsIdDelay
This function set the delay of a track from its vlc_es_id_t*.
Thomas Guillem [Tue, 25 Jun 2019 06:16:08 +0000 (08:16 +0200)]
dec: lock spu channel registration
The spu channel must be registered/unregistered within the same lock of the
vout since we assume that a valid vout means a valid spu channel (for SPU_ES).
This didn't fixes any races since there is no async SPU decoders.
Thomas Guillem [Tue, 25 Jun 2019 05:46:38 +0000 (07:46 +0200)]
dec: fail if there is no spu channels
Don't return a subpicture from decoder_NewSubpicture() when there is a valid
vout but not a valid spu_t.
So, for a SPU_ES, if the dec has a valid vout, it must have a valid spu channel
too (hence the new asserts).
This fixes the player test when run via distcheck. Strangely, I could not
reproduce it directly.
Regression from
9d592a58e454c8c42a21d9b59f1f6c7d6639b93e
Thomas Guillem [Tue, 25 Jun 2019 09:39:27 +0000 (11:39 +0200)]
vulkan: remove direct rendering support
Not compatible with future push model.
It depended way too much on GPU and drivers implementation and there was no
real proof that it was faster. Buffers were mapped on the CPU side, therefore
an upload to the GPU had to be done in all case. Mapping on the GPU was too
slow because decoders need to access reference frames.
Thomas Guillem [Tue, 25 Jun 2019 09:14:22 +0000 (11:14 +0200)]
opengl: remove persistent support
Not compatible with future push model.
It depended way too much on GPU and drivers implementation and there was no
real proof that it was faster. Buffers were mapped on the CPU side, therefore
an upload to the GPU had to be done in all case. Mapping on the GPU was too
slow because decoders need to access reference frames.
Francois Cartegnie [Tue, 25 Jun 2019 15:08:31 +0000 (17:08 +0200)]
access: cdda: use track cdtext over album cdtext data
Fixes when album data was always overriding track info,
especially on compilations. Album is only used as default.
Francois Cartegnie [Tue, 4 Jun 2019 12:50:37 +0000 (14:50 +0200)]
access: cdrom: implement cdtext repeats
Francois Cartegnie [Mon, 3 Jun 2019 21:26:49 +0000 (23:26 +0200)]
access: cdrom: support cdtext non ascii charsets
Francois Cartegnie [Mon, 3 Jun 2019 13:18:28 +0000 (15:18 +0200)]
access: cdrom: parse cdtext blockinfo
Francois Cartegnie [Mon, 3 Jun 2019 15:25:45 +0000 (17:25 +0200)]
access: cdrom: don't merge cdtext across blocks
Francois Cartegnie [Mon, 3 Jun 2019 12:23:12 +0000 (14:23 +0200)]
access: cdrom: use defines for cdtext
Steve Lhomme [Thu, 13 Jun 2019 09:16:59 +0000 (11:16 +0200)]
d3d9_fmt: no need to keep the whole D3DPRESENT_PARAMETERS
We only need the BackBufferFormat
Steve Lhomme [Wed, 19 Jun 2019 05:44:45 +0000 (07:44 +0200)]
directx_va: get the picture_context_t from the va_pool
We can fill the picture outside of this call.
Steve Lhomme [Fri, 21 Jun 2019 07:13:19 +0000 (09:13 +0200)]
direct3d9: log the error when StrecthRect fails with OpenGL
Steve Lhomme [Tue, 25 Jun 2019 07:32:22 +0000 (09:32 +0200)]
display: remove deprecated flag not used anymore on Windows
Steve Lhomme [Fri, 21 Jun 2019 08:24:05 +0000 (10:24 +0200)]
xcb: remove dead code
Marvin Scholz [Wed, 19 Jun 2019 11:32:58 +0000 (13:32 +0200)]
contrib: Do not pass debug/optim flags to meson
This fixes the meson underscore prefix test, which misbehaves
when -g is passed, as it would detect the debug string without
underscore first and incorrectly report that no underscore
prefix for symbols is used.
Fixes build issues with dav1d, which relies on the underscore
prefix check.
See: https://github.com/mesonbuild/meson/issues/5482
Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Steve Lhomme [Fri, 21 Jun 2019 16:04:12 +0000 (18:04 +0200)]
direct3d11: rework the check on AMD drivers capable to display decoder NV12
The test allowed either version 20 and above OR version 162 and above.
Both conditions need to be true.
Add more known bad drivers to the documentation.
Steve Lhomme [Fri, 21 Jun 2019 15:49:28 +0000 (17:49 +0200)]
d3d11_fmt: more documentation on WDDM driver information
Steve Lhomme [Fri, 21 Jun 2019 09:53:54 +0000 (11:53 +0200)]
void: android: remove fake VLC_UNUSED
Alexandre Janniaux [Fri, 21 Jun 2019 10:01:26 +0000 (12:01 +0200)]
player: fix typo and missing param in doc
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Victorien Le Couviour--Tuffet [Wed, 19 Jun 2019 19:34:56 +0000 (21:34 +0200)]
player: fix crash caused by use after free
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
Hugo Beauzée-Luyssen [Thu, 20 Jun 2019 12:34:50 +0000 (14:34 +0200)]
input: Add input_item_parser_id_Interrupt
This effectively split input_item_parser_id_Release in 2 functions,
allowing an asynchronous cancellation to occur.
Otherwise, the input thread would invoke the callback synchronously
while the thread cancelling the preparser is blocked joining the input
thread. Both those thread are very likely to be called with a mutex
held, which would cause a deadlock.
Hugo Beauzée-Luyssen [Thu, 20 Jun 2019 07:44:47 +0000 (09:44 +0200)]
lib: media: Allow thumbnails to be cropped
Hugo Beauzée-Luyssen [Tue, 18 Jun 2019 14:22:18 +0000 (16:22 +0200)]
picture: export: Allow source picture to be cropped
Hugo Beauzée-Luyssen [Thu, 20 Jun 2019 08:31:49 +0000 (10:31 +0200)]
medialibrary: Initialize video tracks width & height
Hugo Beauzée-Luyssen [Thu, 21 Mar 2019 15:05:27 +0000 (16:05 +0100)]
medialibrary: Fix potential null pointer dereference
Hugo Beauzée-Luyssen [Thu, 20 Jun 2019 08:06:34 +0000 (10:06 +0200)]
libvlc_media.h: Remove trailing whitespace
Romain Vimont [Thu, 13 Jun 2019 14:17:14 +0000 (16:17 +0200)]
decoder: remove input thread and ES dependency
As suggested by Rémi:
> the decoder should use opaque callbacks provided by the ES out rather
> than "see" the input and the ES.
<https://mailman.videolan.org/pipermail/vlc-devel/2019-May/125088.html>
Felix Paul Kühne [Thu, 20 Jun 2019 20:07:47 +0000 (22:07 +0200)]
macosx/library: implement sorting
Note that this respected by the video view only for now
Thomas Guillem [Thu, 20 Jun 2019 13:47:06 +0000 (15:47 +0200)]
test: player: fix on_category_delay_changed events
Regression from
579d28a3a5c99b779fd40dafcfcfcd920cc28f65.
The test didn't fail since delay handling is not yet tested (but there was a
build warning).
Marvin Scholz [Thu, 20 Jun 2019 11:40:37 +0000 (13:40 +0200)]
configure: Remove check for Tizen SDK
HAVE_TIZEN_SDK is not used anywhere in the code anymore, so this
is not needed.
Thomas Guillem [Fri, 14 Jun 2019 09:57:54 +0000 (11:57 +0200)]
player: refactor track research from id