vlc.git
5 years agomacosx: Info.plist: Move vlc extension to UTI
David Fuhrmann [Sun, 2 Apr 2017 09:50:48 +0000 (11:50 +0200)]
macosx: Info.plist: Move vlc extension to UTI

5 years agomacosx: Info.plist: Remove extension for mkv and mka
David Fuhrmann [Sun, 2 Apr 2017 09:09:17 +0000 (11:09 +0200)]
macosx: Info.plist: Remove extension for mkv and mka

They are already defined in the linked UTIs.

5 years agomacosx: Info.plist: Remove some system defined UTIs
David Fuhrmann [Sun, 2 Apr 2017 09:02:02 +0000 (11:02 +0200)]
macosx: Info.plist: Remove some system defined UTIs

Videolan should not declare UTIs under its own namespace if other
official UTI definitions already exist. Remove some UTIs which
are system defined.

5 years agomacosx: Use more standard UTIs in Info.plist
David Fuhrmann [Sun, 19 Mar 2017 16:36:55 +0000 (17:36 +0100)]
macosx: Use more standard UTIs in Info.plist

Usage of CFBundleTypeExtensions, CFBundleTypeMIMETypes and
CFBundleTypeOSTypes is deprecated since a long time,
and LSItemContentTypes with a correct UTI should be used instead.
Switch to system defined UTIs if possible.

5 years agodemux: ps: fix h264 regression
Francois Cartegnie [Sat, 1 Apr 2017 12:56:41 +0000 (14:56 +0200)]
demux: ps: fix h264 regression

5 years agocontrib: ffmpeg: bump the revision to include a DXVA2 fix
Steve Lhomme [Thu, 30 Mar 2017 09:47:02 +0000 (11:47 +0200)]
contrib: ffmpeg: bump the revision to include a DXVA2 fix

backported fabfbfe5710050812147f93a351a53fdda56ff8c could explain some
regressions we have with DXVA.

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
5 years agocompat: Add custom implementation of recvmsg/sendmsg on NaCl
Dennis Hamester [Wed, 22 Mar 2017 08:59:03 +0000 (09:59 +0100)]
compat: Add custom implementation of recvmsg/sendmsg on NaCl

On Pepper 49, recvmsg and sendmsg are implemented as stubs, which always
return ENOTSUP. Proper implementations for these functions will become
available in later Pepper versions, which should make these compat
functions obsolete.

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
5 years agocompat: Add pathconf dummy replacement for nacl
Dennis Hamester [Wed, 22 Mar 2017 08:58:59 +0000 (09:58 +0100)]
compat: Add pathconf dummy replacement for nacl

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
5 years agopacketizer: h264: fix rate change test
Francois Cartegnie [Fri, 31 Mar 2017 12:51:23 +0000 (14:51 +0200)]
packetizer: h264: fix rate change test

5 years agops/dvdnav/dvdread set psm less config to default mpeg2 streams
Francois Cartegnie [Fri, 31 Mar 2017 12:33:17 +0000 (14:33 +0200)]
ps/dvdnav/dvdread set psm less config to default mpeg2 streams

otherwise streams are now not configured with dvd as we have
no packet for probing non mpeg2 streams.

5 years agodemux: ps: remove tautology
Francois Cartegnie [Fri, 31 Mar 2017 12:32:26 +0000 (14:32 +0200)]
demux: ps: remove tautology

5 years agoaccess: dvdnav: always check es creation
Francois Cartegnie [Fri, 31 Mar 2017 12:30:09 +0000 (14:30 +0200)]
access: dvdnav: always check es creation

can always fail, including missing decoder

5 years agodemux: ps: split seen / configured states
Francois Cartegnie [Fri, 31 Mar 2017 12:26:33 +0000 (14:26 +0200)]
demux: ps: split seen / configured states

b_seen was misused for both stream presence
and after configuration

5 years agocodec: avcodec: don't drop late frames due to preroll
Francois Cartegnie [Thu, 30 Mar 2017 20:02:56 +0000 (22:02 +0200)]
codec: avcodec: don't drop late frames due to preroll

5 years agopacketizer: hevc: add poc computation
Francois Cartegnie [Thu, 30 Mar 2017 17:10:59 +0000 (19:10 +0200)]
packetizer: hevc: add poc computation

