Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ffmpeg 7.0 Update: Use new channel layout #1626

Open
wants to merge 12 commits into
base: master
Choose a base branch
from

Commits on Jul 18, 2024

  1. Configuration menu
    Copy the full SHA
    6ca2133 View commit details
    Browse the repository at this point in the history
  2. ffmpeg Update: stream->codecpar->channel_layout to ch_layout

    ```
    [ 17/505|  3%] [static] libapi_server.a: C++ projects/api_server/controllers/v1/vhosts/apps/output_profiles/output_profiles_controller.cpp => intermediates/RELEASE/objs/api_server/controllers/v1/vhosts/apps/output_profiles/output_profiles_controller.o
    In file included from projects/providers/multiplex/multiplex_stream.h:11,
                     from projects/providers/multiplex/multiplex_application.h:16,
                     from projects/api_server/controllers/v1/vhosts/apps/multiplex_channels/multiplex_channels_controller.cpp:13:
    projects/modules/ffmpeg/ffmpeg_conv.h: In static member function ‘static bool ffmpeg::Conv::ToMediaTrack(AVStream*, std::shared_ptr<MediaTrack>)’:
    projects/modules/ffmpeg/ffmpeg_conv.h:375:130: error: ‘AVCodecParameters’ {aka ‘struct AVCodecParameters’} has no member named ‘channel_layout’; did you mean ‘ch_layout’?
      375 |                                         media_track->GetChannel().SetLayout(ffmpeg::Conv::ToAudioChannelLayout(stream->codecpar->channel_layout));
          |                                                                                                                                  ^~~~~~~~~~~~~~
          |                                                                                                                                  ch_layout
    ```
    hashworks committed Jul 18, 2024
    Configuration menu
    Copy the full SHA
    80b015e View commit details
    Browse the repository at this point in the history
  3. ffmpeg Update: Replace deprecated channel_layout with ch_layout.u.mask

    ```
        /**
         * Audio only. The channel layout bitmask. May be 0 if the channel layout is
         * unknown or unspecified, otherwise the number of bits set must be equal to
         * the channels field.
         * @deprecated use ch_layout
         */
        attribute_deprecated
        uint64_t channel_layout;
    ```
    hashworks committed Jul 18, 2024
    Configuration menu
    Copy the full SHA
    29d3b3d View commit details
    Browse the repository at this point in the history
  4. ffmpeg Update: Replace deprecated frame->pkt_duration with duration

    ```
        /**
         * duration of the corresponding packet, expressed in
         * AVStream->time_base units, 0 if unknown.
         * - encoding: unused
         * - decoding: Read by user.
         *
         * @deprecated use duration instead
         */
        attribute_deprecated
        int64_t pkt_duration;
    ```
    hashworks committed Jul 18, 2024
    Configuration menu
    Copy the full SHA
    86d3cd2 View commit details
    Browse the repository at this point in the history
  5. ffmpeg Update: Replace deprecated av_get_channel_layout_string with a…

    …v_get_channel_layout_describe
    
    ```
    /**
     * Return a description of a channel layout.
     * If nb_channels is <= 0, it is guessed from the channel_layout.
     *
     * @param buf put here the string containing the channel layout
     * @param buf_size size in bytes of the buffer
     * @param nb_channels number of channels
     * @param channel_layout channel layout bitset
     * @deprecated use av_channel_layout_describe()
     */
    attribute_deprecated
    void av_get_channel_layout_string(char *buf, int buf_size, int nb_channels, uint64_t channel_layout);
    ```
    hashworks committed Jul 18, 2024
    Configuration menu
    Copy the full SHA
    f469e7e View commit details
    Browse the repository at this point in the history
  6. ffmpeg Update: Replace deprecated channels with ch_layout.nb_channels

    ```
        /**
         * Audio only. The number of audio channels.
         * @deprecated use ch_layout.nb_channels
         */
        attribute_deprecated
        int      channels;
    ```
    hashworks committed Jul 18, 2024
    Configuration menu
    Copy the full SHA
    a73e2ef View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    f033456 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    555e779 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    9685274 View commit details
    Browse the repository at this point in the history
  10. Drop unsupported ffmpeg v7 configuration flags

    Disabling lzo isn't allowed anymore FFmpeg/FFmpeg@df27292
    
    Couldn't find commits for the other two. But I suspect they are now
    enabled by default.
    hashworks committed Jul 18, 2024
    Configuration menu
    Copy the full SHA
    70ec85f View commit details
    Browse the repository at this point in the history
  11. Ignore the included uid in the jemalloc tar archive

    Otherwise this fails with `Cannot change ownership to uid 66878, gid
    100: Invalid argument`, at least with podman.
    hashworks committed Jul 18, 2024
    Configuration menu
    Copy the full SHA
    ac60ded View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    9b01f66 View commit details
    Browse the repository at this point in the history