<feed xmlns='http://www.w3.org/2005/Atom'>
<title>xine-lib/src/post/goom, branch 1.1.16</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>Memory access fixes:</title>
<updated>2008-11-20T20:01:27+00:00</updated>
<author>
<name>František Dvořák</name>
<email>valtri@civ.zcu.cz</email>
</author>
<published>2008-11-20T20:01:27+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=d654aee31f58dd481ded257d89d0ee293b68661f'/>
<id>d654aee31f58dd481ded257d89d0ee293b68661f</id>
<content type='text'>
 - goom initialization
 - matroska playing recent files with AAC
 - replace free() by ffmpeg's av_free() in ff decoders
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 - goom initialization
 - matroska playing recent files with AAC
 - replace free() by ffmpeg's av_free() in ff decoders
</pre>
</div>
</content>
</entry>
<entry>
<title>Avoid definition of MAX that clashes with MAX() macro.</title>
<updated>2008-07-08T13:50:55+00:00</updated>
<author>
<name>Diego 'Flameeyes' Pettenò</name>
<email>flameeyes@gmail.com</email>
</author>
<published>2008-07-08T13:50:55+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=d552d3b8f3149d66d359928d9626f2c34fddc02f'/>
<id>d552d3b8f3149d66d359928d9626f2c34fddc02f</id>
<content type='text'>
--HG--
extra : transplant_source : %EFv%DC%FD%DA%23%BB%B8i3%07%A9e%C0%06o%9C%8A%B6_
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
--HG--
extra : transplant_source : %EFv%DC%FD%DA%23%BB%B8i3%07%A9e%C0%06o%9C%8A%B6_
</pre>
</div>
</content>
</entry>
<entry>
<title>Use proper string functions in place of sn?printf.</title>
<updated>2008-05-07T16:06:56+00:00</updated>
<author>
<name>Diego 'Flameeyes' Pettenò</name>
<email>flameeyes@gmail.com</email>
</author>
<published>2008-05-07T16:06:56+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=bbb2643bdcc8fb3d7f29c11e1344286b042535bf'/>
<id>bbb2643bdcc8fb3d7f29c11e1344286b042535bf</id>
<content type='text'>
Instead of calling sprintf or snprintf with a "%s" format string, use
the proper strcpy, strncpy, strdup or strndup function.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of calling sprintf or snprintf with a "%s" format string, use
the proper strcpy, strncpy, strdup or strndup function.
</pre>
</div>
</content>
</entry>
<entry>
<title>xine_xmalloc() deprecation: replace its use with static and non-zero size.</title>
<updated>2008-05-07T14:59:00+00:00</updated>
<author>
<name>Diego 'Flameeyes' Pettenò</name>
<email>flameeyes@gmail.com</email>
</author>
<published>2008-05-07T14:59:00+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=88d23a2dbabf419ab4014b449be119a741aa54f5'/>
<id>88d23a2dbabf419ab4014b449be119a741aa54f5</id>
<content type='text'>
The xine_xmalloc() function is going to be deprecated, as its
behaviour is rarely needed as such, and it's thus misused.

With this, almost all uses of xine_xmalloc() with static size (for
instance the value returned by sizeof()) or with a size that is
guaranteed not to be zero (like strlen()+1) are replaced with calls to
either calloc(1, ...) or malloc().

malloc() is used whenever the allocated memory is going to be
immediately overwritten, while calloc() is used in every other case,
as it sets the whole memory area to zero.

--HG--
extra : transplant_source : %8F%98%EC%02%1E%83%F0s%06X%83C%205Y%80%B12%CC%E1
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The xine_xmalloc() function is going to be deprecated, as its
behaviour is rarely needed as such, and it's thus misused.

With this, almost all uses of xine_xmalloc() with static size (for
instance the value returned by sizeof()) or with a size that is
guaranteed not to be zero (like strlen()+1) are replaced with calls to
either calloc(1, ...) or malloc().

