[FFmpeg-devel] [PATCH 1/1] librtmp: use AVBPrint instead of char *

Martin Storsjö martin at martin.st
Tue Apr 19 23:22:58 EEST 2022


On Tue, 19 Apr 2022, Marton Balint wrote:

>
>
> On Sat, 16 Apr 2022, Martin Storsjö wrote:
>
>> On Fri, 15 Apr 2022, Tristan Matthews wrote:
>>
>>>  This avoids having to do one pass to calculate the full length to 
> allocate
>>>  followed by a second pass to actually append values.
>>>  ---
>>>  libavformat/librtmp.c | 124 +++++++++++-------------------------------
>>>  1 file changed, 33 insertions(+), 91 deletions(-)
>>>
>>>  diff --git a/libavformat/librtmp.c b/libavformat/librtmp.c
>>>  index 43013e46e0..b7e9fc81cf 100644
>>>  --- a/libavformat/librtmp.c
>>>  +++ b/libavformat/librtmp.c
>>>  @@ -25,6 +25,7 @@
>>>   */
>>>
>>>  #include "libavutil/avstring.h"
>>>  +#include "libavutil/bprint.h"
>>>  #include "libavutil/mathematics.h"
>>>  #include "libavutil/opt.h"
>>>  #include "avformat.h"
>>>  @@ -38,6 +39,7 @@
>>>
>>>  typedef struct LibRTMPContext {
>>>      const AVClass *class;
>>>  +    AVBPrint filename;
>>>      RTMP rtmp;
>>>      char *app;
>>>      char *conn;
>>>  @@ -50,7 +52,6 @@ typedef struct LibRTMPContext {
>>>      char *pageurl;
>>>      char *client_buffer_time;
>>>      int live;
>>>  -    char *temp_filename;
>>>      int buffer_size;
>>>  } LibRTMPContext;
>>
>> This looks ok to me.
>>
>> (I guess it also could be considered viable to not store the AVBprint in 
> the 
>> context but detach an allocated string instead; that would decrease the 
>> persistent allocation size a little, at the cost of some more copying, but 
>> the difference is probably negligible, so this probably is sensible as is.)
>
> Agreed.
>
>>
>> Let's still wait for Marton's review too.
>
> LGTM as well. Thanks.

Pushed now then.

// Martin


More information about the ffmpeg-devel mailing list