vlc.git
11 months agostream_out: standard: add 'srt'
Justin Kim [Wed, 27 Sep 2017 05:02:35 +0000 (14:02 +0900)]
stream_out: standard: add 'srt'

SRT is similar to UDP.

Signed-off-by: Justin Kim <justin.kim@collabora.com>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
11 months agoaccess_out:srt: introduce SRT ouput module
Justin Kim [Wed, 27 Sep 2017 05:02:34 +0000 (14:02 +0900)]
access_out:srt: introduce SRT ouput module

The access_output_srt module is a SRT client to send a stream.

Signed-off-by: Justin Kim <justin.kim@collabora.com>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
11 months agoaccess: srt: introduce srt input module
Justin Kim [Wed, 27 Sep 2017 05:02:33 +0000 (14:02 +0900)]
access: srt: introduce srt input module

Secure Reliable Transport (SRT) is a proprietary transport technology
that optimizes streaming performance across unpredictable networks.
This patch is an imlementation of input module which works as a SRT
client based on SRT Library[0].

[0] https://github.com/Haivision/srt/releases

Signed-off-by: Justin Kim <justin.kim@collabora.com>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
11 months agodxva2: fix interface leak
Steve Lhomme [Fri, 29 Sep 2017 12:45:27 +0000 (14:45 +0200)]
dxva2: fix interface leak

We don't need to get this one, we already hold a reference from calling
IDirect3DSurface9_GetDevice().

Close #18849

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
11 months agodxva2: warn when closing the device handle failed
Steve Lhomme [Fri, 29 Sep 2017 12:45:26 +0000 (14:45 +0200)]
dxva2: warn when closing the device handle failed

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
11 months agodxva2: remove dead code
Steve Lhomme [Fri, 29 Sep 2017 12:45:25 +0000 (14:45 +0200)]
dxva2: remove dead code

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
11 months agoconfigure: Use consistent test style
Marvin Scholz [Tue, 3 Oct 2017 23:51:09 +0000 (01:51 +0200)]
configure: Use consistent test style

11 months agoconfigure: Do not use -no-undefined with sanitizers on darwin
Marvin Scholz [Tue, 3 Oct 2017 23:50:42 +0000 (01:50 +0200)]
configure: Do not use -no-undefined with sanitizers on darwin

Using sanitizer and no-undefined will cause linker errors on darwin due
to undefined symbols of the sanitizer.

This is adapted from a patch by Filip Roséen.

11 months agolib/media: don't request local art twice
Thomas Guillem [Thu, 5 Oct 2017 08:35:47 +0000 (10:35 +0200)]
lib/media: don't request local art twice

11 months agolibvlc: add an option to disable lua
Thomas Guillem [Thu, 5 Oct 2017 08:00:33 +0000 (10:00 +0200)]
libvlc: add an option to disable lua

Playlist lua modules are probed for each opened input. This can take a lot of
time, it can double the time of a local parsing where no lua module are needed.
This time is negligible when playing a file.

Playlist lua probe can take 5ms on desktop (in comparison of 5ms for parsing),
or 50ms on some android devices.

This new option can be used by VLC ports to disable lua when using VLC for
parsing.

11 months agomacosx: Fix height of playlist export accessory view
Marvin Scholz [Wed, 4 Oct 2017 20:34:37 +0000 (22:34 +0200)]
macosx: Fix height of playlist export accessory view

Fix #18891

11 months agohttp: fix NULL deref if password is missing
Rémi Denis-Courmont [Wed, 4 Oct 2017 17:00:06 +0000 (20:00 +0300)]
http: fix NULL deref if password is missing

Basic authentication requires both username and password.

11 months agoold http: fix leak on reconnect
Rémi Denis-Courmont [Wed, 4 Oct 2017 16:58:39 +0000 (19:58 +0300)]
old http: fix leak on reconnect

The auth state machine must be reinitialized at every connection.

NOTE: There are still (probably, untested) leaks if HTTP response
contains multiple auth-related header lines with the same name.

