libdvdread issueshttps://code.videolan.org/videolan/libdvdread/-/issues2023-05-06T15:37:20Zhttps://code.videolan.org/videolan/libdvdread/-/issues/21please, don't output stuff to stdout, it break mencoders rawvideo pipe :(2023-05-06T15:37:20ZSelurplease, don't output stuff to stdout, it break mencoders rawvideo pipe :(when using soemthing like:
```
mencoder -chapter 1-1 -ovc raw -noskip -field-dominance -1 -vf scale,format=i420,yadif=0,scale,format=i420 -forcedsubsonly -nosub -nosound -mc 0 -lavdopts threads=8 -really-quiet -of rawvideo -o - -dvd-dev...when using soemthing like:
```
mencoder -chapter 1-1 -ovc raw -noskip -field-dominance -1 -vf scale,format=i420,yadif=0,scale,format=i420 -forcedsubsonly -nosub -nosound -mc 0 -lavdopts threads=8 -really-quiet -of rawvideo -o - -dvd-device "G:\TestClips&Co\discs\DVDs\TestDVD" dvd://1 | x264 --preset veryfast --crf 18.00 --profile high --level 4.1 --ref 3 --direct auto --b-adapt 0 --sync-lookahead 48 --qcomp 0.50 --rc-lookahead 40 --qpmax 51 --partitions i4x4,p8x8,b8x8 --no-fast-pskip --subme 5 --aq-mode 0 --vbv-maxrate 62500 --vbv-bufsize 78125 --sar 64:45 --non-deterministic --range tv --colormatrix bt709 --demuxer raw --input-res 720x576 --input-csp i420 --input-range tv --input-depth 8 --fps 25/1 --output-depth 8 --output "G:\Output\test.264" -
```
it creates broken output, since dvdreads output:
```
libdvdread: Could not open input:
libdvdread: Can't open G:\TestClips&Co\discs\DVDs\TestDVD for reading
libdvdread: Device G:\TestClips&Co\discs\DVDs\TestDVD inaccessible, CSS authentication not available.
```
seems to end up in the raw pipe and thus breaks the video send to x264.
This didn't happen with older builds, but happens with newer ones.
(I build mencoder/mplayer with https://github.com/m-ab-s/media-autobuild_suite.)https://code.videolan.org/videolan/libdvdread/-/issues/19structure packing is ignored when compiling with clang2023-02-08T19:21:50ZSteve Lhommestructure packing is ignored when compiling with clangThe `__attribute__ ((packed,gcc_struct))` syntax is not understood by clang. It emits this warning:
> ifo_types.h:67:3: warning: unknown attribute 'gcc_struct' ignored [-Wunknown-attributes]
The `__attribute__ ((packed))` syntax works,...The `__attribute__ ((packed,gcc_struct))` syntax is not understood by clang. It emits this warning:
> ifo_types.h:67:3: warning: unknown attribute 'gcc_struct' ignored [-Wunknown-attributes]
The `__attribute__ ((packed))` syntax works, but depending on the target it might compile with GCC structure packing or MSVC structure packing.
Either both packing work and we just need to fallback to the old GCC syntax with Clang. Either only GCC packing should be used and we need to find a way to enforce it with clang on all platforms, and also make it known to library users. Incidentally that would mean the library can never be built with MSVC.https://code.videolan.org/videolan/libdvdread/-/issues/10Move buildsystem to meson2022-05-15T17:12:14ZJean-Baptiste KempfMove buildsystem to mesonSee $subjectSee $subjecthttps://code.videolan.org/videolan/libdvdread/-/issues/3Need VFS hooks for directories/files2022-07-31T09:48:19ZpkerlingNeed VFS hooks for directories/fileslibdvdread has support for hooking the stream API so that virtual filesystems can be supported: https://code.videolan.org/videolan/libdvdread/blob/master/src/dvdread/dvd_reader.h#L74
Sadly that is reserved for opening ISO images or disc...libdvdread has support for hooking the stream API so that virtual filesystems can be supported: https://code.videolan.org/videolan/libdvdread/blob/master/src/dvdread/dvd_reader.h#L74
Sadly that is reserved for opening ISO images or discs, since there are no hooks for readdir, open, close, etc. that would be needed for reading DVDs from VFS directories - libdvdread is hardcoded to only use standard libc functions there.
In Kodi, we currently load libdvdread with dlopen() and monkey-patch libc stdio. We'd really really rather not do that any more :-)
@jbk This is about the stuff I briefly asked you at the FOSDEM dinner last week. You wanted to know "well then how do we play DVDs from samba shares in VLC?" - turns out you kind of don't :wink: I tried it and VLC does play the DVD, but not with dvdread since dvdread only handles `dvd://` MRLs. It falls back to the mpegps demuxer, so menus etc. etc. don't work. This is true for both ISOs and VIDEO_TS directories.