* [FFmpeg-devel] [PATCH 1/2] avdevice/avfoundation: fix memleak
@ 2022-02-04 16:19 Zhao Zhili
2022-02-08 12:47 ` Thilo Borgmann
0 siblings, 1 reply; 7+ messages in thread
From: Zhao Zhili @ 2022-02-04 16:19 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Zhao Zhili
---
libavdevice/avfoundation.m | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/libavdevice/avfoundation.m b/libavdevice/avfoundation.m
index 0cd6e646d5..2078c4879c 100644
--- a/libavdevice/avfoundation.m
+++ b/libavdevice/avfoundation.m
@@ -106,6 +106,7 @@ typedef struct
int audio_device_index;
int audio_stream_index;
+ char *url;
char *video_filename;
char *audio_filename;
@@ -299,6 +300,7 @@ static void destroy_context(AVFContext* ctx)
ctx->avf_delegate = NULL;
ctx->avf_audio_delegate = NULL;
+ av_freep(&ctx->url);
av_freep(&ctx->audio_buffer);
pthread_mutex_destroy(&ctx->frame_lock);
@@ -311,14 +313,14 @@ static void destroy_context(AVFContext* ctx)
static void parse_device_name(AVFormatContext *s)
{
AVFContext *ctx = (AVFContext*)s->priv_data;
- char *tmp = av_strdup(s->url);
+ ctx->url = av_strdup(s->url);
char *save;
- if (tmp[0] != ':') {
- ctx->video_filename = av_strtok(tmp, ":", &save);
+ if (ctx->url[0] != ':') {
+ ctx->video_filename = av_strtok(ctx->url, ":", &save);
ctx->audio_filename = av_strtok(NULL, ":", &save);
} else {
- ctx->audio_filename = av_strtok(tmp, ":", &save);
+ ctx->audio_filename = av_strtok(ctx->url, ":", &save);
}
}
--
2.31.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [FFmpeg-devel] [PATCH 1/2] avdevice/avfoundation: fix memleak
2022-02-04 16:19 [FFmpeg-devel] [PATCH 1/2] avdevice/avfoundation: fix memleak Zhao Zhili
@ 2022-02-08 12:47 ` Thilo Borgmann
2022-02-08 12:50 ` Andreas Rheinhardt
0 siblings, 1 reply; 7+ messages in thread
From: Thilo Borgmann @ 2022-02-08 12:47 UTC (permalink / raw)
To: ffmpeg-devel
Am 04.02.22 um 17:19 schrieb Zhao Zhili:
> ---
> libavdevice/avfoundation.m | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/libavdevice/avfoundation.m b/libavdevice/avfoundation.m
> index 0cd6e646d5..2078c4879c 100644
> --- a/libavdevice/avfoundation.m
> +++ b/libavdevice/avfoundation.m
> @@ -106,6 +106,7 @@ typedef struct
> int audio_device_index;
> int audio_stream_index;
>
> + char *url;
> char *video_filename;
> char *audio_filename;
>
> @@ -299,6 +300,7 @@ static void destroy_context(AVFContext* ctx)
> ctx->avf_delegate = NULL;
> ctx->avf_audio_delegate = NULL;
>
> + av_freep(&ctx->url);
> av_freep(&ctx->audio_buffer);
Why carry it in the context instead of adding the missing av_freep() in parse_device_name() ?
-Thilo
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [FFmpeg-devel] [PATCH 1/2] avdevice/avfoundation: fix memleak
2022-02-08 12:47 ` Thilo Borgmann
@ 2022-02-08 12:50 ` Andreas Rheinhardt
2022-02-08 13:03 ` Thilo Borgmann
0 siblings, 1 reply; 7+ messages in thread
From: Andreas Rheinhardt @ 2022-02-08 12:50 UTC (permalink / raw)
To: ffmpeg-devel
Thilo Borgmann:
> Am 04.02.22 um 17:19 schrieb Zhao Zhili:
>> ---
>> libavdevice/avfoundation.m | 10 ++++++----
>> 1 file changed, 6 insertions(+), 4 deletions(-)
>>
>> diff --git a/libavdevice/avfoundation.m b/libavdevice/avfoundation.m
>> index 0cd6e646d5..2078c4879c 100644
>> --- a/libavdevice/avfoundation.m
>> +++ b/libavdevice/avfoundation.m
>> @@ -106,6 +106,7 @@ typedef struct
>> int audio_device_index;
>> int audio_stream_index;
>> + char *url;
>> char *video_filename;
>> char *audio_filename;
>> @@ -299,6 +300,7 @@ static void destroy_context(AVFContext* ctx)
>> ctx->avf_delegate = NULL;
>> ctx->avf_audio_delegate = NULL;
>> + av_freep(&ctx->url);
>> av_freep(&ctx->audio_buffer);
>
> Why carry it in the context instead of adding the missing av_freep() in
> parse_device_name() ?
>
Because video_filename and audio_filename point into it.
- Andreas
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [FFmpeg-devel] [PATCH 1/2] avdevice/avfoundation: fix memleak
2022-02-08 12:50 ` Andreas Rheinhardt
@ 2022-02-08 13:03 ` Thilo Borgmann
2022-02-08 13:05 ` Andreas Rheinhardt
0 siblings, 1 reply; 7+ messages in thread
From: Thilo Borgmann @ 2022-02-08 13:03 UTC (permalink / raw)
To: ffmpeg-devel
Am 08.02.22 um 13:50 schrieb Andreas Rheinhardt:
> Thilo Borgmann:
>> Am 04.02.22 um 17:19 schrieb Zhao Zhili:
>>> ---
>>> libavdevice/avfoundation.m | 10 ++++++----
>>> 1 file changed, 6 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/libavdevice/avfoundation.m b/libavdevice/avfoundation.m
>>> index 0cd6e646d5..2078c4879c 100644
>>> --- a/libavdevice/avfoundation.m
>>> +++ b/libavdevice/avfoundation.m
>>> @@ -106,6 +106,7 @@ typedef struct
>>> int audio_device_index;
>>> int audio_stream_index;
>>> + char *url;
>>> char *video_filename;
>>> char *audio_filename;
>>> @@ -299,6 +300,7 @@ static void destroy_context(AVFContext* ctx)
>>> ctx->avf_delegate = NULL;
>>> ctx->avf_audio_delegate = NULL;
>>> + av_freep(&ctx->url);
>>> av_freep(&ctx->audio_buffer);
>>
>> Why carry it in the context instead of adding the missing av_freep() in
>> parse_device_name() ?
>>
>
> Because video_filename and audio_filename point into it.
Wondering if we couldn't skip av_strdup() and operate on s->url directly then.
-Thilo
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [FFmpeg-devel] [PATCH 1/2] avdevice/avfoundation: fix memleak
2022-02-08 13:03 ` Thilo Borgmann
@ 2022-02-08 13:05 ` Andreas Rheinhardt
2022-02-19 8:45 ` "zhilizhao(赵志立)"
0 siblings, 1 reply; 7+ messages in thread
From: Andreas Rheinhardt @ 2022-02-08 13:05 UTC (permalink / raw)
To: ffmpeg-devel
Thilo Borgmann:
> Am 08.02.22 um 13:50 schrieb Andreas Rheinhardt:
>> Thilo Borgmann:
>>> Am 04.02.22 um 17:19 schrieb Zhao Zhili:
>>>> ---
>>>> libavdevice/avfoundation.m | 10 ++++++----
>>>> 1 file changed, 6 insertions(+), 4 deletions(-)
>>>>
>>>> diff --git a/libavdevice/avfoundation.m b/libavdevice/avfoundation.m
>>>> index 0cd6e646d5..2078c4879c 100644
>>>> --- a/libavdevice/avfoundation.m
>>>> +++ b/libavdevice/avfoundation.m
>>>> @@ -106,6 +106,7 @@ typedef struct
>>>> int audio_device_index;
>>>> int audio_stream_index;
>>>> + char *url;
>>>> char *video_filename;
>>>> char *audio_filename;
>>>> @@ -299,6 +300,7 @@ static void destroy_context(AVFContext* ctx)
>>>> ctx->avf_delegate = NULL;
>>>> ctx->avf_audio_delegate = NULL;
>>>> + av_freep(&ctx->url);
>>>> av_freep(&ctx->audio_buffer);
>>>
>>> Why carry it in the context instead of adding the missing av_freep() in
>>> parse_device_name() ?
>>>
>>
>> Because video_filename and audio_filename point into it.
>
> Wondering if we couldn't skip av_strdup() and operate on s->url directly
> then.
>
This would trash s->url.
- Andreas
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [FFmpeg-devel] [PATCH 1/2] avdevice/avfoundation: fix memleak
2022-02-08 13:05 ` Andreas Rheinhardt
@ 2022-02-19 8:45 ` "zhilizhao(赵志立)"
2022-02-22 12:12 ` Thilo Borgmann
0 siblings, 1 reply; 7+ messages in thread
From: "zhilizhao(赵志立)" @ 2022-02-19 8:45 UTC (permalink / raw)
To: FFmpeg development discussions and patches
> On Feb 8, 2022, at 9:05 PM, Andreas Rheinhardt <andreas.rheinhardt@outlook.com> wrote:
>
> Thilo Borgmann:
>> Am 08.02.22 um 13:50 schrieb Andreas Rheinhardt:
>>> Thilo Borgmann:
>>>> Am 04.02.22 um 17:19 schrieb Zhao Zhili:
>>>>> ---
>>>>> libavdevice/avfoundation.m | 10 ++++++----
>>>>> 1 file changed, 6 insertions(+), 4 deletions(-)
>>>>>
>>>>> diff --git a/libavdevice/avfoundation.m b/libavdevice/avfoundation.m
>>>>> index 0cd6e646d5..2078c4879c 100644
>>>>> --- a/libavdevice/avfoundation.m
>>>>> +++ b/libavdevice/avfoundation.m
>>>>> @@ -106,6 +106,7 @@ typedef struct
>>>>> int audio_device_index;
>>>>> int audio_stream_index;
>>>>> + char *url;
>>>>> char *video_filename;
>>>>> char *audio_filename;
>>>>> @@ -299,6 +300,7 @@ static void destroy_context(AVFContext* ctx)
>>>>> ctx->avf_delegate = NULL;
>>>>> ctx->avf_audio_delegate = NULL;
>>>>> + av_freep(&ctx->url);
>>>>> av_freep(&ctx->audio_buffer);
>>>>
>>>> Why carry it in the context instead of adding the missing av_freep() in
>>>> parse_device_name() ?
>>>>
>>>
>>> Because video_filename and audio_filename point into it.
>>
>> Wondering if we couldn't skip av_strdup() and operate on s->url directly
>> then.
>>
>
> This would trash s->url.
Ping. Can this patch set be applied?
>
> - Andreas
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [FFmpeg-devel] [PATCH 1/2] avdevice/avfoundation: fix memleak
2022-02-19 8:45 ` "zhilizhao(赵志立)"
@ 2022-02-22 12:12 ` Thilo Borgmann
0 siblings, 0 replies; 7+ messages in thread
From: Thilo Borgmann @ 2022-02-22 12:12 UTC (permalink / raw)
To: ffmpeg-devel
Am 19.02.22 um 09:45 schrieb "zhilizhao(赵志立)":
>
>
>> On Feb 8, 2022, at 9:05 PM, Andreas Rheinhardt <andreas.rheinhardt@outlook.com> wrote:
>>
>> Thilo Borgmann:
>>> Am 08.02.22 um 13:50 schrieb Andreas Rheinhardt:
>>>> Thilo Borgmann:
>>>>> Am 04.02.22 um 17:19 schrieb Zhao Zhili:
>>>>>> ---
>>>>>> libavdevice/avfoundation.m | 10 ++++++----
>>>>>> 1 file changed, 6 insertions(+), 4 deletions(-)
>>>>>>
>>>>>> diff --git a/libavdevice/avfoundation.m b/libavdevice/avfoundation.m
>>>>>> index 0cd6e646d5..2078c4879c 100644
>>>>>> --- a/libavdevice/avfoundation.m
>>>>>> +++ b/libavdevice/avfoundation.m
>>>>>> @@ -106,6 +106,7 @@ typedef struct
>>>>>> int audio_device_index;
>>>>>> int audio_stream_index;
>>>>>> + char *url;
>>>>>> char *video_filename;
>>>>>> char *audio_filename;
>>>>>> @@ -299,6 +300,7 @@ static void destroy_context(AVFContext* ctx)
>>>>>> ctx->avf_delegate = NULL;
>>>>>> ctx->avf_audio_delegate = NULL;
>>>>>> + av_freep(&ctx->url);
>>>>>> av_freep(&ctx->audio_buffer);
>>>>>
>>>>> Why carry it in the context instead of adding the missing av_freep() in
>>>>> parse_device_name() ?
>>>>>
>>>>
>>>> Because video_filename and audio_filename point into it.
>>>
>>> Wondering if we couldn't skip av_strdup() and operate on s->url directly
>>> then.
>>>
>>
>> This would trash s->url.
>
> Ping. Can this patch set be applied?
Pushed, thanks!
-Thilo
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2022-02-22 12:12 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-04 16:19 [FFmpeg-devel] [PATCH 1/2] avdevice/avfoundation: fix memleak Zhao Zhili
2022-02-08 12:47 ` Thilo Borgmann
2022-02-08 12:50 ` Andreas Rheinhardt
2022-02-08 13:03 ` Thilo Borgmann
2022-02-08 13:05 ` Andreas Rheinhardt
2022-02-19 8:45 ` "zhilizhao(赵志立)"
2022-02-22 12:12 ` Thilo Borgmann
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git