11 months agoinput: Remove dead code
Hugo Beauzée-Luyssen [Tue, 3 Oct 2017 16:11:00 +0000 (18:11 +0200)]
input: Remove dead code

11 months agoinput: Reintroduce subtitle extension check
Hugo Beauzée-Luyssen [Tue, 3 Oct 2017 16:07:33 +0000 (18:07 +0200)]
input: Reintroduce subtitle extension check

Fix #18882

11 months agodarwin/dirs: Remove accidentally added strdup
Marvin Scholz [Wed, 4 Oct 2017 06:25:34 +0000 (08:25 +0200)]
darwin/dirs: Remove accidentally added strdup

11 months agodarwin/dirs: Fix stack-use-after-scope bug
Marvin Scholz [Tue, 3 Oct 2017 23:00:56 +0000 (01:00 +0200)]
darwin/dirs: Fix stack-use-after-scope bug

11 months agoes_out: fix video format tables
Rémi Denis-Courmont [Tue, 3 Oct 2017 18:35:41 +0000 (21:35 +0300)]
es_out: fix video format tables

 - Fix missing const (and eliminate relocs)
 - Remove tautology comparison, use static assertion
 - Use named indices

11 months agoinput: fix potential signed overflow
Rémi Denis-Courmont [Tue, 3 Oct 2017 18:15:46 +0000 (21:15 +0300)]
input: fix potential signed overflow

11 months agomacosx: Do not resize fullscreen panel on long video names
David Fuhrmann [Tue, 3 Oct 2017 17:58:49 +0000 (19:58 +0200)]
macosx: Do not resize fullscreen panel on long video names

All labels with video names should not resize any window. Thus
make sure to always set a compression resistance < 500 for those
labels.

11 months agozsh: replace printf/puts with std::cout
Sebastian Ramacher [Sun, 1 Oct 2017 23:11:15 +0000 (01:11 +0200)]
zsh: replace printf/puts with std::cout

Signed-off-by: Sebastian Ramacher <sramacher@debian.org>
Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
11 months agozsh completion: use public module interface
Sebastian Ramacher [Sun, 1 Oct 2017 23:11:14 +0000 (01:11 +0200)]
zsh completion: use public module interface

Signed-off-by: Sebastian Ramacher <sramacher@debian.org>
Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
11 months agozsh completion: adapt to module interface changes
Sebastian Ramacher [Sun, 1 Oct 2017 23:11:13 +0000 (01:11 +0200)]
zsh completion: adapt to module interface changes

Use module_config_get to obtain modules. Change ReplaceChars to work on
std::strings as we have to copy the strings anyhow. Also psz_type of
CONFIG_ITEM_MODULE type module configs can be NULL now.

Signed-off-by: Sebastian Ramacher <sramacher@debian.org>
Signed-off-by: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
11 months agoshine: Don't assume int == long int
Hugo Beauzée-Luyssen [Thu, 28 Sep 2017 13:35:04 +0000 (15:35 +0200)]
shine: Don't assume int == long int

shine_encode_buffer expects an integer

11 months agoshine: Remove trailing whitespaces
Hugo Beauzée-Luyssen [Thu, 28 Sep 2017 13:34:57 +0000 (15:34 +0200)]
shine: Remove trailing whitespaces

11 months agocodec: videotoolbox: fix build
Francois Cartegnie [Tue, 3 Oct 2017 12:27:42 +0000 (14:27 +0200)]
codec: videotoolbox: fix build

11 months agocodec: hxxx_helper: refactor using codec
Francois Cartegnie [Mon, 2 Oct 2017 15:17:56 +0000 (17:17 +0200)]
codec: hxxx_helper: refactor using codec

11 months agocodec: hxxx_helper: add hevc
Francois Cartegnie [Mon, 2 Oct 2017 14:20:58 +0000 (16:20 +0200)]
codec: hxxx_helper: add hevc

11 months agopacketizer: hevc: extract sar
Francois Cartegnie [Tue, 3 Oct 2017 11:24:54 +0000 (13:24 +0200)]
packetizer: hevc: extract sar

