Re: [FFmpeg-devel] [PATCH 2/2] avcodec/videotoolboxenc: fix use after destroy

2020-09-17 Thread Richard Kern


> On Sep 10, 2020, at 11:13 AM, Zhao Zhili  wrote:
> 
> 
>> 在 2020年9月10日,下午10:21,Richard Kern  写道:
>> 
>> 
>> 
 On Sep 10, 2020, at 8:57 AM, zhilizhao  wrote:
>>> 
>>> 
>>> 
> On Aug 28, 2020, at 8:55 AM, Steven Liu  wrote:
 
  于2020年8月27日周四 下午5:39写道:
> 
> From: Zhao Zhili 
> 
> The lock is used in clear_frame_queue().
> ---
> libavcodec/videotoolboxenc.c | 11 +++
> 1 file changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/libavcodec/videotoolboxenc.c b/libavcodec/videotoolboxenc.c
> index 988782f10d..758db9641f 100644
> --- a/libavcodec/videotoolboxenc.c
> +++ b/libavcodec/videotoolboxenc.c
> @@ -2496,14 +2496,17 @@ static av_cold int vtenc_close(AVCodecContext 
> *avctx)
> {
>  VTEncContext *vtctx = avctx->priv_data;
> 
> -pthread_cond_destroy(>cv_sample_sent);
> -pthread_mutex_destroy(>lock);
> -
> -if(!vtctx->session) return 0;
> +if(!vtctx->session) {
> +pthread_cond_destroy(>cv_sample_sent);
> +pthread_mutex_destroy(>lock);
> +return 0;
> +}
> 
>  VTCompressionSessionCompleteFrames(vtctx->session,
> kCMTimeIndefinite);
>  clear_frame_queue(vtctx);
> +pthread_cond_destroy(>cv_sample_sent);
> +pthread_mutex_destroy(>lock);
>  CFRelease(vtctx->session);
>  vtctx->session = NULL;
> 
> --
> 2.28.0
> 
> ___
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
 
 
 This patch look better than
 https://patchwork.ffmpeg.org/project/ffmpeg/patch/20200827025327.28334-1...@chinaffmpeg.org/
 
>>> 
>>> Ping for the patch set.
>> Can you provide steps to reproduce the deadlock issue? I can get it pushed 
>> this weekend if so. 
> 
> I only try to fix a use after destroy issue as the commit message says.
> It may solved another issue unintentional. Liu, could you help by giving
> more information about the deadlock issue, please.
I’ll figure out a way to reproduce this in the next few days and get these 
patches pushed. 

> 
>>> 
 
 Thanks
 Steven
 ___
 ffmpeg-devel mailing list
 ffmpeg-devel@ffmpeg.org
 https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 
 To unsubscribe, visit link above, or email
 ffmpeg-devel-requ...@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-requ...@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-requ...@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-requ...@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-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-devel] [PATCH 2/2] avcodec/videotoolboxenc: fix use after destroy

2020-09-10 Thread Zhao Zhili

> 在 2020年9月10日,下午10:21,Richard Kern  写道:
> 
> 
> 
>> On Sep 10, 2020, at 8:57 AM, zhilizhao  wrote:
>> 
>> 
>> 
 On Aug 28, 2020, at 8:55 AM, Steven Liu  wrote:
>>> 
>>>  于2020年8月27日周四 下午5:39写道:
 
 From: Zhao Zhili 
 
 The lock is used in clear_frame_queue().
 ---
 libavcodec/videotoolboxenc.c | 11 +++
 1 file changed, 7 insertions(+), 4 deletions(-)
 
 diff --git a/libavcodec/videotoolboxenc.c b/libavcodec/videotoolboxenc.c
 index 988782f10d..758db9641f 100644
 --- a/libavcodec/videotoolboxenc.c
 +++ b/libavcodec/videotoolboxenc.c
 @@ -2496,14 +2496,17 @@ static av_cold int vtenc_close(AVCodecContext 
 *avctx)
 {
   VTEncContext *vtctx = avctx->priv_data;
 
 -pthread_cond_destroy(>cv_sample_sent);
 -pthread_mutex_destroy(>lock);
 -
 -if(!vtctx->session) return 0;
 +if(!vtctx->session) {
 +pthread_cond_destroy(>cv_sample_sent);
 +pthread_mutex_destroy(>lock);
 +return 0;
 +}
 
   VTCompressionSessionCompleteFrames(vtctx->session,
  kCMTimeIndefinite);
   clear_frame_queue(vtctx);
 +pthread_cond_destroy(>cv_sample_sent);
 +pthread_mutex_destroy(>lock);
   CFRelease(vtctx->session);
   vtctx->session = NULL;
 
 --
 2.28.0
 
 ___
 ffmpeg-devel mailing list
 ffmpeg-devel@ffmpeg.org
 https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 
 To unsubscribe, visit link above, or email
 ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
>>> 
>>> 
>>> This patch look better than
>>> https://patchwork.ffmpeg.org/project/ffmpeg/patch/20200827025327.28334-1...@chinaffmpeg.org/
>>> 
>> 
>> Ping for the patch set.
> Can you provide steps to reproduce the deadlock issue? I can get it pushed 
> this weekend if so. 

I only try to fix a use after destroy issue as the commit message says.
It may solved another issue unintentional. Liu, could you help by giving
more information about the deadlock issue, please.

>> 
>>> 
>>> Thanks
>>> Steven
>>> ___
>>> ffmpeg-devel mailing list
>>> ffmpeg-devel@ffmpeg.org
>>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>> 
>>> To unsubscribe, visit link above, or email
>>> ffmpeg-devel-requ...@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-requ...@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-requ...@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-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-devel] [PATCH 2/2] avcodec/videotoolboxenc: fix use after destroy

