android/opaque: fix indent

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
android/opaque: check if subtitles_picture is not NULL

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
android/opaque: fix crash on Close with subtitles

The pixels allocated from picture_NewFromFormat were replaced (and leaked) by
pixels allocated by android native windows. This also leaded to a crash on
Close when subtitles_picture was freed.

Use picture_NewFromResource with an empty to resource in order to don't
allocate any pixels.

Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
contrib: add JACK

Default disabled for now.
vout_ReleasePicture: do not wake up the video output thread

The video output thread never allocates pictures from the decoder
thread. It uses the reserve private pool and, when if not rendering
directly, the display pool. Thus it has nothing particular to do when
a decoder pool picture is released.

(vout_PutPicture() wakes the thread up to kick rendering.)
vout: remove unnecessary lock around the picture FIFO

The picture FIFO has a lock internally to protect its internal state
while picture references protect the pictures.

There is no need to protect the FIFO usage with the picture lock.
At this point, the picture lock is only protected the decoder pool.
vout: remove unncessary lock in vout_HoldPicture()

picture_Hold() is reentrant anyway. The vout picture lock protects
the decoder pool. The decoder pool may be modified by picture_Release()
but not by picture_Hold().
vout: remove vout_HoldPicture()
decoder: remove decoder_LinkPicture()
picture_pool: fix refcount leak if pic_lock fails.

Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
picture_pool: fix prototypes
picture_pool_NewFromFormat: improve error handling
decoder: stray declaration
macosx: do not use the cone as sidebar icons

The cone does not really fit and looks ugly. Instead, use the
broadcast icon for all internet-related sd's and local icon for
devices category.
macosx: Fix resume playback in certain situations

For resumption we need to rely on the "time" variable instead of
"position", as the total duration of the file might not have been
set yet.

Also simplifies the code.

close #11981
Qt: prevent focus stealing on seekbar tooltip

Why be consistent, Qt?

Close #12671
stream_filter: aribcam: fix old library path

That fork uses a different path to avoid problems
vout: destroy the private pool while resetting the decoder pool

Otherwise picture references from the private pool get clobbered.
picture_pool: wrap pooled pictures

The pool can now have its own independent garbage collector, that no
longer clobbers the original garbage collector.
picture_pool: simplify and clean-up reserve pool