11 months agomacosx: Fix crash when trying to save metadata for empty item
David Fuhrmann [Tue, 3 Oct 2017 10:57:47 +0000 (12:57 +0200)]
macosx: Fix crash when trying to save metadata for empty item

11 months agopacketizer: hevc: only use prematched vps
Francois Cartegnie [Mon, 2 Oct 2017 15:31:40 +0000 (17:31 +0200)]
packetizer: hevc: only use prematched vps

stop requiring aligned vps list

11 months agopacketizer: hevc: check id range in getter
Francois Cartegnie [Mon, 2 Oct 2017 13:56:58 +0000 (15:56 +0200)]
packetizer: hevc: check id range in getter

11 months agopacketizer: hevc_nal: extract reorder depth
Francois Cartegnie [Mon, 2 Oct 2017 11:56:34 +0000 (13:56 +0200)]
packetizer: hevc_nal: extract reorder depth

11 months agopacketizer: hevc_nal: add poc initializer helper
Francois Cartegnie [Mon, 2 Oct 2017 11:45:52 +0000 (13:45 +0200)]
packetizer: hevc_nal: add poc initializer helper

11 months agopacketizer: hevc_nal: retrieve source scan
Francois Cartegnie [Mon, 2 Oct 2017 11:45:20 +0000 (13:45 +0200)]
packetizer: hevc_nal: retrieve source scan

11 months agomacosx: Open panel: Fix enabling audio popup menu in recoding tab
David Fuhrmann [Tue, 3 Oct 2017 09:41:15 +0000 (11:41 +0200)]
macosx: Open panel: Fix enabling audio popup menu in recoding tab

Group methods together where they belong.
Also fixes autolayout issue in network tab on 10.7.

11 months agomacosx: open panel: Integrate capture views into main window
David Fuhrmann [Tue, 3 Oct 2017 08:54:43 +0000 (10:54 +0200)]
macosx: open panel: Integrate capture views into main window

Add a tab view for capture and screen panels and move them there.
This is important to have their width calculation already respected
at showing the open panel. Also cleans up code a bit.

11 months agomacosx: open panel: Make width flexible to allow for l10n grows
David Fuhrmann [Tue, 3 Oct 2017 08:04:56 +0000 (10:04 +0200)]
macosx: open panel: Make width flexible to allow for l10n grows

11 months agomacosx: simple prefs: Fix some alignment issues for boxes
David Fuhrmann [Mon, 2 Oct 2017 14:23:46 +0000 (16:23 +0200)]
macosx: simple prefs: Fix some alignment issues for boxes

11 months agomacosx: open panel: Fixes lots of warnings about wrappable text fields
David Fuhrmann [Mon, 2 Oct 2017 13:23:35 +0000 (15:23 +0200)]
macosx: open panel: Fixes lots of warnings about wrappable text fields

Usually, most of the description labels shall appear as a single
line label only. To enforce that correctly (also for 10.7) the
following is set:
- Set "Uses single line mode" to YES
- Set layout to "truncates"
- Important: Set horizontal compression resistance to 750, so that
  window resizes on larger text
- Make sure preferred width is set to automatic

11 months agomacosx: simple prefs: Minimum height for hotkey table
David Fuhrmann [Mon, 2 Oct 2017 12:50:06 +0000 (14:50 +0200)]
macosx: simple prefs: Minimum height for hotkey table

Set minimum height for hotkey table view to avoid
full collapse on 10.7

11 months agomacosx: open panel: use wrappable text field in network tab
David Fuhrmann [Mon, 2 Oct 2017 12:48:57 +0000 (14:48 +0200)]
macosx: open panel: use wrappable text field in network tab

11 months agomacosx: Add helper class for multi-line text fields
David Fuhrmann [Mon, 2 Oct 2017 12:41:41 +0000 (14:41 +0200)]
macosx: Add helper class for multi-line text fields

Autolayout on 10.7 cannot handle multi line text fields
automatically. Add a helper class which help calulating the
intrinsic size of the text fields.

Use that class first in resume dialog.

refs #17730

