summaryrefslogtreecommitdiff
path: root/src/xine-engine/post.h
AgeCommit message (Collapse)Author
2007-12-19Consolidate all public include files into include/xine directory.Diego 'Flameeyes' Pettenò
--HG-- rename : src/xine-engine/alphablend.h => include/xine/alphablend.h rename : src/xine-utils/array.h => include/xine/array.h rename : src/xine-utils/attributes.h => include/xine/attributes.h rename : src/xine-engine/audio_decoder.h => include/xine/audio_decoder.h rename : src/xine-engine/audio_out.h => include/xine/audio_out.h rename : src/xine-engine/broadcaster.h => include/xine/broadcaster.h rename : src/xine-engine/buffer.h => include/xine/buffer.h rename : src/xine-utils/compat.h => include/xine/compat.h rename : src/xine-engine/configfile.h => include/xine/configfile.h rename : src/demuxers/demux.h => include/xine/demux.h rename : src/xine-engine/info_helper.h => include/xine/info_helper.h rename : src/input/input_plugin.h => include/xine/input_plugin.h rename : src/xine-engine/io_helper.h => include/xine/io_helper.h rename : src/xine-utils/list.h => include/xine/list.h rename : src/xine-engine/metronom.h => include/xine/metronom.h rename : src/xine-engine/osd.h => include/xine/osd.h rename : src/xine-engine/plugin_catalog.h => include/xine/plugin_catalog.h rename : src/xine-utils/pool.h => include/xine/pool.h rename : src/xine-engine/post.h => include/xine/post.h rename : src/xine-engine/refcounter.h => include/xine/refcounter.h rename : src/xine-engine/resample.h => include/xine/resample.h rename : src/xine-utils/ring_buffer.h => include/xine/ring_buffer.h rename : src/xine-engine/scratch.h => include/xine/scratch.h rename : src/xine-utils/sorted_array.h => include/xine/sorted_array.h rename : src/xine-engine/spu.h => include/xine/spu.h rename : src/xine-engine/spu_decoder.h => include/xine/spu_decoder.h rename : src/xine-engine/video_decoder.h => include/xine/video_decoder.h rename : src/xine-engine/video_out.h => include/xine/video_out.h rename : src/xine-engine/video_overlay.h => include/xine/video_overlay.h rename : src/xine-engine/vo_scale.h => include/xine/vo_scale.h rename : src/xine-utils/xine_buffer.h => include/xine/xine_buffer.h rename : src/xine-engine/xine_internal.h => include/xine/xine_internal.h rename : src/xine-engine/xine_plugin.h => include/xine/xine_plugin.h rename : src/xine-engine/xineintl.h => include/xine/xineintl.h rename : src/xine-utils/xineutils.h => include/xine/xineutils.h rename : src/xine-utils/xmllexer.h => include/xine/xmllexer.h rename : src/xine-utils/xmlparser.h => include/xine/xmlparser.h
2007-12-11Define free() as the default dispose function for plugin classes.Diego 'Flameeyes' Pettenò
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).
2007-12-11Add a textdomain field to allow using a different i18n catalog for the ↵Diego 'Flameeyes' Pettenò
description translation.
2007-12-11Replace get_identifier/get_description functions with strings.Diego 'Flameeyes' Pettenò
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.
2007-11-10Merge from 1.1.Darren Salt
--HG-- rename : src/libxineadec/nsf.c => src/combined/nsf_decoder.c rename : src/demuxers/demux_nsf.c => src/combined/nsf_demuxer.c rename : src/combined/combined_wavpack.c => src/combined/wavpack_combined.c rename : src/combined/combined_wavpack.h => src/combined/wavpack_combined.h rename : src/combined/decoder_wavpack.c => src/combined/wavpack_decoder.c rename : src/combined/demux_wavpack.c => src/combined/wavpack_demuxer.c rename : src/demuxers/demux_ogg.c => src/combined/xine_ogg_demuxer.c rename : src/libxineadec/xine_speex_decoder.c => src/combined/xine_speex_decoder.c rename : src/libxinevdec/xine_theora_decoder.c => src/combined/xine_theora_decoder.c rename : src/libxineadec/xine_vorbis_decoder.c => src/combined/xine_vorbis_decoder.c rename : src/liba52/xine_a52_decoder.c => src/libxineadec/xine_a52_decoder.c rename : src/libdts/xine_dts_decoder.c => src/libxineadec/xine_dts_decoder.c rename : src/libfaad/xine_faad_decoder.c => src/libxineadec/xine_faad_decoder.c rename : src/libmad/xine_mad_decoder.c => src/libxineadec/xine_mad_decoder.c rename : src/libmusepack/xine_musepack_decoder.c => src/libxineadec/xine_musepack_decoder.c
2007-11-10Delete most of the CVS $Id$/$Log$ lines.Darren Salt
--HG-- extra : transplant_source : %E0%D0%C5%8B%BEU%DD%24%5D7%1F%ADV%AD%EB%23%CBU%80%EB
2007-11-09Merge FSF address changes from 1.1 branch.Diego 'Flameeyes' Pettenò
--HG-- rename : src/combined/decoder_flac.c => src/combined/flac_decoder.c rename : src/combined/demux_flac.c => src/combined/flac_demuxer.c rename : src/libxineadec/nsf.c => src/combined/nsf_decoder.c rename : src/demuxers/demux_nsf.c => src/combined/nsf_demuxer.c rename : src/combined/combined_wavpack.c => src/combined/wavpack_combined.c rename : src/combined/combined_wavpack.h => src/combined/wavpack_combined.h rename : src/combined/decoder_wavpack.c => src/combined/wavpack_decoder.c rename : src/combined/demux_wavpack.c => src/combined/wavpack_demuxer.c rename : src/demuxers/demux_ogg.c => src/combined/xine_ogg_demuxer.c rename : src/libxineadec/xine_speex_decoder.c => src/combined/xine_speex_decoder.c rename : src/libxinevdec/xine_theora_decoder.c => src/combined/xine_theora_decoder.c rename : src/libxineadec/xine_vorbis_decoder.c => src/combined/xine_vorbis_decoder.c rename : src/liba52/xine_a52_decoder.c => src/libxineadec/xine_a52_decoder.c rename : src/libdts/xine_dts_decoder.c => src/libxineadec/xine_dts_decoder.c rename : src/libfaad/xine_faad_decoder.c => src/libxineadec/xine_faad_decoder.c rename : src/libmusepack/xine_musepack_decoder.c => src/libxineadec/xine_musepack_decoder.c
2007-11-09Update FSF address on non-contributed code and COPYING files.Diego 'Flameeyes' Pettenò
For contributed code, leave whatever the version we last synced for is using to make simpler future syncs.
2007-08-16Merge open()/glibc (debug #define) workaround from 1.1; fix up for 1.2 changes.Darren Salt
This does not touch code in contrib.
2007-07-27provide an additional callback function for controlling frame interceptionReinhard Nißl
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
2007-04-04Reorder and change public structures (breaking ABI).Diego 'Flameeyes' Pettenò
With this changes, almost all the structures are now consolidated without holes. For xine_stream_s, transform a set of (internal) integers used as booleans into a bitmask, this reduces the size of the structure by about 36 bytes.
2007-02-20Revert, got the wrong warning line.Diego 'Flameeyes' Pettenò
CVS patchset: 8617 CVS date: 2007/02/20 01:13:08
2007-02-20Avoid casts as they are now unnecessary.Diego 'Flameeyes' Pettenò
CVS patchset: 8615 CVS date: 2007/02/20 01:02:47
2006-12-25Correctly export _x_post_frame_u_turn.Diego 'Flameeyes' Pettenò
CVS patchset: 8452 CVS date: 2006/12/25 18:43:38
2006-09-26Use protected visibility for all the functions exported by libxine.so, so ↵Diego 'Flameeyes' Pettenò
that their binding is local to the library (has a similar effect to -Bsymbolic, but will work better with hidden visibility enabled, that is step two). CVS patchset: 8289 CVS date: 2006/09/26 05:19:47
2004-12-20remove all local names beginning with double underscore, because C99Michael Roitzsch
reserves these names for use by the C implementation CVS patchset: 7288 CVS date: 2004/12/20 21:22:18
2004-05-29separate the two semantics of querying a port's status with a NULL stream;Michael Roitzsch
before, NULL could mean two things: no stream at all or a stream that does not want to be addressed; now the latter is represented by the new XINE_ANON_STREAM resulting changes: * the status() functions now behave differently for NULL and XINE_ANON_STREAM (as the commentary always implied, but this was not the case, so post plugin rewiring went wrong, because it relies on the status() function) * the NULL_STREAM defines in audio_out and video_out are obsolete * update the function comments in the headers * update the post plugin rewire functions to use the status() functions to check, if the old port was opened and handle the new one accordingly; this makes open_count obsolete * change all post plugins accordingly (mostly using XINE_ANON_STREAM instead of NULL) additional change: * the status() function of audio port now returns the bits/rate/mode values of the input and not the output; this is more likely to be what a post plugin wants * the reimplementation of status() in the upmix plugin is obsolete CVS patchset: 6603 CVS date: 2004/05/29 14:45:25
2004-05-18track number of times the port has being opened.Miguel Freitas
rewiring a closed port won't cause the new destination to be opened. CVS patchset: 6564 CVS date: 2004/05/18 03:16:12
2004-04-17swap usage of "up" and "down" to the more common meaning:Michael Roitzsch
"down" is the usual datapath from decoder to output, "up" is the opposite way -> this means swapping two function names -> this means increasing the post plugin iface version external plugin developers: just swap usage of _x_post_frame_copy_up() and _x_post_frame_copy_down() functions CVS patchset: 6412 CVS date: 2004/04/17 19:54:31
2004-02-12big commit of the new ticket system to protect the rewiring and moreMichael Roitzsch
(as discussed on xine-devel, slightly improved to block acquires from different threads between atomic revoke and issue) * xine_ticket_t is declared in xine_internal.h and implemented in xine.c * the ticket is acquired for (hopefully) all port operations (no modifications to decoders needed, decoder loop does this) * the ticket is revoked on pausing and on rewiring * OSD does not store the port pointer any more (which was very dangerous, since the pointer can change on rewire) CVS patchset: 6137 CVS date: 2004/02/12 18:19:00
2004-01-07the new, refined post plugin architectureMichael Roitzsch
* post plugins are now much safer (fewer races/inconsistencies) and easier to write * all post plugins are ported to the new architecture (and should work) * ports can now be opened and closed with a NULL stream CVS patchset: 6007 CVS date: 2004/01/07 19:52:42
2003-12-14API version bounceSiggi Langauf
CVS patchset: 5912 CVS date: 2003/12/14 22:13:22
2003-12-09update copyright year (and we have to do it again in 3 weeks... ;-) )Daniel Caujolle-Bert
CVS patchset: 5879 CVS date: 2003/12/09 00:02:28
2003-11-11rename internal API function (_x_<function>).Daniel Caujolle-Bert
CVS patchset: 5721 CVS date: 2003/11/11 18:44:50
2003-10-23I should have seen this coming...Michael Roitzsch
The changes to the video API of course require the video/spu decoder and post plugin APIs to be increased as well. CVS patchset: 5579 CVS date: 2003/10/23 20:12:33
2003-10-06- add XvMC supportMiguel Freitas
- bump vo and post interface versions obs: video_out_xvmc.c needs some more work, see todo. CVS patchset: 5459 CVS date: 2003/10/06 21:52:42
2003-08-15- rename to overlay managerMichael Roitzsch
- add helper functions to intercept overlay manager calls within post plugins CVS patchset: 5290 CVS date: 2003/08/15 14:38:04
2003-08-04support for arbitrary aspect ratiosMiguel Freitas
patch by Philip Jgenstedt CVS patchset: 5243 CVS date: 2003/08/04 03:47:09
2003-05-31update video out api to allow better frame management (explicit locking)Miguel Freitas
img->displayed is obsolete now, drivers should use img->free. CVS patchset: 4994 CVS date: 2003/05/31 18:33:28
2003-05-28fix macroMiguel Freitas
CVS patchset: 4970 CVS date: 2003/05/28 12:20:16
2003-05-28adding parameters apiMiguel Freitas
CVS patchset: 4966 CVS date: 2003/05/28 04:26:02
2003-05-20public header cleanup:Michael Roitzsch
* regulate mutual inclusion based on XINE_COMPILE * src/xine-engine/spu_decoder.h was unused -> make it the spu decoder API header and remove src/libspudec/spu_decoder_api.h * mark some xine_stream_t members as unused for next cleanup CVS patchset: 4883 CVS date: 2003/05/20 13:50:55
2002-12-29- new post plugin property: typeMichael Roitzsch
- include post plugins in plugin catalog CVS patchset: 3716 CVS date: 2002/12/29 14:04:43
2002-12-25change some types for convenience (less casts)Michael Roitzsch
CVS patchset: 3678 CVS date: 2002/12/25 15:03:20
2002-12-24trying to add support for audio post plugins. that must be easier thanMiguel Freitas
video because audio frames have no methods... Michael please double check if i did something wrong! :) CVS patchset: 3664 CVS date: 2002/12/24 13:36:21
2002-12-03elaborate some commentsMichael Roitzsch
CVS patchset: 3417 CVS date: 2002/12/03 21:59:46
2002-12-01first Advent - time for some presents: xine's first post pluginMichael Roitzsch
CVS patchset: 3398 CVS date: 2002/12/01 14:52:55