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
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 <
randrianasulu@gmail.com> 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 <
randrianasulu@gmail.com> wrote:
On Monday, May 2, 2022, Phyllis Smith <phylsmith2017@gmail.com> 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..)
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 <
gamberucci.andrea@gmail.com> 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