5 years agopacketizer: hevc: parse slices poc lsb
Francois Cartegnie [Thu, 30 Mar 2017 17:09:38 +0000 (19:09 +0200)]
packetizer: hevc: parse slices poc lsb

5 years agopacketizer: hevc: store nal properties in slice
Francois Cartegnie [Thu, 30 Mar 2017 14:22:39 +0000 (16:22 +0200)]
packetizer: hevc: store nal properties in slice

will be used for decoding poc

5 years agocodec: avcodec: copy the source mastering/light level into the output
Steve Lhomme [Thu, 30 Mar 2017 11:47:41 +0000 (13:47 +0200)]
codec: avcodec: copy the source mastering/light level into the output

Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
5 years agodirect3d11: set the HDR metadata on the SwapChain when available
Steve Lhomme [Fri, 31 Mar 2017 09:07:56 +0000 (11:07 +0200)]
direct3d11: set the HDR metadata on the SwapChain when available

Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
5 years agocontrib: d3d11: add dxgi1.5 to support HDR10 metadata
Steve Lhomme [Thu, 30 Mar 2017 09:20:01 +0000 (11:20 +0200)]
contrib: d3d11: add dxgi1.5 to support HDR10 metadata

Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
5 years agopacketizer: hevc: write the HDR metadata in the output video format
Steve Lhomme [Fri, 31 Mar 2017 09:07:32 +0000 (11:07 +0200)]
packetizer: hevc: write the HDR metadata in the output video format

Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
5 years agohxxx_sei: add HDR10 metadata parsing
Steve Lhomme [Fri, 31 Mar 2017 09:07:31 +0000 (11:07 +0200)]
hxxx_sei: add HDR10 metadata parsing

Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
5 years agovlc_es: add support for mastering colour volume data & content light level
Steve Lhomme [Fri, 31 Mar 2017 09:07:30 +0000 (11:07 +0200)]
vlc_es: add support for mastering colour volume data & content light level

As in HDR10 metadata speficied in SMPTE ST 2086 and CEA 861.3.

Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
5 years agocodec: hxxx: fix invalid free
Thomas Guillem [Fri, 31 Mar 2017 07:30:18 +0000 (09:30 +0200)]
codec: hxxx: fix invalid free

5 years agoopengl: fix persistent performances on AMD
Thomas Guillem [Thu, 30 Mar 2017 15:36:19 +0000 (17:36 +0200)]
opengl: fix persistent performances on AMD

The GL_CLIENT_STORAGE_BIT flag indicates that the data should be on the CPU
side. This fixes high CPU usage with AMD GPUs and improve performances lightly
with others GPUs.

Fixes #18134

5 years agolua: Don't expose a "goto" method in lua >= 5.2
Hugo Beauzée-Luyssen [Thu, 30 Mar 2017 15:36:55 +0000 (17:36 +0200)]
lua: Don't expose a "goto" method in lua >= 5.2

It became a reserved keyword

5 years agolua: lua_ExecuteFunctionVa: Cleanup the stack in case of error
Hugo Beauzée-Luyssen [Thu, 30 Mar 2017 14:50:44 +0000 (16:50 +0200)]
lua: lua_ExecuteFunctionVa: Cleanup the stack in case of error

Fix #5044

5 years agopacketizer: h264: allow change in color space
Francois Cartegnie [Thu, 30 Mar 2017 13:22:23 +0000 (15:22 +0200)]
packetizer: h264: allow change in color space

5 years agopackectizer: h264: don't override provided frame rate
Francois Cartegnie [Thu, 30 Mar 2017 13:21:55 +0000 (15:21 +0200)]
packectizer: h264: don't override provided frame rate

And allow it to change if not provided

5 years agopacketizer: hevc: allow changing fmt.video params
Francois Cartegnie [Thu, 30 Mar 2017 13:08:00 +0000 (15:08 +0200)]
packetizer: hevc: allow changing fmt.video params

5 years agomediacodec: handle adaptive for mp4v
Thomas Guillem [Thu, 30 Mar 2017 12:15:03 +0000 (14:15 +0200)]
mediacodec: handle adaptive for mp4v

5 years agomediacodec: refactor
Thomas Guillem [Thu, 30 Mar 2017 12:13:25 +0000 (14:13 +0200)]
mediacodec: refactor

