Navigation

    UBports Robot Logo

    UBports Forum

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search

    ALAC audio file support?

    Support
    4
    26
    714
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • nekojet
      nekojet last edited by nekojet

      Hi all, Ubuntu Touch noob here.

      Does UT (OTA-10) have built-in support for ALAC (Apple Lossless .m4a) audio files? The Music app sees the .m4a files, displays the album art, doesn't complain about the format or anything, looks like it's going to play them, but stops short of actually playing the files. I tried some FLAC and MP3 files just to be sure I wasn't doing something wrong, and they worked as expected.

      The desktop version of Xenial (16.04.6 LTS) plays the same ALAC files in Rhythmbox without any problems, so I'm guessing the desktop installation included a codec that UT doesn't(?).

      Is there a way I can install the necessary codec on UT myself? Any help/hints would be appreciated (other than "why don't you just convert everything to FLAC" ;).

      Thanks!

      advocatux 1 Reply Last reply Reply Quote 0
      • advocatux
        advocatux @nekojet last edited by

        @nekojet fwiw I've just installed a .m4a file on my BQ E4.5 (running edge) and on my Nexus 5 (running rc) to test that and it works in both of them.

        nekojet 2 Replies Last reply Reply Quote 0
        • nekojet
          nekojet @advocatux last edited by nekojet

          @advocatux I'm running OTA-10 stable on a OnePlus One. Assuming it's not hardware-related, I'll wait for OTA-11 and see if it works.

          Thanks for the info!

          advocatux 1 Reply Last reply Reply Quote 1
          • advocatux
            advocatux @nekojet last edited by

            @nekojet have you tried to play a .m4a file with the 'multimedia player' or open it with the filemanager preview?

            nekojet 1 Reply Last reply Reply Quote 0
            • nekojet
              nekojet @advocatux last edited by

              @advocatux I just thought of something. Can you confirm that the .m4a file that works for you is using the ALAC (lossless) codec and not the AAC (lossy) codec? Thanks!

              advocatux 1 Reply Last reply Reply Quote 0
              • advocatux
                advocatux @nekojet last edited by advocatux

                @nekojet I downloaded a random sample file, and yes, it seems it's AAC unfortunately (I didn't check it beforehand 🙄)

                nekojet 1 Reply Last reply Reply Quote 0
                • nekojet
                  nekojet @advocatux last edited by nekojet

                  @advocatux When I try to open the file using "Media Player" or the File Manager preview (which seems to call up the same "Media Player"), I get an error that says "Error playing video - Video format not supported.", which makes sense I guess.

                  Thanks for trying to work this out with me.

                  advocatux 1 Reply Last reply Reply Quote 1
                  • advocatux
                    advocatux @nekojet last edited by

                    @nekojet you're welcome!

                    1 Reply Last reply Reply Quote 0
                    • nekojet
                      nekojet @advocatux last edited by

                      @advocatux Well, now I know UT can play AAC files. 😀
                      I wonder if ALAC support is coming in the future?

                      Thanks again.

                      advocatux 1 Reply Last reply Reply Quote 0
                      • advocatux
                        advocatux @nekojet last edited by

                        @nekojet no idea about that, sorry

                        nekojet 1 Reply Last reply Reply Quote 0
                        • nekojet
                          nekojet @advocatux last edited by

                          @advocatux No worries. I was just wondering that out loud. Thanks.

                          nekojet 1 Reply Last reply Reply Quote 1
                          • nekojet
                            nekojet @nekojet last edited by nekojet

                            The package that is providing ALAC support on Xenial (16.04.6 LTS) desktop is:

                            gstreamer1.0-libav (1.8.3-1ubuntu0.2)

                            https://packages.ubuntu.com/xenial-updates/gstreamer1.0-libav

                            I was able to confirm this by removing:
                            gstreamer1.0-libav

                            and autoremoving its (orphaned) dependencies:
                            libavfilter-ffmpeg5
                            libavresample-ffmpeg2
                            libpostproc-ffmpeg53
                            libsodium18
                            libzmq5

                            and then trying to play my ALAC .m4a files again. Rhythmbox did a bit of searching and popped up a dialog that said:


                            Install extra multimedia plugin?

                            Rhythmbox requires to install plugins to play media files of the following type: Apple Lossless Audio (ALAC) decoder

                            gstreamer1.0-libav
                            libav plugin for GStreamer

                            [ Cancel ] [ Install ]


                            As far as I can tell, Ubuntu Touch (OTA-10) stable does not come with this package installed. I guess my next step is to do a bunch of reading to figure out if I can install this package myself, and/or request that it be included in a future UT release.

                            It's possible that gstreamer1.0-libav brings with it a bunch of baggage that might negatively impact UT...or something. Beats me.

                            Working this out has been fun (so far). Cheers!

                            dobey 1 Reply Last reply Reply Quote 3
                            • dobey
                              dobey @nekojet last edited by

                              @nekojet I suspect it is not something we can ship in UT. We only ship free codec support, and the hybris backend which uses hardware decoding from the Android side, for licensed codecs.

                              It would probably be better to convert your files to a free codec instead.

                              nekojet 1 Reply Last reply Reply Quote 0
                              • nekojet
                                nekojet @dobey last edited by nekojet

                                @dobey Makes senses. Thanks for the info!

                                I'm not fluent in the different software licenses. Is something released under the Apache License considered non-free? Thanks.

                                dobey 1 Reply Last reply Reply Quote 0
                                • dobey
                                  dobey @nekojet last edited by

                                  @nekojet libav isn't solely a port of the original ALAC source code to Linux. libav/ffmpeg implements several encumbered codecs. So there may be issues with shipping those.

                                  If there were a totally free implementation of ALAC by itself, for GStreamer, we could possibly include it, but one only available with support for other codecs which are encumbered, is not really feasible.

                                  Best option really, is to transcode audio to a codec that is supported by the hardware decoder on the portable device you're putting them on, as this will save battery power by not having to do all the decoding in software on the CPU.

                                  nekojet 1 Reply Last reply Reply Quote 0
                                  • nekojet
                                    nekojet @dobey last edited by nekojet

                                    @dobey Yes! After doing more (and more) reading, I almost wrote a long post (or two) about:

                                    1. Apple open sourced ALAC in 2011 under the Apache License 2.0, so that probably isn't so much of an issue 👍

                                    but

                                    1. gstreamer1.0-libav (built on libav/ffmpeg) includes wayyyyyyyy more than just ALAC, and that quickly becomes problematic if you look at the huge list of codecs it packages 👎

                                    I also want to thank the UBports community for all of the great work y'all are doing. It's really appreciated. 👍 👏

                                    I'm a new UT user (and Patron) and this project is very exciting.

                                    Thanks!

                                    1 Reply Last reply Reply Quote 2
                                    • Flohack
                                      Flohack last edited by

                                      Well its hard for me too to live without m4a now, since 2 of my band members use iPhones and any recording they do will come over the wire as m4a format. I have no idea if and how they can influence the recording codec on their side. Until that I can only listn to this on my desktop. Which is boring.

                                      Consumers are trapped in stuff they don't understand and also they are just no giving choices. We got along way to go...

                                      dobey 1 Reply Last reply Reply Quote 0
                                      • Flohack
                                        Flohack last edited by

                                        @nekojet said in ALAC audio file support?:

                                        gstreamer1.0-libav

                                        Oh and by the way, definitely need encoding support for opus when we ever want Telegram voice messages to be a thing. How could we get this in @dobey

                                        dobey 1 Reply Last reply Reply Quote 0
                                        • dobey
                                          dobey @Flohack last edited by

                                          @Flohack m4a is the MPEG-4 container format. It's not related to the codec for the audio embedded in the file, which can be ALAC, AAC, or numerous other things.

                                          Flohack 1 Reply Last reply Reply Quote 0
                                          • dobey
                                            dobey @Flohack last edited by

                                            @Flohack Well, Opus is an open codec, and it seems to already be implemented in the gstreamer1.0-plugins-base package, which should already be in the image, so I guess it should just work.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post