<feed xmlns='http://www.w3.org/2005/Atom'>
<title>xine-lib, branch 1.1.19</title>
<subtitle>xine-lib git mirror
</subtitle>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/'/>
<entry>
<title>1.1.19.</title>
<updated>2010-07-25T14:37:31+00:00</updated>
<author>
<name>Darren Salt</name>
<email>linux@youmustbejoking.demon.co.uk</email>
</author>
<published>2010-07-25T14:37:31+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=4b78d4063f28a08f8ddfcb0e79063ecca1eb1c10'/>
<id>4b78d4063f28a08f8ddfcb0e79063ecca1eb1c10</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Resync.</title>
<updated>2010-07-24T22:33:53+00:00</updated>
<author>
<name>Darren Salt</name>
<email>linux@youmustbejoking.demon.co.uk</email>
</author>
<published>2010-07-24T22:33:53+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=b3d7900c813f294c02da62068e0f1634ac4cdd41'/>
<id>b3d7900c813f294c02da62068e0f1634ac4cdd41</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove duplicate code</title>
<updated>2010-07-21T18:51:10+00:00</updated>
<author>
<name>Lorenzo Desole</name>
<email>lorenzodes@fastwebnet.it</email>
</author>
<published>2010-07-21T18:51:10+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=7e21b7edcf1cbb074c2d9939e9bf318251822604'/>
<id>7e21b7edcf1cbb074c2d9939e9bf318251822604</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>0 → NULL for consistency.</title>
<updated>2010-07-21T18:32:07+00:00</updated>
<author>
<name>Darren Salt</name>
<email>linux@youmustbejoking.demon.co.uk</email>
</author>
<published>2010-07-21T18:32:07+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=5444a0ac73c01b7dabfce3bb81ac6094c44fb5ab'/>
<id>5444a0ac73c01b7dabfce3bb81ac6094c44fb5ab</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add NetBSD support to the VCD input plugin</title>
<updated>2010-07-21T15:46:13+00:00</updated>
<author>
<name>Matthias Drochner</name>
<email>m.drochner@fz-juelich.de</email>
</author>
<published>2010-07-21T15:46:13+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=99995e9829efc897518c2cf3265dbcac7149c90d'/>
<id>99995e9829efc897518c2cf3265dbcac7149c90d</id>
<content type='text'>
--HG--
extra : rebase_source : cfee1d5353fa3cacf4df8712fde15cd94e2ee3d4
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
--HG--
extra : rebase_source : cfee1d5353fa3cacf4df8712fde15cd94e2ee3d4
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix metronome not getting audio PTS</title>
<updated>2010-07-18T14:47:16+00:00</updated>
<author>
<name>Günter Merz</name>
<email>lotan_rm@hotmail.com</email>
</author>
<published>2010-07-18T14:47:16+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=1c9cf7069230ea1016879161d5530fbbd5721d43'/>
<id>1c9cf7069230ea1016879161d5530fbbd5721d43</id>
<content type='text'>
The xine libmad adaptor seemed not to forward the pts to the metronome: It
buffers the MPEG audio packets until a threshold is reached (MAD_MIN_SIZE:
2889 bytes) and then has libmad decode the packets which is send to audio
out. The pts of the last audio packet is forwarded on to metronome which can
then sync video with audio.

For the channel4 channels MPEG audio packets have a size of 576 bytes which
means it takes five packets to fill the buffer enough for processing. In the
stream every fifth audio packet contains a pts.

The result of this is: If after a seek, the last audio packet is the one
with the pts, video and audio are in sync. If the pts is in any of the four
previous ones no pts will reach metronome and video and audio will never be
synced before a new seek and even then there's a one in five chance that
video and audio are not synced.

Other channels did not show this behaviour because e.g. BBC One has an audio
packet size of about 750 bytes and send a pts every fifth packet as well.
This means that not every pts from the stream gets through to metronome but
some do. This also means that syncing after a seek is probably not as quick
as it could be but it will sync.

My workaround to this problem is to start decoding not only when a the
buffer has reached a threshold but also when a pts != 0 arrives. This does
mean however that the buffer isn't always filled to the theshold and
decoding might not perform as well as it could.

--HG--
extra : transplant_source : %EC%90%EB%AA%8A%C7%BD%A4%B7%EE%F5%E9%E8SY%89S%9D0s
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The xine libmad adaptor seemed not to forward the pts to the metronome: It
buffers the MPEG audio packets until a threshold is reached (MAD_MIN_SIZE:
2889 bytes) and then has libmad decode the packets which is send to audio
out. The pts of the last audio packet is forwarded on to metronome which can
then sync video with audio.

