<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="generator" content="pandoc" />
<title></title>
<style type="text/css">code{white-space: pre;}</style>
</head>
<body>
<p>Hi Rémi,</p>
<p>On 2017-03-29 22:13, Rémi Denis-Courmont wrote:</p>
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;color:#500050">
<pre><code> Le perjantaina 24. maaliskuuta 2017, 3.28.31 EEST Filip Roséen a écrit :</code></pre>
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;color:#500050">
<pre><code> This will cancel any pending request for preparsing the relevant
playlist_item_t as preparsing the entity:
- is redundant since we are about to start playback,</code></pre>
</blockquote>
<pre><code> Yes but I don´t see how this prevents the next two problems short of
unwarranted sunny day case timing assumptions.</code></pre>
</blockquote>
<p>There are other paths where the problem might arise, but for all of those cases the preparsing does not originate from the relevant code of the below listed files:</p>
<ul>
<li><code>src/playlist/thread.c</code></li>
<li><code>src/playlist/engine.c</code></li>
<li><code>src/playlist/item.c</code></li>
</ul>
<p>What is described in the commit message you are referring to is what it addresses, not cases from outside of the scope of the changes.</p>
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;color:#500050">
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;color:#500050">
<pre><code> - can remove metadata added during playback, and;
- can lead to duplicate entries in the playlist if the
playlist_item_t is a directory (as children are added each time
such entity is "played").
fixes: #17441
fixes: #17232
---
src/playlist/item.c | 2 +-
src/playlist/thread.c | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/playlist/item.c b/src/playlist/item.c
index b166155387..9d77a663ad 100644
--- a/src/playlist/item.c
+++ b/src/playlist/item.c
@@ -776,7 +776,7 @@ static void GoAndPreparse( playlist_t *p_playlist, int
i_mode, if( sys->b_preparse && !input_item_IsPreparsed( p_item->p_input )
&& (EMPTY_STR(psz_artist) || EMPTY_STR(psz_album)) )
libvlc_MetadataRequest( p_playlist->obj.libvlc, p_item->p_input, 0,
-1, - NULL );
+ p_item );
free( psz_artist );
free( psz_album );
}
diff --git a/src/playlist/thread.c b/src/playlist/thread.c
index 5e198a0a14..933244de75 100644
--- a/src/playlist/thread.c
+++ b/src/playlist/thread.c
@@ -205,6 +205,8 @@ static bool PlayItem( playlist_t *p_playlist,
playlist_item_t *p_item ) assert( p_sys->p_input == NULL );
PL_UNLOCK;
+ libvlc_MetadataCancel( p_playlist->obj.libvlc, p_item );
+
input_thread_t *p_input_thread = input_Create( p_playlist, p_input,
NULL, p_sys->p_input_resource ); if( likely(p_input_thread != NULL) )</code></pre>
</blockquote>
<pre><code> --
雷米‧德尼-库尔蒙
https://www.remlab.net/
_______________________________________________
vlc-devel mailing list
To unsubscribe or modify your subscription options:
https://mailman.videolan.org/listinfo/vlc-devel</code></pre>
</blockquote>
</body>
</html>