From: Siggi L. <si...@us...> - 2003-11-04 15:29:24
|
Hi Julio, On Tue, 4 Nov 2003, Julio S=E1nchez wrote: > I have noticed a couple of problems with my subtitle plugin. First, it > stopped working when the interface version for decoders bumped up to > 15. Recompiling the plugin does not help, since it was hardwired to > version 14 and it would be ignored. > > What is the recommended method for erroring the compilation so that it > refuses to be compiled against a version of xine-lib that is > incompatible? I'm not quite sure what your question is about, but I guess it's about the plugin interface numbers. Those sre increased as soon as any binary incompatibility occurs. (Typically, some struct that's directly or indirectly handed to the plugin's methods has changed.) In most (all?) Plugins, this number is hard coded in order to force developers to look over the plugin as soon as it's not loaded any more. If you even want the compile to abort, try to use something like this: #define MY_API_ID 14 #if (SPU_DECODER_IFACE_VERSION !=3D MY_API_ID) #error "Plugin interface version does not match any more. Review required." #endif (and later on, ose MY_API_ID instead of the hardcoded API version number) [...] > subtitles display correctly. However, by default, they are not > displayed since they are not being demultiplexed. mpeg_block is definitely wrong, unless you read from a device with fixed block size that the MPEG stream is aligned to. As for mpeg via mpeg_pes demuxer: IMHO, the default should be changed to mpeg_pes (by giving that a higher priority than mpeg). At this time, demux_mpeg_pes does already do better than demux_mpeg, but IIRC somebody (James?) didn't have the feeling it is stable, yet. > As a result, displaying subtitles on streams that have not been burned > yet becomes nonobvious. That should be done via the VCD input plugin, which should in turn enable the mpeg_block demuxer, with current libxine. (provided it's VCD image...) > Is this intentional? What is the rational? The fact that demux_mpeg is used is just a relic, AFAICT... Cheers, =09Siggi |