Rename ParseVideoExtra to ParseExtra and handle CSD for every ES.

5 years agomediacodec: update vout when size is changed by mediacodec
Thomas Guillem [Thu, 30 Mar 2017 12:10:05 +0000 (14:10 +0200)]
mediacodec: update vout when size is changed by mediacodec

Rename UpdateOpaqueVout() to UpdateVout(): this function is now used for non
opaque vouts.

In case of direct rendering, UpdateVout() is called at Open to initialize the
Android Surface. UpdateVout() can be called again from the Output thread if the
video size change.

5 years agomediacodec: remove useless check
Thomas Guillem [Thu, 30 Mar 2017 12:07:46 +0000 (14:07 +0200)]
mediacodec: remove useless check

This check is done from StartMediaCodec and is ignored if the device can do
adaptive.

5 years agomediacodec: late opening works only for hxxx
Thomas Guillem [Thu, 30 Mar 2017 12:06:52 +0000 (14:06 +0200)]
mediacodec: late opening works only for hxxx

5 years agomediacodec: move size initialization
Thomas Guillem [Thu, 30 Mar 2017 12:06:05 +0000 (14:06 +0200)]
mediacodec: move size initialization

5 years agoavcodec: fix flush when the codec is not opened
Thomas Guillem [Thu, 30 Mar 2017 12:05:09 +0000 (14:05 +0200)]
avcodec: fix flush when the codec is not opened

5 years agopacketizer: mpeg4video: check for oob read
Francois Cartegnie [Thu, 30 Mar 2017 13:05:31 +0000 (15:05 +0200)]
packetizer: mpeg4video: check for oob read

5 years agopacketizer: mpeg4video: use defines
Francois Cartegnie [Thu, 30 Mar 2017 13:02:39 +0000 (15:02 +0200)]
packetizer: mpeg4video: use defines

5 years agopacketizer: mpeg4video: parse/set color space
Francois Cartegnie [Thu, 30 Mar 2017 12:48:08 +0000 (14:48 +0200)]
packetizer: mpeg4video: parse/set color space

5 years agolua: Mandate KillExtension to be called with command_lock locked
Hugo Beauzée-Luyssen [Thu, 30 Mar 2017 09:25:36 +0000 (11:25 +0200)]
lua: Mandate KillExtension to be called with command_lock locked

Otherwise the caller always unlocks the lock, only to have it acquire
again by KillExtension.

5 years agolua: Remove dubious LockExtension/UnlockExtension
Hugo Beauzée-Luyssen [Thu, 30 Mar 2017 09:14:27 +0000 (11:14 +0200)]
lua: Remove dubious LockExtension/UnlockExtension

5 years agolua: Ensure LuaGetState will always be called with a valid extension
Hugo Beauzée-Luyssen [Thu, 30 Mar 2017 09:00:38 +0000 (11:00 +0200)]
lua: Ensure LuaGetState will always be called with a valid extension

Otherwise the returned state wouldn't be stored in the extension, and
would eventually be leaked

5 years agolua: Use QueueDeactivateCommand when suitable
Hugo Beauzée-Luyssen [Thu, 30 Mar 2017 11:47:45 +0000 (13:47 +0200)]
lua: Use QueueDeactivateCommand when suitable

5 years agolua: Don't attempt to deactivate the extension when killing it.
Hugo Beauzée-Luyssen [Wed, 29 Mar 2017 16:37:22 +0000 (18:37 +0200)]
lua: Don't attempt to deactivate the extension when killing it.

As the extension thread is holding the lock, and stuck while the lua
function is executing, when a timeout is detected, there's no way to
acquire the lock, not to execute the deactivate function in a thread
safe manner.

5 years agolua: Split CMD_DEACTIVATE generation/queuing out of Deactivate
Hugo Beauzée-Luyssen [Wed, 29 Mar 2017 16:08:45 +0000 (18:08 +0200)]
lua: Split CMD_DEACTIVATE generation/queuing out of Deactivate

5 years agolua: Properly support reactivation of the extension
Hugo Beauzée-Luyssen [Wed, 29 Mar 2017 14:57:13 +0000 (16:57 +0200)]
lua: Properly support reactivation of the extension

