1. 12 Oct, 2023 2 commits
  2. 09 Oct, 2023 1 commit
  3. 12 Jul, 2023 1 commit
    • moto's avatar
      Support multiple FFmpeg versions (#3464) · 786066b4
      moto authored
      Summary:
      This commit introduces support for multiple FFmpeg versions for OSS binary distributions.
      
      Currently torchaudio only works with FFmpeg 4. This is inconvenient from installing to runtime linking.
      This commit allows to pick FFmpeg 4, 5 or 6 at runtime, instead of just looking for v4.
      
      The way it works is that we compile the FFmpeg extension three times with different FFmpeg and ship them.
      At runtime, we look for libavutil of specific version and when one is found, load the corresponding FFmpeg extension.
      The order of preference is 6, 5, then 4.
      
      To make the build process simple and reproducible, we use pre-built binaries of FFmpeg during the build.
      They are LGPL and downloaded from S3 at build time, instead of building every time.
      
      The use of pre-built binaries as scaffolding limits the system that can build torchaudio, so it also introduces
      single FFmpeg version support mode. setting FFMPEG_ROOT during the build will change the way binaries are built
      so that it will only support one specific version of FFmpeg.
      
      Pull Request resolved: https://github.com/pytorch/audio/pull/3464
      
      Differential Revision: D47300223
      
      Pulled By: mthrok
      
      fbshipit-source-id: 560c7968315e4c8922afa11a4693f648c0356d04
      786066b4
  4. 05 Jun, 2023 1 commit
  5. 20 May, 2023 1 commit
  6. 14 Feb, 2023 1 commit
  7. 05 Jan, 2023 1 commit
    • Moto Hira's avatar
      Use PyBind for binding utilities (#2956) · f70b970a
      Moto Hira authored
      Summary:
      Pull Request resolved: https://github.com/pytorch/audio/pull/2956
      
      Merge utility binding
      
      This commit updates the utility binding, so that we can use `is_module_available()`
      for checking the existence of extension modules.
      
      To ensure the existence of module, this commit migrates the binding of utility functions
      to PyBind11.
      
      Going forward, we should use TorchBind for ops that we want to support TorchScript,
      otherwise default to PyBind11. (PyBind has advantage of not copying strings.)
      
      Reviewed By: hwangjeff
      
      Differential Revision: D42355992
      
      fbshipit-source-id: 4c71d65b24a0882a38a80dc097d45ba72b4c4a6b
      f70b970a
  8. 21 Dec, 2022 1 commit
    • moto's avatar
      Extract libsox integration from libtorchaudio (#2929) · 1706a72f
      moto authored
      Summary:
      This commit makes the following changes to the C++ library organization
      - Move sox-related feature implementations from `libtorchaudio` to `libtorchaudio_sox`.
      - Remove C++ implementation of `is_sox_available` and `is_ffmpeg_available` as it is now sufficient to check the existence of `libtorchaudio_sox` and `libtorchaudio_ffmpeg` to check the availability. This makes `libtorchaudio_sox` and `libtorchaudio_ffmpeg` independent from `libtorchaudio`.
      - Move PyBind11-based bindings (`_torchaudio_sox`, `_torchaudio_ffmpeg`) into `torchaudio.lib` so that the built library structure is less cluttered.
      
      Background:
      Originally, when the `libsox` was the only C++ extension and `libtorchaudio` was supposed to contain all the C++ code.
      The things are different now. We have a bunch of C++ extensions and we need to make the code/build structure more modular.
      
      The new `libtorchaudio_sox` contains the implementations and `_torchaudio_sox` contains the PyBin11-based bindings.
      
      Pull Request resolved: https://github.com/pytorch/audio/pull/2929
      
      Reviewed By: hwangjeff
      
      Differential Revision: D42159594
      
      Pulled By: mthrok
      
      fbshipit-source-id: 1a0fbca9e4143137f6363fc001b2378ce6029aa7
      1706a72f
  9. 19 Aug, 2022 1 commit
    • Moto Hira's avatar
      Refactor sox pybind source code (#2636) · 789adf07
      Moto Hira authored
      Summary:
      Pull Request resolved: https://github.com/pytorch/audio/pull/2636
      
      At the early stage of torchaudio extension module,
      `torchaudio/csrc/pybind` directory was created so that
      all the code defining Python interface would be placed
      there and there will be only one extension module called
      `torchaudio._torchaudio`.
      
      However, the codebase has been evolved in a way separate
      extensions are defined for each feature (third party
      dependency) for the sake of more moduler file organization.
      
      What is left in `csrc/pybind` is libsox Python bindings.
      This commit moves it under `csrc/sox`.
      
      Follow-up rename `torchaudio._torchaudio` to `torchaudio._torchaudio_sox`.
      
      Reviewed By: carolineechen
      
      Differential Revision: D38829253
      
      fbshipit-source-id: 3554af45a2beb0f902810c5548751264e093f28d
      789adf07
  10. 07 Sep, 2021 1 commit
    • moto's avatar
      Extract PyBind11 feature implementations (#1739) · 2a67fcc1
      moto authored
      This PR moves the code related to PyBind11 to the dedicated directory `torchaudio/csrc/pybind`.
      
      Before, features related to PyBind11 (I/O for file-like object) was implemented in `torchaudio/csrc/sox` and the binding was defined in `torchaudio/csrc/pybind.cpp`. We used macro definition `TORCH_API_INCLUDE_EXTENSION_H` to turn on/off the feature, in addition to including/excluding `torchaudio/csrc/pybind.cpp` in the list of compiled source.
      
      In the previous manner, in C++ example, one had to rebuild libtorchaudio separately, but by splitting them completely at compile time, it should conceptually possible to distribute libtorchaudio within torchaudio Python package and reuse it for C++ example.
      2a67fcc1
  11. 02 Mar, 2021 1 commit
  12. 24 Feb, 2021 1 commit
  13. 29 Jan, 2021 1 commit
  14. 27 Jan, 2021 1 commit
  15. 26 Jan, 2021 1 commit
  16. 15 Jan, 2021 1 commit
  17. 07 Jan, 2021 1 commit
  18. 06 Jan, 2021 1 commit
  19. 27 Oct, 2020 1 commit
  20. 25 Jun, 2020 1 commit
  21. 15 May, 2020 1 commit
    • moto's avatar
      [BC Breaking] Reorganize C++ resources (#630) · 44af0dea
      moto authored
      This PR
       - Changes the location of C++ codes from
           - from `torchaudio/torch_sox.cpp` to `torchaudio/csrc/sox.cpp`
           - from `torchaudio/torch_sox.h` to `torchaudio/csrc/sox.h`
       - Changes the location where the resulting library is placed
           - from `_torch_sox.so` (outside of `torchaudio` module)
              to `torchaudio/_torchaudio.so`.
      44af0dea
  22. 13 May, 2020 1 commit
  23. 23 Oct, 2019 1 commit
  24. 03 Sep, 2019 1 commit
  25. 29 Aug, 2019 2 commits
  26. 29 Jul, 2019 1 commit
  27. 04 Jan, 2019 1 commit
  28. 25 Dec, 2018 5 commits
  29. 20 Aug, 2018 1 commit
  30. 09 May, 2018 1 commit
  31. 08 May, 2018 2 commits
  32. 26 Apr, 2018 2 commits