11 months agoopengl: fix fall through warning
Thomas Guillem [Tue, 3 Oct 2017 07:12:48 +0000 (09:12 +0200)]
opengl: fix fall through warning

11 months agocodec: videotoolbox: with avcC playback with nal_length_size != 4
Thomas Guillem [Mon, 2 Oct 2017 11:20:24 +0000 (13:20 +0200)]
codec: videotoolbox: with avcC playback with nal_length_size != 4

Fixes #18876

11 months agovout: add missing frameworks to libglconv_cvpx LDFLAGS
Marvin Scholz [Mon, 2 Oct 2017 10:46:57 +0000 (12:46 +0200)]
vout: add missing frameworks to libglconv_cvpx LDFLAGS

11 months agovout: fix libglconv_cvpx LDFLAGS
Thomas Guillem [Mon, 2 Oct 2017 08:33:29 +0000 (10:33 +0200)]
vout: fix libglconv_cvpx LDFLAGS

Fixes #18870

11 months agoopengl: add BGRA texture support
Thomas Guillem [Mon, 2 Oct 2017 07:50:32 +0000 (09:50 +0200)]
opengl: add BGRA texture support

Refs #18870

11 months agochroma: cvpx: add missing error check
Thomas Guillem [Mon, 2 Oct 2017 07:24:32 +0000 (09:24 +0200)]
chroma: cvpx: add missing error check

11 months agocodec: ttml: fix font size computation
Francois Cartegnie [Sat, 30 Sep 2017 09:23:36 +0000 (11:23 +0200)]
codec: ttml: fix font size computation

11 months agopacketizer: hevc: use global interlaced content tagging
Francois Cartegnie [Fri, 29 Sep 2017 17:51:19 +0000 (19:51 +0200)]
packetizer: hevc: use global interlaced content tagging

11 months agopacketizer: h264: prefix poc_context_t
Francois Cartegnie [Fri, 29 Sep 2017 16:34:03 +0000 (18:34 +0200)]
packetizer: h264: prefix poc_context_t

11 months agolua: Add alternative hosts to Twitch script
Marvin Scholz [Fri, 29 Sep 2017 18:32:28 +0000 (20:32 +0200)]
lua: Add alternative hosts to Twitch script

11 months agomacosx: Fix RTL setting for checkbox in simple preferences
David Fuhrmann [Sat, 30 Sep 2017 13:39:04 +0000 (15:39 +0200)]
macosx: Fix RTL setting for checkbox in simple preferences

11 months agomacosx: SyncTracks: Fix constraints, remove explicit width and height
David Fuhrmann [Sat, 30 Sep 2017 12:13:55 +0000 (14:13 +0200)]
macosx: SyncTracks: Fix constraints, remove explicit width and height

11 months agomacosx: Allow toggling of bookmark window
David Fuhrmann [Sat, 30 Sep 2017 11:43:02 +0000 (13:43 +0200)]
macosx: Allow toggling of bookmark window

This unifies behaviour with all the other HUD panels

11 months agomacosx: bookmarks panel: Fix layout, set minimum size
David Fuhrmann [Sat, 30 Sep 2017 11:34:52 +0000 (13:34 +0200)]
macosx: bookmarks panel: Fix layout, set minimum size

Fix layout with translated strings. Set minimum sizes for table
view.

11 months agomacosx: bookmarks: Remove extract button
David Fuhrmann [Sat, 30 Sep 2017 11:26:56 +0000 (13:26 +0200)]
macosx: bookmarks: Remove extract button

Extracting between different bookmarks was only possible with the
old streaming wizard which is removed since a long time. As the
new CAS panel does not support that feature, remove the button
for now.

11 months agomacosx: log window: Do not set modal window level
David Fuhrmann [Sat, 30 Sep 2017 11:20:16 +0000 (13:20 +0200)]
macosx: log window: Do not set modal window level

Previous level was showing window over all VLC windows and even
over windows from different application. This is not that
practical for debugging.

