preparser thread can potentially remove/modify media information
Information associated with a particular ES is directly tied to the playlist_item_t
in which it is indirectly coming from. What this further means is that if the preparser is running while an entity is being played, the preparser can interfere with the data that is to be available during playback.
Elaboration
The preparser will delete info-categories depending on their name, and given that the same name will be used no matter if we are preparsing or not, and that they are both tied to the same playlist_item_t
, it can potentially lead to deleting/modifying data that should still be present.
% vlc-trunk -Irc -q --no-video sam.mkv
/home/refp/work/videolan/vlc/git/builds//branches/trunk/native/bin/vlc-static
VLC media player 3.0.0-git Vetinari (revision 2.2.0-git-9045-g67dd763)
VLC media player 3.0.0-git Vetinari
Command Line Interface initialized. Type `help' for help.
> info
+----[ Stream 1 ]
|
| Type: Audio
| Channels: Stereo
| Bits per sample: 32
| Sample rate: 48000 Hz
| Language: English
| Codec: MPEG AAC Audio (mp4a)
|
+----[ end of stream info ]
> quit
Shutting down.
In the above I was "lucky" enough to have the preparser delete relevant data on the first try, it should however display the same output as in the below (where the preparser is explicitly disabled).
% vlc-trunk -Irc -q --no-video sam.mkv --no-auto-preparse
/home/refp/work/videolan/vlc/git/builds//branches/trunk/native/bin/vlc-static
VLC media player 3.0.0-git Vetinari (revision 2.2.0-git-9045-g67dd763)
VLC media player 3.0.0-git Vetinari
Command Line Interface initialized. Type `help' for help.
> info
+----[ Stream 0 ]
|
| Display resolution: 720x480
| Type: Video
| Frame rate: 23.976216
| Buffer dimensions: 720x480
| Orientation: Top left
| Codec: H264 - MPEG-4 AVC (part 10) (avc1)
|
+----[ Stream 1 ]
|
| Type: Audio
| Channels: Stereo
| Bits per sample: 32
| Sample rate: 48000 Hz
| Language: English
| Codec: MPEG AAC Audio (mp4a)
|
+----[ Stream 6 ]
|
| Type: Subtitle
| Language: Spanish
| Codec: DVD Subtitles (spu )
|
+----[ Stream 3 ]
|
| Codec: MPEG AAC Audio (mp4a)
| Type: Audio
| Language: Spanish
| Sample rate: 48000 Hz
|
+----[ Stream 5 ]
|
| Type: Subtitle
| Language: French
| Codec: DVD Subtitles (spu )
|
+----[ Stream 4 ]
|
| Type: Subtitle
| Language: English
| Codec: DVD Subtitles (spu )
|
+----[ Stream 2 ]
|
| Codec: MPEG AAC Audio (mp4a)
| Type: Audio
| Language: French
| Sample rate: 48000 Hz
|
+----[ end of stream info ]
>