<html><head></head><body><div class="gmail_quote">Le 9 juillet 2017 16:34:36 GMT+03:00, "Rémi Denis-Courmont" <git@videolan.org> a écrit :<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail">vlc | branch: master | Rémi Denis-Courmont <remi@remlab.net> | Sun Jul  9 16:22:04 2017 +0300| [da721e6fca98c487d5933c1d5164ee58203138e0] | committer: Rémi Denis-Courmont<br /><br />xa: remove struct member<br /><br /><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;"> <a href="http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=da721e6fca98c487d5933c1d5164ee58203138e0">http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=da721e6fca98c487d5933c1d5164ee58203138e0</a><br /></blockquote>---<br /><br /> modules/demux/xa.c | 22 ++++++++++------------<br /> 1 file changed, 10 insertions(+), 12 deletions(-)<br /><br />diff --git a/modules/demux/xa.c b/modules/demux/xa.c<br />index cc525cfdfc..92e06bf7b7 100644<br />--- a/modules/demux/xa.c<br />+++ b/modules/demux/xa.c<br />@@ -58,7 +58,6 @@ struct demux_sys_t<br /> {<br />     es_out_id_t     *p_es;<br /> <br />-    int64_t         i_data_offset;<br />     unsigned int    i_data_size;<br />     unsigned int    i_block_frames;<br />     unsigned int    i_frame_size;<br />@@ -80,6 +79,8 @@ typedef struct xa_header_t<br />     uint16_t wBitsPerSample;<br /> } xa_header_t;<br /> <br />+#define HEADER_LENGTH 24<br />+<br /> static_assert(offsetof(xa_header_t, wBitsPerSample) == 22, "Bad padding");<br /> <br /> #define FRAME_LENGTH 28 /* samples per frame */<br />@@ -107,7 +108,7 @@ static int Open( vlc_object_t * p_this )<br />     /* read XA header*/<br />     xa_header_t xa;<br /> <br />-    if( vlc_stream_Read( p_demux->s, &xa, 24 ) < 24 )<br />+    if( vlc_stream_Read( p_demux->s, &xa, HEADER_LENGTH ) < HEADER_LENGTH )<br />     {<br />         free( p_sys );<br />         return VLC_EGENERIC;<br />@@ -127,7 +128,6 @@ static int Open( vlc_object_t * p_this )<br />     fmt.i_bitrate = (<a href="http://fmt.audio">fmt.audio</a>.i_rate * <a href="http://fmt.audio">fmt.audio</a>.i_bytes_per_frame * 8)<br />                     / <a href="http://fmt.audio">fmt.audio</a>.i_frame_length;<br /> <br />-    p_sys->i_data_offset = vlc_stream_Tell( p_demux->s );<br />     /* FIXME: better computation */<br />     p_sys->i_data_size = xa.iSize * 15 / 56;<br />     /* How many frames per block (1:1 is too CPU intensive) */<br />@@ -167,13 +167,11 @@ static int Demux( demux_t *p_demux )<br /> {<br />     demux_sys_t *p_sys = p_demux->p_sys;<br />     block_t     *p_block;<br />-    int64_t     i_offset;<br />+    int64_t     i_offset = vlc_stream_Tell( p_demux->s );<br />     unsigned    i_frames = p_sys->i_block_frames;<br /> <br />-    i_offset = vlc_stream_Tell( p_demux->s );<br />-<br />     if( p_sys->i_data_size > 0 &&<br />-        i_offset >= p_sys->i_data_offset + p_sys->i_data_size )<br />+        (i_offset - HEADER_LENGTH) >= p_sys->i_data_size )<br />     {<br />         /* EOF */<br />         return 0;<br />@@ -213,9 +211,9 @@ static int Control( demux_t *p_demux, int i_query, va_list args )<br /> {<br />     demux_sys_t *p_sys  = p_demux->p_sys;<br /> <br />-    return demux_vaControlHelper( p_demux->s, p_sys->i_data_offset,<br />-                                   p_sys->i_data_size ? p_sys->i_data_offset<br />-                                   + p_sys->i_data_size : -1,<br />-                                   p_sys->i_bitrate, p_sys->i_frame_size,<br />-                                   i_query, args );<br />+    return demux_vaControlHelper( p_demux->s, HEADER_LENGTH,<br />+                                  p_sys->i_data_size<br />+                                  ? HEADER_LENGTH + p_sys->i_data_size : -1,<br />+                                  p_sys->i_bitrate, p_sys->i_frame_size,<br />+                                  i_query, args );<br /> }<br /><br /><hr /><br />vlc-commits mailing list<br />vlc-commits@videolan.org<br /><a href="https://mailman.videolan.org/listinfo/vlc-commits">https://mailman.videolan.org/listinfo/vlc-commits</a><br /></pre></blockquote></div><br clear="all">+ constant<br>
-- <br>
Rémi Denis-Courmont<br>
Typed on an inconvenient virtual keyboard</body></html>