Merge commit 'fbd6c97f9ca858140df16dd07200ea0d4bdc1a83'
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 27 Nov 2014 22:03:07 +0000 (23:03 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 27 Nov 2014 22:42:16 +0000 (23:42 +0100)
commit6db8cd8f37b72c5397541a9689a5378bf1a559ce
tree0ad287284bd10b805af5fbd6afa4afe8422c7921
parentf00e9c4b10f5ab7cd382d3019eb7bee13fcc3866
parentfbd6c97f9ca858140df16dd07200ea0d4bdc1a83
Merge commit 'fbd6c97f9ca858140df16dd07200ea0d4bdc1a83'

* commit 'fbd6c97f9ca858140df16dd07200ea0d4bdc1a83':
  lavu: fix memory leaks by using a mutex instead of atomics

Conflicts:
libavutil/buffer.c

The atomics code is left in place as a fallback for synchronization in the
absence of p/w32 threads. Our ABI did not requires applications to
only use threads (and matching ones) to what libavutil was build with
Our code also was not affected by the leak this change fixes, though
no question the atomics based implementation is not pretty at all.
First and foremost the code must work, being pretty comes after that.

If this causes problems, for example when libavutil is used by multiple
applications each using a different kind of threading system then the
default possibly has to be changed to the uglier atomics.

See: cea3a63ba3d89d8403eef008f7a7c54d645cff70
Merged-by: Michael Niedermayer <michaelni@gmx.at>
libavutil/buffer.c
libavutil/buffer_internal.h