<feed xmlns='http://www.w3.org/2005/Atom'>
<title>xine-lib/src/input/input_plugin.h, branch vdr-xine-version-802</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>Consolidate all public include files into include/xine directory.</title>
<updated>2007-12-19T01:10:56+00:00</updated>
<author>
<name>Diego 'Flameeyes' Pettenò</name>
<email>flameeyes@gmail.com</email>
</author>
<published>2007-12-19T01:10:56+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=f80c8d4d48e7a5ef6ac6c9f2a4dfdb39f40aaff6'/>
<id>f80c8d4d48e7a5ef6ac6c9f2a4dfdb39f40aaff6</id>
<content type='text'>
--HG--
rename : src/xine-engine/alphablend.h =&gt; include/xine/alphablend.h
rename : src/xine-utils/array.h =&gt; include/xine/array.h
rename : src/xine-utils/attributes.h =&gt; include/xine/attributes.h
rename : src/xine-engine/audio_decoder.h =&gt; include/xine/audio_decoder.h
rename : src/xine-engine/audio_out.h =&gt; include/xine/audio_out.h
rename : src/xine-engine/broadcaster.h =&gt; include/xine/broadcaster.h
rename : src/xine-engine/buffer.h =&gt; include/xine/buffer.h
rename : src/xine-utils/compat.h =&gt; include/xine/compat.h
rename : src/xine-engine/configfile.h =&gt; include/xine/configfile.h
rename : src/demuxers/demux.h =&gt; include/xine/demux.h
rename : src/xine-engine/info_helper.h =&gt; include/xine/info_helper.h
rename : src/input/input_plugin.h =&gt; include/xine/input_plugin.h
rename : src/xine-engine/io_helper.h =&gt; include/xine/io_helper.h
rename : src/xine-utils/list.h =&gt; include/xine/list.h
rename : src/xine-engine/metronom.h =&gt; include/xine/metronom.h
rename : src/xine-engine/osd.h =&gt; include/xine/osd.h
rename : src/xine-engine/plugin_catalog.h =&gt; include/xine/plugin_catalog.h
rename : src/xine-utils/pool.h =&gt; include/xine/pool.h
rename : src/xine-engine/post.h =&gt; include/xine/post.h
rename : src/xine-engine/refcounter.h =&gt; include/xine/refcounter.h
rename : src/xine-engine/resample.h =&gt; include/xine/resample.h
rename : src/xine-utils/ring_buffer.h =&gt; include/xine/ring_buffer.h
rename : src/xine-engine/scratch.h =&gt; include/xine/scratch.h
rename : src/xine-utils/sorted_array.h =&gt; include/xine/sorted_array.h
rename : src/xine-engine/spu.h =&gt; include/xine/spu.h
rename : src/xine-engine/spu_decoder.h =&gt; include/xine/spu_decoder.h
rename : src/xine-engine/video_decoder.h =&gt; include/xine/video_decoder.h
rename : src/xine-engine/video_out.h =&gt; include/xine/video_out.h
rename : src/xine-engine/video_overlay.h =&gt; include/xine/video_overlay.h
rename : src/xine-engine/vo_scale.h =&gt; include/xine/vo_scale.h
rename : src/xine-utils/xine_buffer.h =&gt; include/xine/xine_buffer.h
rename : src/xine-engine/xine_internal.h =&gt; include/xine/xine_internal.h
rename : src/xine-engine/xine_plugin.h =&gt; include/xine/xine_plugin.h
rename : src/xine-engine/xineintl.h =&gt; include/xine/xineintl.h
rename : src/xine-utils/xineutils.h =&gt; include/xine/xineutils.h
rename : src/xine-utils/xmllexer.h =&gt; include/xine/xmllexer.h
rename : src/xine-utils/xmlparser.h =&gt; include/xine/xmlparser.h
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
--HG--
rename : src/xine-engine/alphablend.h =&gt; include/xine/alphablend.h
rename : src/xine-utils/array.h =&gt; include/xine/array.h
rename : src/xine-utils/attributes.h =&gt; include/xine/attributes.h
rename : src/xine-engine/audio_decoder.h =&gt; include/xine/audio_decoder.h
rename : src/xine-engine/audio_out.h =&gt; include/xine/audio_out.h
rename : src/xine-engine/broadcaster.h =&gt; include/xine/broadcaster.h
rename : src/xine-engine/buffer.h =&gt; include/xine/buffer.h
rename : src/xine-utils/compat.h =&gt; include/xine/compat.h
rename : src/xine-engine/configfile.h =&gt; include/xine/configfile.h
rename : src/demuxers/demux.h =&gt; include/xine/demux.h
rename : src/xine-engine/info_helper.h =&gt; include/xine/info_helper.h
rename : src/input/input_plugin.h =&gt; include/xine/input_plugin.h
rename : src/xine-engine/io_helper.h =&gt; include/xine/io_helper.h
rename : src/xine-utils/list.h =&gt; include/xine/list.h
rename : src/xine-engine/metronom.h =&gt; include/xine/metronom.h
rename : src/xine-engine/osd.h =&gt; include/xine/osd.h
rename : src/xine-engine/plugin_catalog.h =&gt; include/xine/plugin_catalog.h
rename : src/xine-utils/pool.h =&gt; include/xine/pool.h
rename : src/xine-engine/post.h =&gt; include/xine/post.h
rename : src/xine-engine/refcounter.h =&gt; include/xine/refcounter.h
rename : src/xine-engine/resample.h =&gt; include/xine/resample.h
rename : src/xine-utils/ring_buffer.h =&gt; include/xine/ring_buffer.h
rename : src/xine-engine/scratch.h =&gt; include/xine/scratch.h
rename : src/xine-utils/sorted_array.h =&gt; include/xine/sorted_array.h
rename : src/xine-engine/spu.h =&gt; include/xine/spu.h
rename : src/xine-engine/spu_decoder.h =&gt; include/xine/spu_decoder.h
rename : src/xine-engine/video_decoder.h =&gt; include/xine/video_decoder.h
rename : src/xine-engine/video_out.h =&gt; include/xine/video_out.h
rename : src/xine-engine/video_overlay.h =&gt; include/xine/video_overlay.h
rename : src/xine-engine/vo_scale.h =&gt; include/xine/vo_scale.h
rename : src/xine-utils/xine_buffer.h =&gt; include/xine/xine_buffer.h
rename : src/xine-engine/xine_internal.h =&gt; include/xine/xine_internal.h
rename : src/xine-engine/xine_plugin.h =&gt; include/xine/xine_plugin.h
rename : src/xine-engine/xineintl.h =&gt; include/xine/xineintl.h
rename : src/xine-utils/xineutils.h =&gt; include/xine/xineutils.h
rename : src/xine-utils/xmllexer.h =&gt; include/xine/xmllexer.h
rename : src/xine-utils/xmlparser.h =&gt; include/xine/xmlparser.h
</pre>
</div>
</content>
</entry>
<entry>
<title>Define free() as the default dispose function for plugin classes.</title>
<updated>2007-12-11T13:26:34+00:00</updated>
<author>
<name>Diego 'Flameeyes' Pettenò</name>
<email>flameeyes@gmail.com</email>
</author>
<published>2007-12-11T13:26:34+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=448923a2d401f3e21eb586f50c1ca9e2dd6259d9'/>
<id>448923a2d401f3e21eb586f50c1ca9e2dd6259d9</id>
<content type='text'>
Most plugin classes in xine define a dispose function simply to call free(),
but free() is ABI-compatible with our dispose functions, so add a macro
that allows to pass free() directly as dispose function.