2020-09-10 Thread Richard Kern


> On Sep 10, 2020, at 8:57 AM, zhilizhao  wrote:
> 
> 
> 
>> On Aug 28, 2020, at 8:55 AM, Steven Liu  wrote:
>> 
>>  于2020年8月27日周四 下午5:39写道:
>>> 
>>> From: Zhao Zhili 
>>> 
>>> The lock is used in clear_frame_queue().
>>> ---
>>> libavcodec/videotoolboxenc.c | 11 +++
>>> 1 file changed, 7 insertions(+), 4 deletions(-)
>>> 
>>> diff --git a/libavcodec/videotoolboxenc.c b/libavcodec/videotoolboxenc.c
>>> index 988782f10d..758db9641f 100644
>>> --- a/libavcodec/videotoolboxenc.c
>>> +++ b/libavcodec/videotoolboxenc.c
>>> @@ -2496,14 +2496,17 @@ static av_cold int vtenc_close(AVCodecContext 
>>> *avctx)
>>> {
>>>VTEncContext *vtctx = avctx->priv_data;
>>> 
>>> -pthread_cond_destroy(>cv_sample_sent);
>>> -pthread_mutex_destroy(>lock);
>>> -
>>> -if(!vtctx->session) return 0;
>>> +if(!vtctx->session) {
>>> +pthread_cond_destroy(>cv_sample_sent);
>>> +pthread_mutex_destroy(>lock);
>>> +return 0;
>>> +}
>>> 
>>>VTCompressionSessionCompleteFrames(vtctx->session,
>>>   kCMTimeIndefinite);
>>>clear_frame_queue(vtctx);
>>> +pthread_cond_destroy(>cv_sample_sent);
>>> +pthread_mutex_destroy(>lock);
>>>CFRelease(vtctx->session);
>>>vtctx->session = NULL;
>>> 
>>> --
>>> 2.28.0
>>> 
>>> ___
>>> ffmpeg-devel mailing list
>>> ffmpeg-devel@ffmpeg.org
>>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>> 
>>> To unsubscribe, visit link above, or email
>>> ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
>> 
>> 
>> This patch look better than
>> https://patchwork.ffmpeg.org/project/ffmpeg/patch/20200827025327.28334-1...@chinaffmpeg.org/
>> 
> 
> Ping for the patch set.
Can you provide steps to reproduce the deadlock issue? I can get it pushed this 
weekend if so. 
> 
>> 
>> Thanks
>> Steven
>> ___
>> ffmpeg-devel mailing list
>> ffmpeg-devel@ffmpeg.org
>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>> 
>> To unsubscribe, visit link above, or email
>> ffmpeg-devel-requ...@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-requ...@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-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-devel] [PATCH 2/2] avcodec/videotoolboxenc: fix use after destroy

2020-09-10 Thread zhilizhao


