[vlc-devel] [PATCH] lib: media: reset parsed_status on new parse request
Thomas Guillem
thomas at gllm.fr
Wed Oct 23 17:14:54 CEST 2019
I propose to push this patch as it is
Maybe later we can improve parsing from many threads, but from what I saw in libvlc users, media is always parsed from the same thread.
On Tue, Oct 22, 2019, at 17:03, Thomas Guillem wrote:
>
> On Tue, Oct 22, 2019, at 13:28, Rémi Denis-Courmont wrote:
>> Hi,
>>
>> Just a few days ago, Hugo made the case that media can be used in multiple threads. Now, this seems to be doing the exact opposite, propose a design that won't work if multiple threads use the same media (and try to parse it).
>
> If a second thread try to parse the media that is already parsing, it will return an error.
> The media can be read from any threads, but only one thread can parse it now.
>
> We could easily allow parsing from multiple threads by just returning success if already parsing. But we need to make sure that the second thread will receive the parse_ended event in all case.
>
>> This does not add up. I'm not sure which way is right, but it can't be both.
>>
>> Le 22 octobre 2019 13:45:14 GMT+03:00, Thomas Guillem <thomas at gllm.fr> a écrit :
>>> Otherwise, events are not propagated after the first request.
>>>
>>> cf. f37171e57b0d0af922215ffed19111a4f317fb29 lib/media.c | 3 +++
>>> 1 file changed, 3 insertions(+)
>>>
>>> diff --git a/lib/media.c b/lib/media.c
>>> index dd0513633f6..f0f1adb1bcf 100644
>>> --- a/lib/media.c
>>> +++ b/lib/media.c
>>> @@ -781,7 +781,10 @@ static int media_parse(libvlc_media_t *media, bool b_async,
>>> needed = !media->has_asked_preparse;
>>> media->has_asked_preparse = true;
>>> if (needed)
>>> + {
>>> media->is_parsed = false;
>>> + media->parsed_status = 0;
>>> + }
>>> vlc_mutex_unlock(&media->parsed_lock);
>>>
>>> if (needed)
>>
>> --
>> Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.
>> _______________________________________________
>> vlc-devel mailing list
>> To unsubscribe or modify your subscription options:
>> https://mailman.videolan.org/listinfo/vlc-devel
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20191023/6a9a1347/attachment.html>
More information about the vlc-devel
mailing list