actually, after making one more test it seems I can avoid fatal error (in exchange for non-fatal error) by changing bdwrite like this $ cat bdwrite_truehd/0001-Workaround-for-pure-truehd.patch
From 218966843cd1537e0d0fea80aba1e1717efaaae3 Mon Sep 17 00:00:00 2001 From: Andrew Randrianasulu <[email protected]> Date: Mon, 2 May 2022 23:48:37 +0300 Subject: [PATCH] Workaround for pure truehd
--- cinelerra-5.1/cinelerra/bdwrite.C | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cinelerra-5.1/cinelerra/bdwrite.C b/cinelerra-5.1/cinelerra/bdwrite.C index 1017c169..7eea1a9c 100644 --- a/cinelerra-5.1/cinelerra/bdwrite.C +++ b/cinelerra-5.1/cinelerra/bdwrite.C @@ -2638,6 +2638,8 @@ int media_info::scan() (double)st->sample_aspect_ratio.num / st->sample_aspect_ratio.den); break; } case AVMEDIA_TYPE_AUDIO: { + if (st->codecpar->channels == 0) + continue; s->coding_type = bd_coding_type(codec_id); s->format = bd_audio_format(st->codecpar->channels); s->rate = bd_audio_rate(st->codecpar->sample_rate); -- 2.35.3 On Monday, May 2, 2022, Andrew Randrianasulu <[email protected]> wrote:
does this patch fix 0ch issue without breaking other cases?
$ git diff bdwrite.C diff --git a/cinelerra-5.1/cinelerra/bdwrite.C b/cinelerra-5.1/cinelerra/ bdwrite.C index 1017c169..cebee789 100644 --- a/cinelerra-5.1/cinelerra/bdwrite.C +++ b/cinelerra-5.1/cinelerra/bdwrite.C @@ -2639,6 +2639,8 @@ int media_info::scan() break; } case AVMEDIA_TYPE_AUDIO: { s->coding_type = bd_coding_type(codec_id); + if (st->codecpar->channels == 0) // truehd + 0ch core ac3 + break; s->format = bd_audio_format(st->codecpar->channels); s->rate = bd_audio_rate(st->codecpar->sample_rate); strcpy((char*)s->lang, "eng"); $
On Monday, May 2, 2022, Andrew Randrianasulu <[email protected]> wrote:
On Monday, May 2, 2022, Phyllis Smith <[email protected]> wrote:
Andrew, what other software has to be installed to get Truehd to work? Andrea does not get the error I do so there must be something additional that has to be installed. We need to know for documentation.
i tried with tsmuxer, but I guess bdwrite need some more logic to deal with it too...
without bdwrite we do not have burnable bluray disk image, just stream alone (some modern players play those anyway..)
On Mon, May 2, 2022 at 12:42 PM Andrew Randrianasulu < [email protected]> wrote:
well, this is not exactly what we hoped for.. in this case.
sorry TWO issues going on
1) tsmuxer choke on ffmpeg's lpcm as encoded without ONE MORE PATCH..
2) truehd encoder in ffmoeg may trip bdwrite...
for truehd encoder you need to either uncomment line in bdcreate.C {with truehd profile, in /* */ pair..} or manually choose audio when batch render window come up...
On Monday, May 2, 2022, Andrea paz <[email protected]> wrote:
can you confirm it contain trueHD audio (run mediainfo)?
ffprobe: Stream #0:1[0x1100](ita): Audio: pcm_bluray ([128][0][0][0] / 0x0080), 48000 Hz, stereo, s16, 1536 kb/s
mediainfo: Audio ID : 4352 (0x1100) Menu ID : 1 (0x1) Format : PCM Format settings : Big / Signed Muxing mode : Blu-ray Codec ID : 128 Duration : 38 s 240 ms Bit rate mode : Constant Bit rate : 1 536 kb/s Channel(s) : 2 channels Channel layout : L R Sampling rate : 48.0 kHz Bit depth : 16 bits Stream size : 7.00 MiB (16%) Language : Italian