It's an opt-in so that no extra conditional is needed, and plugin authors
won't forget about providing a dispose function (if they need to).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Most plugin classes in xine define a dispose function simply to call free(),
but free() is ABI-compatible with our dispose functions, so add a macro
that allows to pass free() directly as dispose function.

It's an opt-in so that no extra conditional is needed, and plugin authors
won't forget about providing a dispose function (if they need to).
</pre>
</div>
</content>
</entry>
<entry>
<title>Add a textdomain field to allow using a different i18n catalog for the description translation.</title>
<updated>2007-12-11T13:02:35+00:00</updated>
<author>
<name>Diego 'Flameeyes' Pettenò</name>
<email>flameeyes@gmail.com</email>
</author>
<published>2007-12-11T13:02:35+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=5b812f5ae063e9e6dadb4eff65bbbe78e977c6f3'/>
<id>5b812f5ae063e9e6dadb4eff65bbbe78e977c6f3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace get_identifier/get_description functions with strings.</title>
<updated>2007-12-11T09:49:51+00:00</updated>
<author>
<name>Diego 'Flameeyes' Pettenò</name>
<email>flameeyes@gmail.com</email>
</author>
<published>2007-12-11T09:49:51+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=90b866329e8962a3f1f03dc8172cf75ccc9d2b85'/>
<id>90b866329e8962a3f1f03dc8172cf75ccc9d2b85</id>
<content type='text'>
This is the start of a new experimental branch, with the first objective being
the replacement of the get_description and get_identifier functions with
direct-access strings.

