[vlc-devel] [PATCH 00/12] Send decoders errors and state to libvlc

Thomas Guillem thomas at gllm.fr
Thu Jun 9 11:51:52 CEST 2016


This set of patches aims to send decoders state and error to libvlc users via
libvlc events.

When the decoder thread fails, it will now send an input event (the thread
won't be stopped). We let the libvlc user decide what to do when this kind of
errors occurs (deactivate ES_OUT, change ES_OUT, stop, play next video...).

In addition, I decided to send an event when the decoding is
hardware-accelerated. Indeed, more and more libvlc users wanted to way to get
that information.

Thomas Guillem (12):
  decoder: change error handling
  decoder: update error state when vout creation fails
  decoder: sent state to a listener
  input/event: add input_SendDecoderState
  es_out: propagate decoders state to input
  libvlc: add libvlc_MediaPlayerDecoderStateChanged event
  mediacodec: use decoder_SetErrorGeneric to notify an error
  mediacodec: signal that decoding is hardware-accelerated
  omxil: signal that decoding is hardware-accelerated
  videotoolbox: signal that decoding is hardware-accelerated
  avcodec: signal that decoding is hardware-accelerated
  avcodec: signal DECODER_STATE_ERROR_INPUT when data is not valid

 include/vlc/libvlc_events.h          |  7 ++++
 include/vlc/libvlc_media_player.h    | 11 +++++++
 include/vlc_codec.h                  | 25 +++++++++++++-
 include/vlc_input.h                  |  4 +++
 lib/event.c                          |  1 +
 lib/libvlc_internal.h                |  1 +
 lib/media_player.c                   | 32 ++++++++++++++++++
 modules/codec/avcodec/video.c        |  9 +++--
 modules/codec/gstreamer/gstdecode.c  | 16 +++++----
 modules/codec/omxil/mediacodec.c     | 18 +++-------
 modules/codec/omxil/omxil.c          |  1 +
 modules/codec/videotoolbox.m         |  4 ++-
 modules/video_output/android/utils.c | 29 ----------------
 modules/video_output/android/utils.h |  5 ---
 src/input/decoder.c                  | 64 ++++++++++++++++++++++++++----------
 src/input/decoder.h                  |  5 ++-
 src/input/es_out.c                   | 18 ++++++++--
 src/input/event.c                    | 29 ++++++++++++++++
 src/input/event.h                    |  1 +
 src/input/var.c                      |  6 ++++
 20 files changed, 206 insertions(+), 80 deletions(-)

-- 
2.8.1



More information about the vlc-devel mailing list