5 years agolua: Simplify activated extension detection
Hugo Beauzée-Luyssen [Wed, 29 Mar 2017 14:27:39 +0000 (16:27 +0200)]
lua: Simplify activated extension detection

5 years agolua: Don't deactivate the extension when failing to create its thread
Hugo Beauzée-Luyssen [Wed, 29 Mar 2017 12:24:14 +0000 (14:24 +0200)]
lua: Don't deactivate the extension when failing to create its thread

This is a noop since b_exiting is true, but even if it wasn't, there's
no thread to pick up the command anyway.

5 years agolua: Cleanup lua state once the thread has joined
Hugo Beauzée-Luyssen [Wed, 29 Mar 2017 12:00:07 +0000 (14:00 +0200)]
lua: Cleanup lua state once the thread has joined

5 years agolua: PushCommand: Check for allocation failure
Hugo Beauzée-Luyssen [Tue, 28 Mar 2017 14:04:05 +0000 (16:04 +0200)]
lua: PushCommand: Check for allocation failure

5 years agolua: PushCommand: Reduce locked scope
Hugo Beauzée-Luyssen [Tue, 28 Mar 2017 14:03:30 +0000 (16:03 +0200)]
lua: PushCommand: Reduce locked scope

5 years agolua: Factorize timeout detection
Hugo Beauzée-Luyssen [Tue, 28 Mar 2017 13:54:00 +0000 (15:54 +0200)]
lua: Factorize timeout detection

5 years agolua: Join all threads
Hugo Beauzée-Luyssen [Mon, 27 Mar 2017 15:01:24 +0000 (17:01 +0200)]
lua: Join all threads

Not only the active ones.

5 years agolua: Fix deadlock when deactivating extension due to timeout.
Hugo Beauzée-Luyssen [Mon, 27 Mar 2017 13:17:42 +0000 (15:17 +0200)]
lua: Fix deadlock when deactivating extension due to timeout.

lua_ExecuteFunctionVa is not meant to be called with the command_lock
held.
This partially reverts 7a94f2e6b22bad255ddcca6e095ed33bc4803e45
Fix #17565

5 years agocodec: hxxx: add missing break
Thomas Guillem [Thu, 30 Mar 2017 09:06:11 +0000 (11:06 +0200)]
codec: hxxx: add missing break

5 years agovideotoolbox: remove stray debug log
Thomas Guillem [Thu, 30 Mar 2017 08:23:01 +0000 (10:23 +0200)]
videotoolbox: remove stray debug log

5 years agocodec: hxxx: fix debug logs
Thomas Guillem [Thu, 30 Mar 2017 08:22:46 +0000 (10:22 +0200)]
codec: hxxx: fix debug logs

5 years agovideotoolbox: fix build
Thomas Guillem [Thu, 30 Mar 2017 08:16:44 +0000 (10:16 +0200)]
videotoolbox: fix build

5 years agopacketizer: hevc: only change format on sps activation
Francois Cartegnie [Wed, 29 Mar 2017 17:08:18 +0000 (19:08 +0200)]
packetizer: hevc: only change format on sps activation

5 years agopacketizer: hevc: keep track of active xPS
Francois Cartegnie [Wed, 29 Mar 2017 17:07:58 +0000 (19:07 +0200)]
packetizer: hevc: keep track of active xPS

5 years agopacketizer: hevc: use helper to get pps/sps/vps
Francois Cartegnie [Wed, 29 Mar 2017 17:00:05 +0000 (19:00 +0200)]
packetizer: hevc: use helper to get pps/sps/vps

5 years agodecoder: VideoToolbox: have adaptive DPB
Francois Cartegnie [Tue, 28 Mar 2017 18:10:08 +0000 (20:10 +0200)]
decoder: VideoToolbox: have adaptive DPB

Max DPB is wrong on some streams. What else can go wrong ?

5 years agodecoder: VideoToolBox: use POC for H264
Francois Cartegnie [Mon, 20 Mar 2017 16:27:23 +0000 (17:27 +0100)]
decoder: VideoToolBox: use POC for H264

Also fixes the PTS less playback

5 years agolibvlc-module: change preparsing options descriptions
Filip Roséen [Tue, 11 Oct 2016 06:19:30 +0000 (08:19 +0200)]
libvlc-module: change preparsing options descriptions