For the channel4 channels MPEG audio packets have a size of 576 bytes which
means it takes five packets to fill the buffer enough for processing. In the
stream every fifth audio packet contains a pts.

The result of this is: If after a seek, the last audio packet is the one
with the pts, video and audio are in sync. If the pts is in any of the four
previous ones no pts will reach metronome and video and audio will never be
synced before a new seek and even then there's a one in five chance that
video and audio are not synced.

Other channels did not show this behaviour because e.g. BBC One has an audio
packet size of about 750 bytes and send a pts every fifth packet as well.
This means that not every pts from the stream gets through to metronome but
some do. This also means that syncing after a seek is probably not as quick
as it could be but it will sync.

My workaround to this problem is to start decoding not only when a the
buffer has reached a threshold but also when a pts != 0 arrives. This does
mean however that the buffer isn't always filled to the theshold and
decoding might not perform as well as it could.

--HG--
extra : transplant_source : %EC%90%EB%AA%8A%C7%BD%A4%B7%EE%F5%E9%E8SY%89S%9D0s
</pre>
</div>
</content>
</entry>
<entry>
<title>Add _POSIX_THREAD_PRIORITY_SCHEDULING #ifdefs</title>
<updated>2010-07-21T15:27:33+00:00</updated>
<author>
<name>Matthias Drochner</name>
<email>m.drochner@fz-juelich.de</email>
</author>
<published>2010-07-21T15:27:33+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=e9c4a618fbc47dae2cdd82d4d09ade8ec020bfe1'/>
<id>e9c4a618fbc47dae2cdd82d4d09ade8ec020bfe1</id>
<content type='text'>
This is optional, and some systems don't support it. POSIX defines the
_POSIX_THREAD_PRIORITY_SCHEDULING to tell that support is present.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is optional, and some systems don't support it. POSIX defines the
_POSIX_THREAD_PRIORITY_SCHEDULING to tell that support is present.
</pre>
</div>
</content>
</entry>
<entry>
<title>Advance buffer pointer after read</title>
<updated>2010-07-21T15:10:23+00:00</updated>
<author>
<name>Matthias Drochner</name>
<email>m.drochner@fz-juelich.de</email>
</author>
<published>2010-07-21T15:10:23+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=ba6e40bee872673f4af4e32836d633b28e634997'/>
<id>ba6e40bee872673f4af4e32836d633b28e634997</id>
<content type='text'>
In dvd_input.c:file_read(), if the read is not done in a single access, the
buffer pointer doesn't get advanced so that the second read overwrites the
data of the first.

I actually don't remember under which circumstances this could happen, but
the flaw in the code is obvious.

The patch is from NetBSD's pkgsrc, and this patch is attributed to an
"unnamed contributor" in the CVS log.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In dvd_input.c:file_read(), if the read is not done in a single access, the
buffer pointer doesn't get advanced so that the second read overwrites the
data of the first.

I actually don't remember under which circumstances this could happen, but
the flaw in the code is obvious.

The patch is from NetBSD's pkgsrc, and this patch is attributed to an
"unnamed contributor" in the CVS log.
</pre>
</div>
</content>
</entry>
<entry>
<title>Normalize timeval</title>
<updated>2010-07-21T14:23:25+00:00</updated>
<author>
<name>Matthias Drochner</name>
<email>m.drochner@fz-juelich.de</email>
</author>
<published>2010-07-21T14:23:25+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=06d09abeaa81336476845e1cc5db2a474ceaa9ad'/>
<id>06d09abeaa81336476845e1cc5db2a474ceaa9ad</id>
<content type='text'>
In demux_loop(), a time value is calculated by adding to the fractional
part. In case a second barrier is crossed, the value is not in its
canonical form anymore - the fractional part is larger than 10^9-1.

It should be normalized for portability. While I haven't found a formal
requirement for this in POSIX, NetBSD's libpthread checks for it and
complains.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In demux_loop(), a time value is calculated by adding to the fractional
part. In case a second barrier is crossed, the value is not in its
canonical form anymore - the fractional part is larger than 10^9-1.

It should be normalized for portability. While I haven't found a formal
requirement for this in POSIX, NetBSD's libpthread checks for it and
complains.
</pre>
</div>
</content>
</entry>
<entry>
<title>Missing mutex init</title>
<updated>2010-07-20T17:18:32+00:00</updated>
<author>
<name>Matthias Drochner</name>
<email>drochner@netbsd.org</email>
</author>
<published>2010-07-20T17:18:32+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=58c991b313911b85d323ec78a4d6de9a5e022a68'/>
<id>58c991b313911b85d323ec78a4d6de9a5e022a68</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
