<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>40842</bug_id>
          
          <creation_ts>2021-09-01 23:20:36 +0300</creation_ts>
          <short_desc>Обновить до &gt;= 57</short_desc>
          <delta_ts>2021-09-02 12:31:23 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>libavutil-devel</component>
          <version>unstable</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>NOTABUG</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Gladkov">legion</reporter>
          <assigned_to name="Anton Farygin">rider</assigned_to>
          <cc>darktemplar</cc>
    
    <cc>placeholder</cc>
    
    <cc>rider</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>202210</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2021-09-01 23:20:36 +0300</bug_when>
    <thetext>Новому chromium очень хочется работать с libavutil &gt;= 57. Обновите пакет если можно. Очень не хочется использовать внутреннюю версию.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202215</commentid>
    <comment_count>1</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2021-09-02 08:36:23 +0300</bug_when>
    <thetext>Было бы интересно узнать, где они взяли 57-ю версию libavutil.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202218</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2021-09-02 11:21:48 +0300</bug_when>
    <thetext>Может я что-то упускаю. Вот моя проблема: В chromium используется size_t в качестве третьего аргумента av_packet_get_side_data. При использовании системной библиотеки получаю ошибку:

../../media/filters/ffmpeg_demuxer.cc:432:24: error: no matching function for call to &apos;av_packet_get_side_data&apos;
    uint8_t* id_data = av_packet_get_side_data(
                       ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/libavcodec/packet.h:626:10: note: candidate function not viable: no known conversion from &apos;size_t *&apos; (aka &apos;unsigned long *&apos;) t
o &apos;int *&apos; for 3rd argument

В /usr/include/libavcodec/packet.h декларация:

uint8_t* av_packet_get_side_data(const AVPacket *pkt, enum AVPacketSideDataType type,
#if FF_API_BUFFER_SIZE_T
      int *size);
#else
      size_t *size);
#endif

В /usr/include/libavutil/version.h написано:

#define LIBAVUTIL_VERSION_MAJOR 56
...
#ifndef FF_API_BUFFER_SIZE_T
#define FF_API_BUFFER_SIZE_T (LIBAVUTIL_VERSION_MAJOR &lt; 57)
#endif

Я предположил, что раз такое условие включения FF_API_BUFFER_SIZE_T, то должно быть условие переводящее его в false. Выставлять -DFF_API_BUFFER_SIZE_T=0 приведёт к тому, что в место указательня на int хромиум будет передавать указатель на unsigned long, что не выглядит хорошей идеей.

Поэтому я и решил открыть эту багу. Возможно, ты мне что-нибудь подскажешь. Я вполне допускаю, что неправ chromium и нужно использовать их внутреннюю копию библиотеки.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202219</commentid>
    <comment_count>3</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2021-09-02 11:39:21 +0300</bug_when>
    <thetext>Если в chromium используется size_t, то похоже, что они перешли на версию ffmpeg из ветки master.

Вот эти условия в декларациях, про которые ты пишешь были добавлены с таким changelog в изменениях:
2021-03-10 - xxxxxxxxxx - lavu 56.68.100 - buffer.h
  Change AVBufferRef related function and struct size parameter and fields
  type to size_t at next major bump.

major bump ещё не случился и у нас собрана самая последняя версия 4.4.

Ты можешь посмотреть, откуда они втащили себе ffmpeg ?

И да, возможно что собирать его с внутренним ffmpeg это хорошая идея, надо смотреть что они ещё в нём меняют.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202221</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2021-09-02 12:23:24 +0300</bug_when>
    <thetext>(Ответ для Anton Farygin на комментарий #3)
&gt; Если в chromium используется size_t, то похоже, что они перешли на версию
&gt; ffmpeg из ветки master.
&gt; 
&gt; Вот эти условия в декларациях, про которые ты пишешь были добавлены с таким
&gt; changelog в изменениях:
&gt; 2021-03-10 - xxxxxxxxxx - lavu 56.68.100 - buffer.h
&gt;   Change AVBufferRef related function and struct size parameter and fields
&gt;   type to size_t at next major bump.
&gt; 
&gt; major bump ещё не случился и у нас собрана самая последняя версия 4.4.

Похоже на то.

&gt; Ты можешь посмотреть, откуда они втащили себе ffmpeg ?

Name: ffmpeg
URL: http://ffmpeg.org/
License: LGPL 2.1
License File: CREDITS.chromium
Upstream Git: git://source.ffmpeg.org/ffmpeg.git
Last Upstream Merge: 8649f5dca6688feb66f787dcf232d42ed20fdb28, May 09 2021

Я долгое время использовал системную библиотеку поскольку у хромиума нет патчий на внутеннюю копию в отличии от остальных внутренних библиотек.

&gt; И да, возможно что собирать его с внутренним ffmpeg это хорошая идея, надо
&gt; смотреть что они ещё в нём меняют.

Это повлечёт свои поблемы, но похоже, что так.

Тогда багу можно закрывать.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202222</commentid>
    <comment_count>5</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2021-09-02 12:24:43 +0300</bug_when>
    <thetext>выйдет новый major release - можно будет опять отключить.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202223</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2021-09-02 12:31:23 +0300</bug_when>
    <thetext>(Ответ для Anton Farygin на комментарий #5)
&gt; выйдет новый major release - можно будет опять отключить.

С таким апстримом я смысла не вижу. И так приходится кучу всего вычитывать, чтобы  собрать из &quot;релиз&quot;.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>