<feed xmlns='http://www.w3.org/2005/Atom'>
<title>xine-lib/src/xine-engine/post.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>Merge open()/glibc (debug #define) workaround from 1.1; fix up for 1.2 changes.</title>
<updated>2007-08-16T15:36:50+00:00</updated>
<author>
<name>Darren Salt</name>
<email>linux@youmustbejoking.demon.co.uk</email>
</author>
<published>2007-08-16T15:36:50+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=69bdc7c638fadb8cebd81431f6f5350ecb43e3db'/>
<id>69bdc7c638fadb8cebd81431f6f5350ecb43e3db</id>
<content type='text'>
This does not touch code in contrib.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This does not touch code in contrib.
</pre>
</div>
</content>
</entry>
<entry>
<title>provide an additional callback function for controlling frame interception</title>
<updated>2007-07-26T22:12:00+00:00</updated>
<author>
<name>Reinhard Nißl</name>
<email>rnissl@gmx.de</email>
</author>
<published>2007-07-26T22:12:00+00:00</published>
<link rel='alternate' type='text/html' href='https://vdr-projects.e-tobi.net/git/xine-lib/commit/?id=c064a789c58e08c2e0f92377ce5ec47d01a4eb50'/>
<id>c064a789c58e08c2e0f92377ce5ec47d01a4eb50</id>
<content type='text'>
Some postplugins override a frame's draw function just to get/manipulate
frame related information -- and not for drawing on the frame.
The current implementation disables any preprocessing function even if the
plugin is not going to draw on the frame. By introducing a further callback
function route_preprocessing_procs() a plugin is now able to tell that it
is not going to draw on the frame, i. e. it is ok to route the preprocessing
functions to the intercepted frame, too.

--HG--
extra : transplant_source : %170%82%B8%8F%BA%3D%25%9B%D7%EF%E5%B3%3B%EEg%A0%D1be
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some postplugins override a frame's draw function just to get/manipulate
frame related information -- and not for drawing on the frame.
The current implementation disables any preprocessing function even if the
plugin is not going to draw on the frame. By introducing a further callback
function route_preprocessing_procs() a plugin is now able to tell that it
is not going to draw on the frame, i. e. it is ok to route the preprocessing
functions to the intercepted frame, too.

--HG--
extra : transplant_source : %170%82%B8%8F%BA%3D%25%9B%D7%EF%E5%B3%3B%EEg%A0%D1be
</pre>
</div>
</content>
</entry>
</feed>