malloc() is used whenever the allocated memory is going to be
immediately overwritten, while calloc() is used in every other case,
as it sets the whole memory area to zero.

--HG--
extra : transplant_source : %8F%98%EC%02%1E%83%F0s%06X%83C%205Y%80%B12%CC%E1
</pre>
</div>
</content>
</entry>
<entry>
<title>Consistently use "colour", "colour key", "colour space" in output.</title>
<updated>2007-12-24T18:58:26+00:00</updated>
<author>
<name>Darren Salt</name>
<email>linux@youmustbejoking.demon.co.uk</email>
</author>
<published>2007-12-24T18:58:26+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=9f911a4387602eba171b314e3cfe02ce0deabf60'/>
<id>9f911a4387602eba171b314e3cfe02ce0deabf60</id>
<content type='text'>
Some instances of "key colour" remain; ffmpeg is unmodified.

This change has caused two strings with two translations to collide (the
strings have become identical since some instances already used "colour").
I have therefore arbitrarily dropped the first of the differing translations,
the one for the string at src/video_out/video_out_directfb.c:1365.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some instances of "key colour" remain; ffmpeg is unmodified.

This change has caused two strings with two translations to collide (the
strings have become identical since some instances already used "colour").
I have therefore arbitrarily dropped the first of the differing translations,
the one for the string at src/video_out/video_out_directfb.c:1365.
</pre>
</div>
</content>
</entry>
<entry>
<title>Delete most of the CVS $Id$/$Log$ lines.</title>
<updated>2007-11-10T22:06:10+00:00</updated>
<author>
<name>Darren Salt</name>
<email>linux@youmustbejoking.demon.co.uk</email>
</author>
<published>2007-11-10T22:06:10+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=3c175fd21df04c5c0afa160f81aea0c305f69dc5'/>
<id>3c175fd21df04c5c0afa160f81aea0c305f69dc5</id>
<content type='text'>
--HG--
extra : transplant_source : %E0%D0%C5%8B%BEU%DD%24%5D7%1F%ADV%AD%EB%23%CBU%80%EB
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
--HG--
extra : transplant_source : %E0%D0%C5%8B%BEU%DD%24%5D7%1F%ADV%AD%EB%23%CBU%80%EB
</pre>
</div>
</content>
</entry>
<entry>
<title>Update FSF address on non-contributed code and COPYING files.</title>
<updated>2007-11-09T17:11:05+00:00</updated>
<author>
<name>Diego 'Flameeyes' Pettenò</name>
<email>flameeyes@gmail.com</email>
</author>
<published>2007-11-09T17:11:05+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=c8f3cd1faf678b64920ad62f1275b03aae0157a7'/>
<id>c8f3cd1faf678b64920ad62f1275b03aae0157a7</id>
<content type='text'>
For contributed code, leave whatever the version we last synced for is using
to make simpler future syncs.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For contributed code, leave whatever the version we last synced for is using
to make simpler future syncs.
</pre>
</div>
</content>
</entry>
<entry>
<title>Workaround for recent glibc &amp; -D_FORTIFY_SOURCE=2 (defines open() as a macro).</title>
<updated>2007-08-15T15:38:46+00:00</updated>
<author>
<name>Darren Salt</name>
<email>linux@youmustbejoking.demon.co.uk</email>
</author>
<published>2007-08-15T15:38:46+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=5bd10cf74df979e611d69db0d5563b9d0854f884'/>
<id>5bd10cf74df979e611d69db0d5563b9d0854f884</id>
<content type='text'>
According to bug 1773769, this breaks foo-&gt;open().
The fix (as used in Ville Skyttä's patch, which doesn't cover all cases) is
to replace this with (foo-&gt;open)().

