picture: always copy context when cloning

icture_Clone was copying the original picture context into the new
clone while picture_pool_Clone wasn't. As it is possible to create a
pool from existing pictures, it's quite handy to be able to associate
the graphical resources needed for each picture to their context so
that it can be retrieved after a call to picture_pool_Wait/Get.

The rationale is that because resources like pixels are shared between
the original picture and the clone, we should probably do the same with
picture_context and have a unified way for picture producer to
reference such resources.

This patch remove the special handling in picture_Clone and move it to
picture_InternalClone for that reason.

Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
16 jobs for !27 with picture-clean/6 in 31 minutes and 26 seconds (queued for 3 seconds)
latest detached
Status Job ID Name Coverage
  Build
failed #427130
amd64 docker
android-arm

00:05:05

failed #427131
amd64 docker
android-arm64

00:06:07

failed #427132
amd64 docker
android-x86

00:04:41

failed #427133
amd64 docker
android-x86_64

00:04:39

failed #427122
amd64 docker
debian

00:05:13

passed #427126
macos
ios-arm64

00:19:58

passed #427127
macos
ios-armv7

00:16:01

passed #427128
macos
ios-simulator-x86_64

00:14:23

passed #427125
macos
macos

00:17:49

passed #427124
amd64 docker
raspbian-arm

00:05:19

passed #427123
amd64 docker
snap

00:13:38

passed #427129
macos
tvos-arm64

00:13:35

passed #427121
amd64 docker
uwp64-libvlc-llvm

00:03:54

passed #427118
amd64 docker
win32

00:04:07

passed #427119
amd64 docker
win64

00:06:33

passed #427120
amd64 docker
win64-llvm

00:06:30

 
Name Stage Failure
failed
android-arm64 Build
make[2]: Leaving directory `/builds/robUx4/vlc/build-android-aarch64-linux-android/modules'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/builds/robUx4/vlc/build-android-aarch64-linux-android'
make: *** [all] Error 2
vlc: make failed
Running after script...
$ export VLC_CONTRIB_SHA="$(extras/ci/get-contrib-sha.sh)"
$ mv contrib/vlc-contrib-*.tar.bz2 contrib/vlc-contrib-${TRIPLET}-${VLC_CONTRIB_SHA}.tar.bz2 2>/dev/null || true
ERROR: Job failed: exit code 1
failed
android-x86_64 Build
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
vlc: make failed
Running after_script
Running after script...
$ export VLC_CONTRIB_SHA="$(extras/ci/get-contrib-sha.sh)"
$ mv contrib/vlc-contrib-*.tar.bz2 contrib/vlc-contrib-${TRIPLET}-${VLC_CONTRIB_SHA}.tar.bz2 2>/dev/null || true
Uploading artifacts for failed job
ERROR: Job failed: exit code 1
failed
android-x86 Build
make[1]: Leaving directory `/builds/robUx4/vlc/build-android-i686-linux-android'
make: *** [all] Error 2
vlc: make failed
Running after_script
Running after script...
$ export VLC_CONTRIB_SHA="$(extras/ci/get-contrib-sha.sh)"
$ mv contrib/vlc-contrib-*.tar.bz2 contrib/vlc-contrib-${TRIPLET}-${VLC_CONTRIB_SHA}.tar.bz2 2>/dev/null || true
Uploading artifacts for failed job
ERROR: Job failed: exit code 1
failed
android-arm Build
make[1]: Leaving directory `/builds/robUx4/vlc/build-android-arm-linux-androideabi'
make: *** [all] Error 2
vlc: make failed
Running after_script
Running after script...
$ export VLC_CONTRIB_SHA="$(extras/ci/get-contrib-sha.sh)"
$ mv contrib/vlc-contrib-*.tar.bz2 contrib/vlc-contrib-${TRIPLET}-${VLC_CONTRIB_SHA}.tar.bz2 2>/dev/null || true
Uploading artifacts for failed job
ERROR: Job failed: exit code 1
failed
debian Build
+ error_cnt=0
+ [ 0 -gt 0 ]
+ exit 2
Running after_script
Running after script...
$ export VLC_CONTRIB_SHA="$(extras/ci/get-contrib-sha.sh)"
$ mv contrib/vlc-contrib-*.tar.bz2 contrib/vlc-contrib-${TRIPLET}-${VLC_CONTRIB_SHA}.tar.bz2 2>/dev/null || true
Uploading artifacts for failed job
ERROR: Job failed: exit code 1