There is nothing stating that we only preparse "files", as such the
usage of "file" has been changed to "item". Also, the previous text
did not mention in what unit the timeout was given - these changes
simply adds information stating that it is is milliseconds.

Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
5 years agopreparser: post-pone event until after art fetching is complete
Filip Roséen [Fri, 17 Mar 2017 13:03:33 +0000 (14:03 +0100)]
preparser: post-pone event until after art fetching is complete

Since one can request art to be fetched through
libvlc_media_parse_with_options, one would expect the event
originating from this request to be sent upon the completion of all
requested operations (not just the preparsing). The alternative would
be to monitor the libvlc_MediaMetaChanged, hoping for an artwork URL
change, but this can't account for error nor timeout.

--

The changes introduced were written after a discussion with Hugo
Beauzée-Luyssen where he expressed that he would, if possible, be able to
post-pone the preparsing events until the art fetching is complete.

Post-poning the event fixes issues that are currently reproducible where
medialibrary is used, and art is missing (because it listens to the preparse
event in order to generate the database contents).

It can be viewed as a follow-up to the below rejected patch (with the
same goal in mind):

 - https://patches.videolan.org/patch/15810/

Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
5 years agoplaylist: fix deadlock on destruction while preparser adds items to playlist
Filip Roséen [Wed, 22 Mar 2017 14:57:25 +0000 (15:57 +0100)]
playlist: fix deadlock on destruction while preparser adds items to playlist

As we can have incoming requests to the preparser while we are
destroying libvlc, we can end up in a deadlock while we are removing
all playlist_item_t from the playlist, while an item being preparsed
tries to add additional items to the list.

These changes fixes the issue by introducing a preparser-deactivation
function, that will make sure that we:

 1) clear out any pending preparsing requests
 2) cancel the current item preparsing (blocking)
 3) prevent further requests to the preparser

fixes: #18151

Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
5 years agoplaylist: cancel preparsing upon playback
Filip Roséen [Tue, 21 Mar 2017 01:02:38 +0000 (02:02 +0100)]
playlist: cancel preparsing upon playback

This will cancel any pending request for preparsing the relevant
playlist_item_t as preparsing the entity:

 - is redundant since we are about to start playback,
 - can remove metadata added during playback, and;
 - can lead to duplicate entries in the playlist if the
   playlist_item_t is a directory (as children are added each time
   such entity is "played").

fixes: #17441
fixes: #17232

Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
5 years agoplaylist/fetcher: refactor
Filip Roséen [Wed, 12 Oct 2016 20:01:52 +0000 (22:01 +0200)]
playlist/fetcher: refactor

The following changes refactors the fetcher to take advantange of the
newly introduced background_worker helper. The new implementation
should not only be easier to maintain, but it also adds some
advantages over the old implementation:

 - The implementation has shrunk in size.

 - A fetch-request can include a timeout.

 - Given that there now is a background worker associated with each of
   the different fetcher types (local, network, download):

    - A slow download does not prevent the network-fetcher from
      working the queue.

    - A slow network-fetcher does not prevent further work in regards
      of pending requests in the local fetcher.

 - A fetch request can now be properly cancelled (most importantly
   during VLC close).

 - We no longer invoke modules with "meta fetcher" capability if the
   item already has all metadata in terms of title, album, and artist.

 - We no longer invoke modules with "art finder" capability of the
   item already has vlc_meta_ArtworkUrl.

fixes: #18150

Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
5 years agoplaylist/preparser: refactor
Filip Roséen [Tue, 21 Mar 2017 01:12:37 +0000 (02:12 +0100)]
playlist/preparser: refactor