The reason for this change is to reduce code size and time of execution.
By replacing the functions with direct-access strings there is one less call
to be done in those cases where the description has to be fetched.

The solution is not yet definitive though, there are a couple of problems to
take care of:

 - the use of N_() still makes it easy to internationalise the strings, but it
   requires for the string to be found on libxine2 catalog, which is not
   exactly a nice solution for external plugins;
 - it would be simpler to re-use the id field in plugin_info_t, and then move
   description there; it should reduce memory usage for the class structures;
 - I'm not really aware of any reason why get_description and get_identifier
   were used beside the idea of making i18n simpler.

This probably would break a couple of frontends, especially if they have some
internal plugins (like post-plugins), so it needs to be reviewed carefully
before merging in 1.2 branch. My current goal is to get this in before 1.2
though, rather than waiting for 1.3.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is the start of a new experimental branch, with the first objective being
the replacement of the get_description and get_identifier functions with
direct-access strings.

The reason for this change is to reduce code size and time of execution.
By replacing the functions with direct-access strings there is one less call
to be done in those cases where the description has to be fetched.

The solution is not yet definitive though, there are a couple of problems to
take care of:

 - the use of N_() still makes it easy to internationalise the strings, but it
   requires for the string to be found on libxine2 catalog, which is not
   exactly a nice solution for external plugins;
 - it would be simpler to re-use the id field in plugin_info_t, and then move
   description there; it should reduce memory usage for the class structures;
 - I'm not really aware of any reason why get_description and get_identifier
   were used beside the idea of making i18n simpler.

