iamdb / hifi.rs

a high resolution Qobuz streamer built in Rust
GNU General Public License v3.0
69 stars 10 forks source link

Cannot play: get message `libav :0:: invalid frame header` #211

Closed johnsnewby closed 10 months ago

johnsnewby commented 10 months ago

Screenshot from 2023-10-28 11-34-53

Ubuntu 22.04 hifi-rs version 0.3.4

Any help greatly appreciated!

iamdb commented 10 months ago

That's strange. Libav isn't used at all so I'm unsure what could be causing that. Can you give me more details on how the error occurred?

johnsnewby commented 10 months ago

Sure thing. I didn't manage to build myself, so I used the releases from the download page, and I also build one using docker. All behave the same.

My system: Linux orange 6.2.0-35-generic #35~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Oct 6 10:23:26 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

Steps to reproduce:

(base) newby@orange:~/Downloads$ ./hifi-rs play --url https://play.qobuz.com/album/liybfwuto41na

I now get a screen which looks like this:

image

(base) newby@orange:~/Downloads$ ldd ./hifi-rs
        linux-vdso.so.1 (0x00007ffc909b2000)
        libgobject-2.0.so.0 => /lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007f58c99a0000)
        libgio-2.0.so.0 => /lib/x86_64-linux-gnu/libgio-2.0.so.0 (0x00007f58c97c7000)
        libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f58c968d000)
        libgstreamer-1.0.so.0 => /usr/local/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0 (0x00007f58c953a000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f58ca925000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f58c9453000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f58c9200000)
        libffi.so.8 => /lib/x86_64-linux-gnu/libffi.so.8 (0x00007f58ca916000)
        libgmodule-2.0.so.0 => /lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007f58ca90f000)
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f58c9437000)
        libmount.so.1 => /lib/x86_64-linux-gnu/libmount.so.1 (0x00007f58c91bc000)
        libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f58c9190000)
        libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f58c911a000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f58ca964000)
        libblkid.so.1 => /lib/x86_64-linux-gnu/libblkid.so.1 (0x00007f58c90e3000)
        libpcre2-8.so.0 => /lib/x86_64-linux-gnu/libpcre2-8.so.0 (0x00007f58c904c000)

HTH,

j

iamdb commented 10 months ago

I just tried the latest version on a fresh Ubuntu 22.04.3 live cd and it worked ok. Makes me wonder if there's a package version conflict.

Can you ensure these gstreamer packages are installed?

libgstreamer-gl1.0-0/jammy-security,jammy-updates,now 1.20.1-1ubuntu0.1 amd64 [installed,automatic]
libgstreamer-plugins-base1.0-0/jammy-security,jammy-updates,now 1.20.1-1ubuntu0.1 amd64 [installed,automatic]
libgstreamer-plugins-base1.0-dev/jammy-security,jammy-updates 1.20.1-1ubuntu0.1 amd64
libgstreamer-plugins-good1.0-0/jammy-security,jammy-updates,now 1.20.3-0ubuntu1.1 amd64 [installed,automatic]
libgstreamer-plugins-good1.0-dev/jammy-security,jammy-updates 1.20.3-0ubuntu1.1 amd64
libgstreamer1.0-0/jammy-updates,now 1.20.3-0ubuntu1 amd64 [installed,automatic]
libgstreamer1.0-dev/jammy-updates 1.20.3-0ubuntu1 amd64

If it's helpful, this is what ldd shows me in the VM:

ubuntu@ubuntu:~/Downloads$ ldd hifi-rs
    linux-vdso.so.1 (0x00007ffc249f2000)
    libgobject-2.0.so.0 => /lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007f5f48d30000)
    libgio-2.0.so.0 => /lib/x86_64-linux-gnu/libgio-2.0.so.0 (0x00007f5f48b57000)
    libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f5f48a1d000)
    libgstreamer-1.0.so.0 => /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0 (0x00007f5f488cc000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f5f488ac000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f5f487c3000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f5f4859b000)
    libffi.so.8 => /lib/x86_64-linux-gnu/libffi.so.8 (0x00007f5f4858e000)
    libgmodule-2.0.so.0 => /lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007f5f48587000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f5f4856b000)
    libmount.so.1 => /lib/x86_64-linux-gnu/libmount.so.1 (0x00007f5f48527000)
    libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f5f484f9000)
    libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f5f48483000)
    libunwind.so.8 => /lib/x86_64-linux-gnu/libunwind.so.8 (0x00007f5f48468000)
    libdw.so.1 => /lib/x86_64-linux-gnu/libdw.so.1 (0x00007f5f483bc000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f5f497ba000)
    libblkid.so.1 => /lib/x86_64-linux-gnu/libblkid.so.1 (0x00007f5f48385000)
    libpcre2-8.so.0 => /lib/x86_64-linux-gnu/libpcre2-8.so.0 (0x00007f5f482ec000)
    liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f5f482c1000)
    libelf.so.1 => /lib/x86_64-linux-gnu/libelf.so.1 (0x00007f5f482a3000)
    libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007f5f48290000)
johnsnewby commented 10 months ago

So the problem lay with gstreamer, and for whatever reason I ended up having to upgrade to Ubuntu 23 to resolve it--but it worked.

Thanks so much for the support, and the great project.