1 --- vlc-3.0.18/modules/access/dcp/dcp.cpp.orig 2021-06-13 11:32:34.000000000 +0200
2 +++ vlc-3.0.18/modules/access/dcp/dcp.cpp 2023-10-08 20:01:38.354956576 +0200
3 @@ -324,6 +324,7 @@ static int Open( vlc_object_t *obj )
7 + Kumu::FileReaderFactory defaultFactory;
8 /* handle the DCP directory, saving the paths for audio and video file, returning error if unsuccessful */
9 if( ( retval = dcpInit( p_demux ) ) )
11 @@ -332,7 +333,7 @@ static int Open( vlc_object_t *obj )
12 EssenceType_t essInter;
13 for ( size_t i = 0; i < ( p_sys->p_dcp->video_reels.size() ); i++ )
15 - EssenceType( p_sys->p_dcp->video_reels[i].filename.c_str(), essInter );
16 + EssenceType( p_sys->p_dcp->video_reels[i].filename.c_str(), essInter, defaultFactory );
19 p_sys->PictureEssType = essInter;
20 @@ -358,7 +359,7 @@ static int Open( vlc_object_t *obj )
21 case ESS_JPEG_2000_S: {
22 JP2K::PictureDescriptor PicDesc;
23 if (p_sys->PictureEssType == ESS_JPEG_2000_S) { /* 3D JPEG2000 */
24 - JP2K::MXFSReader * p_PicMXFSReader = new ( nothrow ) JP2K::MXFSReader();
25 + JP2K::MXFSReader * p_PicMXFSReader = new ( nothrow ) JP2K::MXFSReader(defaultFactory);
27 if( !p_PicMXFSReader) {
29 @@ -376,7 +377,7 @@ static int Open( vlc_object_t *obj )
30 videoReader.p_PicMXFSReader = p_PicMXFSReader;
31 p_sys->v_videoReader.push_back(videoReader);
32 } else { /* 2D JPEG2000 */
33 - JP2K::MXFReader *p_PicMXFReader = new ( nothrow ) JP2K::MXFReader();
34 + JP2K::MXFReader *p_PicMXFReader = new ( nothrow ) JP2K::MXFReader(defaultFactory);
35 if( !p_PicMXFReader ) {
38 @@ -419,7 +420,7 @@ static int Open( vlc_object_t *obj )
42 - MPEG2::MXFReader *p_VideoMXFReader = new ( nothrow ) MPEG2::MXFReader();
43 + MPEG2::MXFReader *p_VideoMXFReader = new ( nothrow ) MPEG2::MXFReader(defaultFactory);
45 videoReader_t videoReader;
46 videoReader.p_VideoMXFReader = p_VideoMXFReader;
47 @@ -489,7 +490,7 @@ static int Open( vlc_object_t *obj )
49 if( !p_sys->p_dcp->audio_reels.empty() )
51 - EssenceType( p_sys->p_dcp->audio_reels[0].filename.c_str(), AudioEssType );
52 + EssenceType( p_sys->p_dcp->audio_reels[0].filename.c_str(), AudioEssType, defaultFactory );
54 if ( (AudioEssType == ESS_PCM_24b_48k) || (AudioEssType == ESS_PCM_24b_96k) ) {
55 PCM::AudioDescriptor AudioDesc;
56 @@ -498,7 +499,7 @@ static int Open( vlc_object_t *obj )
60 - EssenceType( p_sys->p_dcp->audio_reels[i].filename.c_str(), AudioEssTypeCompare );
61 + EssenceType( p_sys->p_dcp->audio_reels[i].filename.c_str(), AudioEssTypeCompare, defaultFactory );
62 if ( AudioEssTypeCompare != AudioEssType )
64 msg_Err( p_demux, "Integrity check failed : different audio essence types in %s",
65 @@ -507,7 +508,7 @@ static int Open( vlc_object_t *obj )
69 - PCM::MXFReader *p_AudioMXFReader = new ( nothrow ) PCM::MXFReader();
70 + PCM::MXFReader *p_AudioMXFReader = new ( nothrow ) PCM::MXFReader(defaultFactory);
72 if( !p_AudioMXFReader ) {