Giter Club home page Giter Club logo

Comments (9)

fossfreedom avatar fossfreedom commented on June 16, 2024

note - in trusty I found libavresample-dev - possibly this could be used? A quick change in decode.c for the swresample.h declaration to avresample.h allowed some compilation but with a bunch of warnings and linking complained about swr_ not available.

Not sure - I guess at some point ffmpeg deprecated libavresample for libswresample?

from bliss.

Polochon-street avatar Polochon-street commented on June 16, 2024

Ow :/
That was a hot topic some time ago, because there was a conflict inside ffmpeg - this link will explain the issue, but in short, at some point ffmpeg was divided in two « same » projects, and because Ubuntu/Debian maintainers were on the side of team that chosed to fork ffmpeg, the packages changed a little bit. Debian (and Ubuntu) are now switching back to ffmpeg, which I am using, so that's why libswresample exists only on newer Ubuntu/Debian version.

The good news is that switching from libswresample to libavresample is very easy - you just have to change swr_* prefixes by avresample_*. I'll do that tomorrow :) .
(libavresample doesn't seem to be « more deprecated » than libswresample by the way, so that's ok!)

from bliss.

fossfreedom avatar fossfreedom commented on June 16, 2024

if its as simple as that - brilliant news. Ta.

Also - should pkg_check_modules(MULTIMEDIA REQUIRED libavformat libavutil libavcodec) in the CMake file have the new (or old) name as a required library?

from bliss.

Polochon-street avatar Polochon-street commented on June 16, 2024

I have fixed it (normally) in the latest commit.
I changed the CMakeLists.txt so that you may either use libav or libsw.
Tell me if it works!

from bliss.

fossfreedom avatar fossfreedom commented on June 16, 2024

@Polochon-street

excellent - there is a warning message about a "avr_ctx may be uninitialised" but that didnt stop the compilation. Cheers.

@Phyks - with the latest changes I've applied this diff to make the python bindings to compile:

diff --git a/python/bliss/build_bliss.py b/python/bliss/build_bliss.py
index bd815c3..72657fd 100644
--- a/python/bliss/build_bliss.py
+++ b/python/bliss/build_bliss.py
@@ -6,11 +6,11 @@ ffi.set_source("bliss._bliss",
                "#include \"bliss.h\"",
                sources=["../src/amplitude_sort.c",
                         "../src/analyze.c",
-                        "../src/decode.c",
+                        "../src/decode_av.c",
                         "../src/envelope_sort.c",
                         "../src/frequency_sort.c",
                         "../src/helpers.c"],
-               libraries=["avformat", "avutil", "avcodec"],
+               libraries=["avformat", "avutil", "avcodec", "avresample"],
                include_dirs=["/usr/include/ffmpeg/", "../include/"],
                extra_compile_args=["-std=c99"])

Note - I'm not sure of the best way to cope with the library name change between avresample and swresample

from bliss.

Phyks avatar Phyks commented on June 16, 2024

@fossfreedom Ok for the bindings. I should tweak the building process, it is not really clean at the moment. I'm quite busy at the moment, but it's on top of my TODO list and I will have a look at it ASAP!

from bliss.

fossfreedom avatar fossfreedom commented on June 16, 2024

@Phyks

no worries - thanks for your help!!

@Polochon-street - your changes look very good. Have tested with a few latin songs that to me feel & sound very similar. Your library is giving me 0.8 or better results so from an algorithm point of view I feel more confident now that this library is working quite nicely :).

I'll crack on now and have a look at working up a rhythmbox plugin.

cheers again!

from bliss.

Phyks avatar Phyks commented on June 16, 2024

Same, I think this issue can be closed, isn't it?

from bliss.

fossfreedom avatar fossfreedom commented on June 16, 2024

yep - good work.

from bliss.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.