11 months agomacosx: Improve horizontal resizing behaviour in simple prefs
David Fuhrmann [Sat, 30 Sep 2017 11:05:58 +0000 (13:05 +0200)]
macosx: Improve horizontal resizing behaviour in simple prefs

Layout popups / etc. in such a way that they increase size
in case of horizontal resize.
For labels, make sure:
- set single line mode to true, truncate
- set compression resistency to 750, so they do not get truncated
- set hugging priority to 251, so that popups get expanded, not labels
- With that, fixes some build warnings for functionality before 10.11

Also, set maximum frame size to current frame size. This should
disallow excessive horizontal resizes, whereas vertical resizes
are still ok.
Set better background color for scroll view.

11 months agovout: also flush vd render filters
Thomas Guillem [Fri, 29 Sep 2017 16:04:23 +0000 (18:04 +0200)]
vout: also flush vd render filters

This fixes a video freeze after a seek with VDPAU HW rendering. Indeed, the
VLC_CODEC_VDPAU_OUTPUT video converter need to be flushed to clear pictures
history.

Fixes #18423

11 months agofourcc: add VLC_CODEC_CVPX_BGRA fallback
Thomas Guillem [Fri, 29 Sep 2017 15:14:06 +0000 (17:14 +0200)]
fourcc: add VLC_CODEC_CVPX_BGRA fallback

11 months agochroma: cvpx: also handle direct conversions
Thomas Guillem [Fri, 29 Sep 2017 14:38:29 +0000 (16:38 +0200)]
chroma: cvpx: also handle direct conversions

Handle VLC_CODEC_CVPX_BGRA <=> VLC_CODEC_BGRA without NV12 filter proxy. (same
for NV12, YUV2, I420)

11 months agocodec: substext: handle blink style
Francois Cartegnie [Fri, 29 Sep 2017 11:11:42 +0000 (13:11 +0200)]
codec: substext: handle blink style

11 months agovlc_text_style: add blink style
Francois Cartegnie [Fri, 29 Sep 2017 11:12:02 +0000 (13:12 +0200)]
vlc_text_style: add blink style

required by captions

11 months agoci_filters: fix pf_video_mouse return value
Thomas Guillem [Fri, 29 Sep 2017 12:07:41 +0000 (14:07 +0200)]
ci_filters: fix pf_video_mouse return value

11 months agovout/opengl: module should define capabilities
Pierre Lamot [Fri, 29 Sep 2017 09:24:31 +0000 (11:24 +0200)]
vout/opengl: module should define capabilities

  This was notably causing a SEGV in the configuration interface.

Signed-off-by: Thomas Guillem <thomas@gllm.fr>
11 months agoci_filters: add way to load a specific CIFilter
Thomas Guillem [Fri, 29 Sep 2017 11:11:02 +0000 (13:11 +0200)]
ci_filters: add way to load a specific CIFilter

For example:
vlc --video-filter ci --ci-filter CICrystallize

11 months agoci_filters: add psychedelic
Thomas Guillem [Fri, 29 Sep 2017 11:08:26 +0000 (13:08 +0200)]
ci_filters: add psychedelic

11 months agoci_filters: add callbacks to control a filter
Thomas Guillem [Fri, 29 Sep 2017 11:09:37 +0000 (13:09 +0200)]
ci_filters: add callbacks to control a filter

11 months agoci_filters: handle mouse events
Thomas Guillem [Fri, 29 Sep 2017 11:06:43 +0000 (13:06 +0200)]
ci_filters: handle mouse events

11 months agoci_filters: fail if the CI filter doesn't exist
Thomas Guillem [Fri, 29 Sep 2017 11:04:41 +0000 (13:04 +0200)]
ci_filters: fail if the CI filter doesn't exist

11 months agoci_filters: pass filter_t to internal functions
Thomas Guillem [Thu, 28 Sep 2017 16:17:23 +0000 (18:17 +0200)]
ci_filters: pass filter_t to internal functions

11 months agomacosx: Add build date + time to about dialog
Marvin Scholz [Fri, 29 Sep 2017 11:15:48 +0000 (13:15 +0200)]
macosx: Add build date + time to about dialog