This probably would break a couple of frontends, especially if they have some
internal plugins (like post-plugins), so it needs to be reviewed carefully
before merging in 1.2 branch. My current goal is to get this in before 1.2
though, rather than waiting for 1.3.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge from 1.1.</title>
<updated>2007-11-10T23:17:58+00:00</updated>
<author>
<name>Darren Salt</name>
<email>linux@youmustbejoking.demon.co.uk</email>
</author>
<published>2007-11-10T23:17:58+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=840d2394b9d4199a90dbb2f15b907ecdf3ffc0bc'/>
<id>840d2394b9d4199a90dbb2f15b907ecdf3ffc0bc</id>
<content type='text'>
--HG--
rename : src/libxineadec/nsf.c =&gt; src/combined/nsf_decoder.c
rename : src/demuxers/demux_nsf.c =&gt; src/combined/nsf_demuxer.c
rename : src/combined/combined_wavpack.c =&gt; src/combined/wavpack_combined.c
rename : src/combined/combined_wavpack.h =&gt; src/combined/wavpack_combined.h
rename : src/combined/decoder_wavpack.c =&gt; src/combined/wavpack_decoder.c
rename : src/combined/demux_wavpack.c =&gt; src/combined/wavpack_demuxer.c
rename : src/demuxers/demux_ogg.c =&gt; src/combined/xine_ogg_demuxer.c
rename : src/libxineadec/xine_speex_decoder.c =&gt; src/combined/xine_speex_decoder.c
rename : src/libxinevdec/xine_theora_decoder.c =&gt; src/combined/xine_theora_decoder.c
rename : src/libxineadec/xine_vorbis_decoder.c =&gt; src/combined/xine_vorbis_decoder.c
rename : src/liba52/xine_a52_decoder.c =&gt; src/libxineadec/xine_a52_decoder.c
rename : src/libdts/xine_dts_decoder.c =&gt; src/libxineadec/xine_dts_decoder.c
rename : src/libfaad/xine_faad_decoder.c =&gt; src/libxineadec/xine_faad_decoder.c
rename : src/libmad/xine_mad_decoder.c =&gt; src/libxineadec/xine_mad_decoder.c
rename : src/libmusepack/xine_musepack_decoder.c =&gt; src/libxineadec/xine_musepack_decoder.c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
--HG--
rename : src/libxineadec/nsf.c =&gt; src/combined/nsf_decoder.c
rename : src/demuxers/demux_nsf.c =&gt; src/combined/nsf_demuxer.c
rename : src/combined/combined_wavpack.c =&gt; src/combined/wavpack_combined.c
rename : src/combined/combined_wavpack.h =&gt; src/combined/wavpack_combined.h
rename : src/combined/decoder_wavpack.c =&gt; src/combined/wavpack_decoder.c
rename : src/combined/demux_wavpack.c =&gt; src/combined/wavpack_demuxer.c
rename : src/demuxers/demux_ogg.c =&gt; src/combined/xine_ogg_demuxer.c
rename : src/libxineadec/xine_speex_decoder.c =&gt; src/combined/xine_speex_decoder.c
rename : src/libxinevdec/xine_theora_decoder.c =&gt; src/combined/xine_theora_decoder.c
rename : src/libxineadec/xine_vorbis_decoder.c =&gt; src/combined/xine_vorbis_decoder.c
rename : src/liba52/xine_a52_decoder.c =&gt; src/libxineadec/xine_a52_decoder.c
rename : src/libdts/xine_dts_decoder.c =&gt; src/libxineadec/xine_dts_decoder.c
rename : src/libfaad/xine_faad_decoder.c =&gt; src/libxineadec/xine_faad_decoder.c
rename : src/libmad/xine_mad_decoder.c =&gt; src/libxineadec/xine_mad_decoder.c
rename : src/libmusepack/xine_musepack_decoder.c =&gt; src/libxineadec/xine_musepack_decoder.c
</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>Merge FSF address changes from 1.1 branch.</title>
<updated>2007-11-09T17:13:33+00:00</updated>
<author>
<name>Diego 'Flameeyes' Pettenò</name>
<email>flameeyes@gmail.com</email>
</author>
<published>2007-11-09T17:13:33+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=abe2009f72e09173643b3d098ef17d3171a8f633'/>
<id>abe2009f72e09173643b3d098ef17d3171a8f633</id>
<content type='text'>
--HG--
rename : src/combined/decoder_flac.c =&gt; src/combined/flac_decoder.c
rename : src/combined/demux_flac.c =&gt; src/combined/flac_demuxer.c
rename : src/libxineadec/nsf.c =&gt; src/combined/nsf_decoder.c
rename : src/demuxers/demux_nsf.c =&gt; src/combined/nsf_demuxer.c
rename : src/combined/combined_wavpack.c =&gt; src/combined/wavpack_combined.c
rename : src/combined/combined_wavpack.h =&gt; src/combined/wavpack_combined.h
rename : src/combined/decoder_wavpack.c =&gt; src/combined/wavpack_decoder.c
rename : src/combined/demux_wavpack.c =&gt; src/combined/wavpack_demuxer.c
rename : src/demuxers/demux_ogg.c =&gt; src/combined/xine_ogg_demuxer.c
rename : src/libxineadec/xine_speex_decoder.c =&gt; src/combined/xine_speex_decoder.c
rename : src/libxinevdec/xine_theora_decoder.c =&gt; src/combined/xine_theora_decoder.c
rename : src/libxineadec/xine_vorbis_decoder.c =&gt; src/combined/xine_vorbis_decoder.c
rename : src/liba52/xine_a52_decoder.c =&gt; src/libxineadec/xine_a52_decoder.c
rename : src/libdts/xine_dts_decoder.c =&gt; src/libxineadec/xine_dts_decoder.c
rename : src/libfaad/xine_faad_decoder.c =&gt; src/libxineadec/xine_faad_decoder.c
rename : src/libmusepack/xine_musepack_decoder.c =&gt; src/libxineadec/xine_musepack_decoder.c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
--HG--
rename : src/combined/decoder_flac.c =&gt; src/combined/flac_decoder.c
rename : src/combined/demux_flac.c =&gt; src/combined/flac_demuxer.c
rename : src/libxineadec/nsf.c =&gt; src/combined/nsf_decoder.c
rename : src/demuxers/demux_nsf.c =&gt; src/combined/nsf_demuxer.c
rename : src/combined/combined_wavpack.c =&gt; src/combined/wavpack_combined.c
rename : src/combined/combined_wavpack.h =&gt; src/combined/wavpack_combined.h
rename : src/combined/decoder_wavpack.c =&gt; src/combined/wavpack_decoder.c
rename : src/combined/demux_wavpack.c =&gt; src/combined/wavpack_demuxer.c
rename : src/demuxers/demux_ogg.c =&gt; src/combined/xine_ogg_demuxer.c
rename : src/libxineadec/xine_speex_decoder.c =&gt; src/combined/xine_speex_decoder.c
rename : src/libxinevdec/xine_theora_decoder.c =&gt; src/combined/xine_theora_decoder.c
rename : src/libxineadec/xine_vorbis_decoder.c =&gt; src/combined/xine_vorbis_decoder.c
rename : src/liba52/xine_a52_decoder.c =&gt; src/libxineadec/xine_a52_decoder.c
rename : src/libdts/xine_dts_decoder.c =&gt; src/libxineadec/xine_dts_decoder.c
rename : src/libfaad/xine_faad_decoder.c =&gt; src/libxineadec/xine_faad_decoder.c
rename : src/libmusepack/xine_musepack_decoder.c =&gt; src/libxineadec/xine_musepack_decoder.c
</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>Make the read() function of input plugins be declared with void pointer as buf parameter, so that any kind of variable can be passed through it.</title>
<updated>2007-06-09T09:23:10+00:00</updated>
<author>
<name>Diego 'Flameeyes' Pettenò</name>
<email>flameeyes@gmail.com</email>
</author>
<published>2007-06-09T09:23:10+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=72c64cd5c76febda45d95452276e11d60477103e'/>
<id>72c64cd5c76febda45d95452276e11d60477103e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[PATCH] Remove packet count from demux_ts, to remove a long delay</title>
<updated>2007-05-02T16:31:11+00:00</updated>
<author>
<name>Simon Farnsworth</name>
<email>simon.farnsworth@onelan.co.uk</email>
</author>
<published>2007-05-02T16:31:11+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=f7bd2c6ee4e3f066248e087cbf5f97a21103ebd1'/>
<id>f7bd2c6ee4e3f066248e087cbf5f97a21103ebd1</id>
<content type='text'>
The attached patch applies after my logging patches (I can regenerate if
needed).

demux_ts attempted to read packets from the input 200 times before
giving up. When playing a local file, this is harmless, as it will hit
EOF 200 times; however, input_dvb waits 5 seconds for packets on each
call to read, resulting in a 1000 second delay if tuning fails.

Remove the counting of input packets, and add a comment to read() in
input_plugin.h, to indicate that we expect inputs to try and return some
data when read() is called. This fixes the delay, and makes it clear to
future maintainers that they shouldn't expect to loop like this.
--
Simon Farnsworth
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The attached patch applies after my logging patches (I can regenerate if
needed).

demux_ts attempted to read packets from the input 200 times before
giving up. When playing a local file, this is harmless, as it will hit
EOF 200 times; however, input_dvb waits 5 seconds for packets on each
call to read, resulting in a 1000 second delay if tuning fails.

Remove the counting of input packets, and add a comment to read() in
input_plugin.h, to indicate that we expect inputs to try and return some
data when read() is called. This fixes the delay, and makes it clear to
future maintainers that they shouldn't expect to loop like this.
--
Simon Farnsworth
</pre>
</div>
</content>
</entry>
</feed>