> On Aug 28, 2020, at 8:55 AM, Steven Liu  wrote:
> 
>  于2020年8月27日周四 下午5:39写道:
>> 
>> From: Zhao Zhili 
>> 
>> The lock is used in clear_frame_queue().
>> ---
>> libavcodec/videotoolboxenc.c | 11 +++
>> 1 file changed, 7 insertions(+), 4 deletions(-)
>> 
>> diff --git a/libavcodec/videotoolboxenc.c b/libavcodec/videotoolboxenc.c
>> index 988782f10d..758db9641f 100644
>> --- a/libavcodec/videotoolboxenc.c
>> +++ b/libavcodec/videotoolboxenc.c
>> @@ -2496,14 +2496,17 @@ static av_cold int vtenc_close(AVCodecContext *avctx)
>> {
>> VTEncContext *vtctx = avctx->priv_data;
>> 
>> -pthread_cond_destroy(>cv_sample_sent);
>> -pthread_mutex_destroy(>lock);
>> -
>> -if(!vtctx->session) return 0;
>> +if(!vtctx->session) {
>> +pthread_cond_destroy(>cv_sample_sent);
>> +pthread_mutex_destroy(>lock);
>> +return 0;
>> +}
>> 
>> VTCompressionSessionCompleteFrames(vtctx->session,
>>kCMTimeIndefinite);
>> clear_frame_queue(vtctx);
>> +pthread_cond_destroy(>cv_sample_sent);
>> +pthread_mutex_destroy(>lock);
>> CFRelease(vtctx->session);
>> vtctx->session = NULL;
>> 
>> --
>> 2.28.0
>> 
>> ___
>> ffmpeg-devel mailing list
>> ffmpeg-devel@ffmpeg.org
>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>> 
>> To unsubscribe, visit link above, or email
>> ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".
> 
> 
> This patch look better than
> https://patchwork.ffmpeg.org/project/ffmpeg/patch/20200827025327.28334-1...@chinaffmpeg.org/
> 

Ping for the patch set.

> 
> Thanks
> Steven
> ___
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-requ...@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-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-devel] [PATCH 2/2] avcodec/videotoolboxenc: fix use after destroy

2020-08-27 Thread Steven Liu
 于2020年8月27日周四 下午5:39写道:
>
> From: Zhao Zhili 
>
> The lock is used in clear_frame_queue().
> ---
>  libavcodec/videotoolboxenc.c | 11 +++
>  1 file changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/libavcodec/videotoolboxenc.c b/libavcodec/videotoolboxenc.c
> index 988782f10d..758db9641f 100644
> --- a/libavcodec/videotoolboxenc.c
> +++ b/libavcodec/videotoolboxenc.c
> @@ -2496,14 +2496,17 @@ static av_cold int vtenc_close(AVCodecContext *avctx)
>  {
>  VTEncContext *vtctx = avctx->priv_data;
>
> -pthread_cond_destroy(>cv_sample_sent);
> -pthread_mutex_destroy(>lock);
> -
> -if(!vtctx->session) return 0;
> +if(!vtctx->session) {
> +pthread_cond_destroy(>cv_sample_sent);
> +pthread_mutex_destroy(>lock);
> +return 0;
> +}
>
>  VTCompressionSessionCompleteFrames(vtctx->session,
> kCMTimeIndefinite);
>  clear_frame_queue(vtctx);
> +pthread_cond_destroy(>cv_sample_sent);
> +pthread_mutex_destroy(>lock);
>  CFRelease(vtctx->session);
>  vtctx->session = NULL;
>
> --
> 2.28.0
>
> ___
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".


This patch look better than
https://patchwork.ffmpeg.org/project/ffmpeg/patch/20200827025327.28334-1...@chinaffmpeg.org/


Thanks
Steven
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-devel] [PATCH 2/2] avcodec/videotoolboxenc: fix use after destroy

2020-08-27 Thread quinkblack
From: Zhao Zhili 

The lock is used in clear_frame_queue().
---
 libavcodec/videotoolboxenc.c | 11 +++
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/libavcodec/videotoolboxenc.c b/libavcodec/videotoolboxenc.c
index 988782f10d..758db9641f 100644
--- a/libavcodec/videotoolboxenc.c
+++ b/libavcodec/videotoolboxenc.c
@@ -2496,14 +2496,17 @@ static av_cold int vtenc_close(AVCodecContext *avctx)
 {
 VTEncContext *vtctx = avctx->priv_data;
 
-pthread_cond_destroy(>cv_sample_sent);
-pthread_mutex_destroy(>lock);
-
-if(!vtctx->session) return 0;
+if(!vtctx->session) {
+pthread_cond_destroy(>cv_sample_sent);
+pthread_mutex_destroy(>lock);
+return 0;
+}
 
 VTCompressionSessionCompleteFrames(vtctx->session,
kCMTimeIndefinite);
 clear_frame_queue(vtctx);
+pthread_cond_destroy(>cv_sample_sent);
+pthread_mutex_destroy(>lock);
 CFRelease(vtctx->session);
 vtctx->session = NULL;
 
-- 
2.28.0

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".