This patch was generated using
sed -i -re 's/(([[:alnum:]_]+(-&gt;|\.))+open) ?\(/(\1) (/' `grep '[&gt;.]open \?(' include -rIl`
One change (in a comment) is not committed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
According to bug 1773769, this breaks foo-&gt;open().
The fix (as used in Ville Skyttä's patch, which doesn't cover all cases) is
to replace this with (foo-&gt;open)().

This patch was generated using
sed -i -re 's/(([[:alnum:]_]+(-&gt;|\.))+open) ?\(/(\1) (/' `grep '[&gt;.]open \?(' include -rIl`
One change (in a comment) is not committed.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix goom visualization plug-in</title>
<updated>2007-08-12T17:31:37+00:00</updated>
<author>
<name>Maxim Levitsky</name>
<email>maximlevitsky@gmail.com</email>
</author>
<published>2007-08-12T17:31:37+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=446e1487e45af46a62f00ce0165b830081073cda'/>
<id>446e1487e45af46a62f00ce0165b830081073cda</id>
<content type='text'>
I noticed that goom visualization plug-in doesn't work / freezes at some
combination of bit rates and its FPS.

Digging through it I found that algorithm that dispatches sound data to goom
is buggy, and so I have rewrote/cleaned  it a lot.

Let me explain what is wrong:

I am talking about goom_port_put_buffer
in /xine-lib-1.1.7/src/post/goom/xine_goom.c

The counter this-&gt;skip_frame is supposed to hold count of frames that goom
should skip because of _video render unable to render video_.
But that algorithm also skips frames on its own, and still decrements that
counter.

So it goes negative, and no frames are displayed.

Basically to fix that you need to add
if (this-&gt;skip_frame &gt; 0)
before this-&gt;skip_frame--;

But since I want to fix that properly I decided to learn why goom skips frames
on its own, and I now understand that whole algorithm is buggy.

Thus I reimplemented it properly.
I tested it , and it works with all my sound files, also I added lot of debug
printfs to test whenever it works as expected, and it does.

--HG--
extra : transplant_source : %B6%0C%09%D6%93%B8%00cj%3B8%C7%B5%0B%DB%21%08%92%3E%7B
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I noticed that goom visualization plug-in doesn't work / freezes at some
combination of bit rates and its FPS.

Digging through it I found that algorithm that dispatches sound data to goom
is buggy, and so I have rewrote/cleaned  it a lot.

Let me explain what is wrong:

I am talking about goom_port_put_buffer
in /xine-lib-1.1.7/src/post/goom/xine_goom.c

The counter this-&gt;skip_frame is supposed to hold count of frames that goom
should skip because of _video render unable to render video_.
But that algorithm also skips frames on its own, and still decrements that
counter.

So it goes negative, and no frames are displayed.

Basically to fix that you need to add
if (this-&gt;skip_frame &gt; 0)
before this-&gt;skip_frame--;

But since I want to fix that properly I decided to learn why goom skips frames
on its own, and I now understand that whole algorithm is buggy.

Thus I reimplemented it properly.
I tested it , and it works with all my sound files, also I added lot of debug
printfs to test whenever it works as expected, and it does.

--HG--
extra : transplant_source : %B6%0C%09%D6%93%B8%00cj%3B8%C7%B5%0B%DB%21%08%92%3E%7B
</pre>
</div>
</content>
</entry>
<entry>
<title>Add $(LTLIBINTL) wherever objdump -R shows a dependency on gettext functions.</title>
<updated>2007-06-09T16:59:03+00:00</updated>
<author>
<name>Darren Salt</name>
<email>linux@youmustbejoking.demon.co.uk</email>
</author>
<published>2007-06-09T16:59:03+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=89af20ee5fcefa96ac7eaf8ca36c3be72e38ea4f'/>
<id>89af20ee5fcefa96ac7eaf8ca36c3be72e38ea4f</id>
<content type='text'>
Some plugins may have been missed due to them not being built here.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some plugins may have been missed due to them not being built here.
</pre>
</div>
</content>
</entry>
</feed>
