Merge commit '577899a6458ccad9026eb268f10dc0b39c224c8d'
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 6 Oct 2014 19:08:55 +0000 (21:08 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 6 Oct 2014 19:08:55 +0000 (21:08 +0200)
* commit '577899a6458ccad9026eb268f10dc0b39c224c8d':
  lavc: specify the behavior of av_lockmgr_register on failure.

Conflicts:
libavcodec/avcodec.h
libavcodec/utils.c
libavcodec/version.h

See: a950edb472e8823e34832c7313ba447b2db76f27
Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavcodec/avcodec.h
libavcodec/utils.c
libavcodec/version.h

Simple merge
@@@ -3507,38 -2347,6 +3507,39 @@@ int av_lockmgr_register(int (*cb)(void 
      return 0;
  }
  
 +int ff_lock_avcodec(AVCodecContext *log_ctx)
 +{
 +    if (lockmgr_cb) {
 +        if ((*lockmgr_cb)(&codec_mutex, AV_LOCK_OBTAIN))
 +            return -1;
 +    }
 +    entangled_thread_counter++;
 +    if (entangled_thread_counter != 1) {
 +        av_log(log_ctx, AV_LOG_ERROR, "Insufficient thread locking around avcodec_open/close()\n");
 +        if (!lockmgr_cb)
 +            av_log(log_ctx, AV_LOG_ERROR, "No lock manager is set, please see av_lockmgr_register()\n");
 +        ff_avcodec_locked = 1;
 +        ff_unlock_avcodec();
 +        return AVERROR(EINVAL);
 +    }
 +    av_assert0(!ff_avcodec_locked);
 +    ff_avcodec_locked = 1;
 +    return 0;
 +}
 +
 +int ff_unlock_avcodec(void)
 +{
 +    av_assert0(ff_avcodec_locked);
 +    ff_avcodec_locked = 0;
 +    entangled_thread_counter--;
 +    if (lockmgr_cb) {
 +        if ((*lockmgr_cb)(&codec_mutex, AV_LOCK_RELEASE))
 +            return -1;
 +    }
++
 +    return 0;
 +}
 +
  int avpriv_lock_avformat(void)
  {
      if (lockmgr_cb) {
@@@ -29,8 -29,8 +29,8 @@@
  #include "libavutil/version.h"
  
  #define LIBAVCODEC_VERSION_MAJOR 56
 -#define LIBAVCODEC_VERSION_MINOR  2
 -#define LIBAVCODEC_VERSION_MICRO  1
 +#define LIBAVCODEC_VERSION_MINOR  3
- #define LIBAVCODEC_VERSION_MICRO 100
++#define LIBAVCODEC_VERSION_MICRO 101
  
  #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
                                                 LIBAVCODEC_VERSION_MINOR, \