11 months agomacosx: Remove custom HUDOutlineView selection color
Marvin Scholz [Thu, 28 Sep 2017 19:27:55 +0000 (21:27 +0200)]
macosx: Remove custom HUDOutlineView selection color

This is not working fine anymore and causing visual glitches.

11 months agoaccess: decklink: Set video chroma format
Julian Scheel [Wed, 27 Sep 2017 15:11:20 +0000 (17:11 +0200)]
access: decklink: Set video chroma format

A properly set chroma field is required for automatic filter selection
to work. As this is raw video chroma and codec are equal.

Signed-off-by: Julian Scheel <julian@jusst.de>
Signed-off-by: Ilkka Ollakka <ileoo@videolan.org>
11 months agolibvlc: don't check current state in libvlc_media_player_set_pause
Zhao Zhili [Thu, 28 Sep 2017 02:34:20 +0000 (10:34 +0800)]
libvlc: don't check current state in libvlc_media_player_set_pause

Since input_Control is executed asynchronously, current state may be
different to the state when INPUT_SET_STATE executing. Here is a use
case which is broken by check current state in
libvlc_media_player_set_pause():

1. current state is paused
2. call libvlc_media_player_play()
3. call libvlc_media_player_set_pause() immediately before
INPUT_SET_STATE PLAYING_S is executed, libvlc_media_player_set_pause()
will do nothing, so it looks like the pause request is been dropped
silently

Signed-off-by: Thomas Guillem <thomas@gllm.fr>
11 months agocodec: ttml: fix applying region > style attributes
Francois Cartegnie [Thu, 28 Sep 2017 20:07:03 +0000 (22:07 +0200)]
codec: ttml: fix applying region > style attributes

11 months agomacosx: Fix ignoring arguments in application:openFiles:
Marvin Scholz [Thu, 28 Sep 2017 19:01:42 +0000 (21:01 +0200)]
macosx: Fix ignoring arguments in application:openFiles:

In the past, it was relied on the playlist item count to ignore items
that were already parsed by libvlc, but this is not enough as with some
command line flag combinations, like
  -v --video-splitter clone --clone-count 5
libvlc would not add any files, but Cocoa would try to open "clone" as
a file.

Therefore we need to ignore the intersection of the launch arguments and
the files to open.

11 months agocodec: ttml: fix region percent origin
Francois Cartegnie [Thu, 28 Sep 2017 17:59:47 +0000 (19:59 +0200)]
codec: ttml: fix region percent origin

11 months agowebservices: acoustid: move to https
Francois Cartegnie [Thu, 28 Sep 2017 13:53:47 +0000 (15:53 +0200)]
webservices: acoustid: move to https

11 months agocodec: cc/substext: remove late flags on update
Francois Cartegnie [Thu, 28 Sep 2017 16:39:36 +0000 (18:39 +0200)]
codec: cc/substext: remove late flags on update

11 months agocodec: cc/substext: handle relative offset, don't use cc/row coords
Francois Cartegnie [Thu, 28 Sep 2017 15:57:05 +0000 (17:57 +0200)]
codec: cc/substext: handle relative offset, don't use cc/row coords

11 months agovout: increase splitted vd pool size
Thomas Guillem [Thu, 28 Sep 2017 16:17:23 +0000 (18:17 +0200)]
vout: increase splitted vd pool size

Since some vout may hold a reference on the displayed picture.

Fixes #18537

11 months agoci_filters: output BGRA instead of NV12 as intermediate
Thomas Guillem [Thu, 28 Sep 2017 11:50:36 +0000 (13:50 +0200)]
ci_filters: output BGRA instead of NV12 as intermediate

When filtering a 1080p YUV2 video, CPU goes from 60% to 40%. Ideally, the vout
should be reconfigured to switch from YUV2 to BGRA to get the best performances
possible.

11 months agoci_filters: fix leak
Thomas Guillem [Thu, 28 Sep 2017 11:46:46 +0000 (13:46 +0200)]
ci_filters: fix leak