This refactoring should not only allow for easier maintenance as the
code size has shrunk, it also implements a few advantages over the
previous implementation:

 - playlist_preparser_Cancel is now optionally blocking if the
   referred to item is currently being preparsed (required in cases
   where another action would race with the preparser, such as
   playback (as preparsing and playing an entity at the same time can
   lead to duplicate items in the playlist).

 - the congestion in terms of interacting with the preparser, and the
   preparsing itself, is lower. Meaning that we will finish a queue of
   items to preparse faster than with the old implementation.

Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
5 years agoplaylist/background_worker: introduce background-worker utility
Filip Roséen [Mon, 10 Oct 2016 23:36:25 +0000 (01:36 +0200)]
playlist/background_worker: introduce background-worker utility

This added utility will make it easier to handle a queue of tasks that
is to be finished in the order received. It allows for users of the
utility to focus on the end-goal instead of having to deal with
synchronization issues in terms of task-queue handling.

Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
5 years agocodec hxxx: fix parsing avcc
Francois Cartegnie [Tue, 28 Mar 2017 14:19:25 +0000 (16:19 +0200)]
codec hxxx: fix parsing avcc

Signed-off-by: Thomas Guillem <thomas@gllm.fr>
5 years agocodec: hxxx: always use externally specified nal length size
Francois Cartegnie [Tue, 28 Mar 2017 13:29:51 +0000 (15:29 +0200)]
codec: hxxx: always use externally specified nal length size

Signed-off-by: Thomas Guillem <thomas@gllm.fr>
5 years agovideotoolbox: missing hxxx cleanup
Francois Cartegnie [Tue, 28 Mar 2017 15:02:04 +0000 (17:02 +0200)]
videotoolbox: missing hxxx cleanup

Signed-off-by: Thomas Guillem <thomas@gllm.fr>
5 years agovideotoolbox: drain output pictures before restarting
Thomas Guillem [Mon, 27 Mar 2017 15:19:39 +0000 (17:19 +0200)]
videotoolbox: drain output pictures before restarting

5 years agovideotoolbox: restart in case of kVTVideoDecoderBadDataErr
Thomas Guillem [Mon, 27 Mar 2017 14:52:33 +0000 (16:52 +0200)]
videotoolbox: restart in case of kVTVideoDecoderBadDataErr

Restart and try to decode the same block again.

5 years agovideotoolbox: refactor error handling
Thomas Guillem [Mon, 27 Mar 2017 14:52:02 +0000 (16:52 +0200)]
videotoolbox: refactor error handling

5 years agomediacodec: increase hack delay to 2 seconds
Thomas Guillem [Tue, 28 Mar 2017 08:20:39 +0000 (10:20 +0200)]
mediacodec: increase hack delay to 2 seconds

5 years agomediacodec: drain before restart
Thomas Guillem [Mon, 27 Mar 2017 15:59:07 +0000 (17:59 +0200)]
mediacodec: drain before restart

This avoid to loose some frames when SPS/PPS change.

5 years agomediacodec: OutThread can be drained more than one time
Thomas Guillem [Mon, 27 Mar 2017 15:51:07 +0000 (17:51 +0200)]
mediacodec: OutThread can be drained more than one time

5 years agomediacodec: refactor input block queue function
Thomas Guillem [Mon, 27 Mar 2017 15:40:58 +0000 (17:40 +0200)]
mediacodec: refactor input block queue function

5 years agomediacodec: add adaptive playback support
Thomas Guillem [Fri, 24 Mar 2017 11:02:22 +0000 (12:02 +0100)]
mediacodec: add adaptive playback support

Starting Android 4.4, devices can have the "adaptive-playback" capability. If a
device have such capability, we don't have to use hxxx_helper to detect SPS/PPS
change since the device is capable of handling it. It can also handle a video
size change.

5 years agomediacodec: setup block callbacks from PaseVideoExtra
Thomas Guillem [Fri, 24 Mar 2017 10:51:24 +0000 (11:51 +0100)]
mediacodec: setup block callbacks from PaseVideoExtra

5 years agomediacodec: add missing alloc check
Thomas Guillem [Thu, 23 Mar 2017 15:05:56 +0000 (16:05 +0100)]
mediacodec: add missing alloc check

5 years agomediacodec/videotoolbox: add hxxx_helper
Thomas Guillem [Tue, 21 Mar 2017 09:58:51 +0000 (10:58 +0100)]
mediacodec/videotoolbox: add hxxx_helper

hxxx_helper is a H264/HEVC helper used by mediacodec and videtoolbox. For
mediacodec, it's used to convert (and validate) xvcC to AnnexB or used to
detect SPS/PPS change when decoding AnnexB. For videotoolbox, it's used to
validate avcC or to convert AnnexB to avcC (and detect SPS/PPS change) when
decoding AnnexB.

5 years agovideotoolbox: merge starts and stops functions
Thomas Guillem [Fri, 24 Mar 2017 12:16:22 +0000 (13:16 +0100)]
videotoolbox: merge starts and stops functions

Merge StartVideoToolbox with StartVideoToolboxSession, and merge
StopVideoToolbox with StopVideoToolboxSession.

5 years agovideotoolbox: split StartVideoToolbox
Thomas Guillem [Thu, 23 Mar 2017 15:37:05 +0000 (16:37 +0100)]
videotoolbox: split StartVideoToolbox

Split decoder extra configuration from StartVideoToolbox.

5 years agopacketizer: h264: handle more than one SPS/PPS in h264_NAL_to_avcC
Thomas Guillem [Fri, 24 Mar 2017 07:16:22 +0000 (08:16 +0100)]
packetizer: h264: handle more than one SPS/PPS in h264_NAL_to_avcC

5 years agopacketizer: h264: remove unused function
Thomas Guillem [Thu, 23 Mar 2017 16:36:19 +0000 (17:36 +0100)]
packetizer: h264: remove unused function

5 years agoblock: expose block_TryRealloc
Thomas Guillem [Fri, 24 Mar 2017 15:36:14 +0000 (16:36 +0100)]
block: expose block_TryRealloc

5 years agopacketizer: dts: check header values range
Francois Cartegnie [Wed, 29 Mar 2017 09:52:24 +0000 (11:52 +0200)]
packetizer: dts: check header values range

5 years agocontrib: bump microdns to 0.0.5
Hugo Beauzée-Luyssen [Wed, 29 Mar 2017 09:48:35 +0000 (11:48 +0200)]
contrib: bump microdns to 0.0.5

5 years agopacketizer: h264: fix read check on total avcc size computation
Francois Cartegnie [Tue, 28 Mar 2017 14:16:32 +0000 (16:16 +0200)]
packetizer: h264: fix read check on total avcc size computation

5 years agopacketizer: dts: workaround incorrect FSIZE (fix #18166)
Francois Cartegnie [Tue, 28 Mar 2017 19:47:23 +0000 (21:47 +0200)]
packetizer: dts: workaround incorrect FSIZE (fix #18166)

5 years agoplaylist: sort: remove tabs
Hugo Beauzée-Luyssen [Wed, 29 Mar 2017 07:57:27 +0000 (09:57 +0200)]
playlist: sort: remove tabs

5 years agoplaylist: sort: Fix potential null dereference
Hugo Beauzée-Luyssen [Wed, 29 Mar 2017 07:56:15 +0000 (09:56 +0200)]
playlist: sort: Fix potential null dereference

Fix CID #1403397 #1403398

5 years agoram: Fix potential null dereference
Hugo Beauzée-Luyssen [Wed, 29 Mar 2017 07:46:48 +0000 (09:46 +0200)]
ram: Fix potential null dereference

Fix CID #1403399

5 years agovlc_network: move OS/2 stuffs to include/vlc_fixups.h
KO Myung-Hun [Tue, 28 Mar 2017 13:08:48 +0000 (22:08 +0900)]
vlc_network: move OS/2 stuffs to include/vlc_fixups.h

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
5 years agocompat: Add sigwait dummy for NaCl
Julian Scheel [Wed, 22 Mar 2017 08:58:54 +0000 (09:58 +0100)]
compat: Add sigwait dummy for NaCl

Implement a sigwait dummy for NaCl, which relies on:
- NaCl does never send SIGPIPE to to apps (see
https://codereview.chromium.org/288063004/)
- VLC uses sigwait exclusively to wait for SIGPIPE

If sigwait is asked to wait for anything else than SIGPIPE it will run
into an assertion failure, so that breakage would not be silent.

Signed-off-by: Julian Scheel <julian@jusst.de>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
5 years agonacl: vlc_fixups: Define TCP_NODELAY
Julian Scheel [Wed, 22 Mar 2017 08:59:00 +0000 (09:59 +0100)]
nacl: vlc_fixups: Define TCP_NODELAY

netinet/tcp.h is broken in NaCl/Newlib. Define TCP_NODELAY for it.

Signed-off-by: Julian Scheel <julian@jusst.de>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>