Bug 6766

Summary: EAC3 can't be decoded
Product: Fedora Reporter: David Santamaría Rogado <howl.nsp>
Component: gstreamer1-libavAssignee: Rex Dieter <rdieter>
Status: RESOLVED INVALID    
Severity: normal CC: hans, leigh123linux, mike
Priority: P1    
Version: f38   
Hardware: x86_64   
OS: GNU/Linux   
namespace:

Description David Santamaría Rogado 2023-09-24 01:04:36 CEST
I have installed ffmpeg in the new way there is for 38 substituting ffmpeg-free with ffmpeg.

ffmpeg -decoders |grep eac3 shows A....D eac3                 ATSC A/52B (AC-3, E-AC-3)

But, totem complains with the need to install a codec for E-AC-3 and trying to install shows in software an installed gstreamer codecs.

I suppose the problem is in gstreamer1-libav, despite being installed is not used or, it doesn't support eac3 with ffmpeg.
Comment 1 leigh scott 2023-09-24 02:35:12 CEST
gstreamer1-libav is provided by fedora repo so report it to redhat bugzilla.
Did you install rpmfusion ffmpeg full?

https://rpmfusion.org/Howto/Multimedia?highlight=%28%5CbCategoryHowto%5Cb%29
Comment 3 leigh scott 2023-09-24 08:28:37 CEST
(In reply to David Santamaría Rogado from comment #0)
 
> I suppose the problem is in gstreamer1-libav, despite being installed is not
> used or, it doesn't support eac3 with ffmpeg.


Looks fine to me, maybe totem is to blame

$ gst-inspect-1.0 |grep -i eac
libav:  avdec_adpcm_ima_ea_eacs: libav ADPCM IMA Electronic Arts EACS decoder
libav:  avdec_eac3: libav ATSC A/52B (AC-3, E-AC-3) decoder
libav:  avdec_eacmv: libav Electronic Arts CMV video decoder
libav:  avenc_eac3: libav ATSC A/52 E-AC-3 encoder
typefindfunctions: audio/x-ac3: ac3, eac3
Comment 4 David Santamaría Rogado 2023-09-28 03:17:32 CEST
$ gst-inspect-1.0 |grep -i eac
libav:  avdec_adpcm_ima_ea_eacs: libav ADPCM IMA Electronic Arts EACS decoder
libav:  avdec_eacmv: libav Electronic Arts CMV video decoder
typefindfunctions: audio/x-ac3: ac3, eac3

$ sudo dnf list ffmpeg*
Paquetes instalados
ffmpeg.x86_64                                                     6.0-11.fc38                                                          @rpmfusion-free-updates
ffmpeg-libs.x86_64                                                6.0-11.fc38                                                          @rpmfusion-free-updates

Fresh Fedora 38 installation.

Is needed any other package for eac3?
Comment 5 David Santamaría Rogado 2023-09-28 03:22:24 CEST
$ ffmpeg -decoders | grep -i eac3
 A....D eac3                 ATSC A/52B (AC-3, E-AC-3)
Comment 6 David Santamaría Rogado 2023-09-28 04:00:55 CEST
Sorry for triple commenting but found the issue, is not in RPMFusion but just if someone found this bug could get a solution.

https://gstreamer-devel.narkive.com/W9nWxCEt/gst-devel-how-to-update-gstreamer-registry is a 13 years old conversation in the gstreamer mailing list but following it made gstreamer to detect eac3 in my situation.

$ rm ~/.cache/gstreamer-1.0/registry.x86_64.bin

now try inspect to make gstreamer rebuild registry

$ gst-inspect-1.0 | grep -i eac
libav:  avdec_adpcm_ima_ea_eacs: libav ADPCM IMA Electronic Arts EACS decoder
libav:  avdec_eac3: libav ATSC A/52B (AC-3, E-AC-3) decoder
libav:  avdec_eacmv: libav Electronic Arts CMV video decoder
libav:  avenc_eac3: libav ATSC A/52 E-AC-3 encoder
typefindfunctions: audio/x-ac3: ac3, eac3

gstreamer should rebuild it automatically when new codecs are installed but somehow it didn't. Perhaps because gstreamer1-libav was installed already and it doesn't take into account that more codecs are available in ffmpeg/libav.