11 months agoci_filters: use CoreImage converter for source
Thomas Guillem [Thu, 28 Sep 2017 09:11:18 +0000 (11:11 +0200)]
ci_filters: use CoreImage converter for source

CoreImage can accept YUV2 as input (it'll do a conversion internally), but it
can't output this same chroma (so the dst_cnverter is still needed).

11 months agodemux: adaptive: reselect using SET_ES instead of SET_ES_STATE
Francois Cartegnie [Thu, 28 Sep 2017 10:21:43 +0000 (12:21 +0200)]
demux: adaptive: reselect using SET_ES instead of SET_ES_STATE

Otherwises other decoders are still active and then streams.
Also could trigger dual selected track states.

11 months agovlc_es_out: update comments to avoid es state control misuses
Francois Cartegnie [Thu, 28 Sep 2017 10:20:09 +0000 (12:20 +0200)]
vlc_es_out: update comments to avoid es state control misuses

11 months agocodec: videotoolbox: always check device capabilities
Thomas Guillem [Thu, 28 Sep 2017 09:06:19 +0000 (11:06 +0200)]
codec: videotoolbox: always check device capabilities

The H264 profile/level check was only done for avcC content and not when a new
SPS/PPS was parsed.

11 months agocodec: videotoolbox: error if SetH264DecoderInfo fails
Thomas Guillem [Thu, 28 Sep 2017 09:04:17 +0000 (11:04 +0200)]
codec: videotoolbox: error if SetH264DecoderInfo fails

11 months agocodec: videotoolbox: simplify CodecPrecheck
Thomas Guillem [Thu, 28 Sep 2017 07:00:23 +0000 (09:00 +0200)]
codec: videotoolbox: simplify CodecPrecheck

11 months agocodec: hxxx_helper: add h264_helper_get_current_profile_level
Thomas Guillem [Thu, 28 Sep 2017 07:37:57 +0000 (09:37 +0200)]
codec: hxxx_helper: add h264_helper_get_current_profile_level

11 months agodemux: adaptive: fix download from each adaptation set
Francois Cartegnie [Wed, 27 Sep 2017 17:44:37 +0000 (19:44 +0200)]
demux: adaptive: fix download from each adaptation set

since gc does not happen after disabling,
es is still seen as selected.

11 months agodemux: adaptive: add stream name in deactivation notice
Francois Cartegnie [Wed, 27 Sep 2017 17:16:26 +0000 (19:16 +0200)]
demux: adaptive: add stream name in deactivation notice

11 months agocodec: videotoolbox: don't handle interlaced video on iOS
Thomas Guillem [Wed, 27 Sep 2017 17:10:53 +0000 (19:10 +0200)]
codec: videotoolbox: don't handle interlaced video on iOS

See http://www.openradar.me/30669495

11 months agocodec: videotoolbox: flush before invalidating the session
Thomas Guillem [Wed, 27 Sep 2017 16:56:37 +0000 (18:56 +0200)]
codec: videotoolbox: flush before invalidating the session

This fixes a deadlock when stopping the VT Session on iOS 11.

VTDecompressionSessionInvalidate() can wait indefinitely if
VTDecompressionSessionWaitForAsynchronousFrames() is not called before.

11 months agocodec: videotoolbox: simplify draining
Thomas Guillem [Wed, 27 Sep 2017 16:52:25 +0000 (18:52 +0200)]
codec: videotoolbox: simplify draining

VTDecompressionSessionFinishDelayedFrames() is automatically called from
VTDecompressionSessionWaitForAsynchronousFrames().

11 months agocodec: videotoolbox: handle errors from callback too
Thomas Guillem [Wed, 27 Sep 2017 14:29:52 +0000 (16:29 +0200)]
codec: videotoolbox: handle errors from callback too

Some errors are only triggered from the decoder callback and not from the
VTDecompressionSessionDecodeFrame() function. We need to handle them in both
places.

11 months agodemux: hls: set non default ID on adaptsets
Francois Cartegnie [Wed, 27 Sep 2017 15:34:47 +0000 (17:34 +0200)]
demux: hls: set non default ID on adaptsets