summaryrefslogtreecommitdiff
path: root/src/xine-engine/xine.c
AgeCommit message (Collapse)Author
2008-03-18Merge from 1.1.Darren Salt
2008-03-12Merge from 1.1.Darren Salt
--HG-- rename : doc/faq/faq.sgml => doc/faq/faq.docbook rename : src/xine-engine/xine_internal.h => include/xine/xine_internal.h rename : src/libffmpeg/Makefile.am => src/combined/ffmpeg/Makefile.am rename : src/demuxers/demux_ogg.c => src/combined/xine_ogg_demuxer.c
2008-03-10Fixed long delay when closing stream on dual core systems [Bug #33]Miguel Freitas
2008-03-10Support # stream parameter separator in raw filenames as well as in full MRLs.Miguel Freitas
Changeset 8ffe18290ba5 fixed bug 1784272 (opening raw filenames with # character, like "show #1.mpg") but at the cost of killing # separator in raw filenames completely. Although this might be a valid requirement in a new devel branch, imho, such change in stable branch should be considered a regression. The original idea of passing partial MRL for the input plugins to try doesn't work because plugin will generate error messages for every failed attempt to open the file (like "show " above), even thought the complete MRL is valid and will be played. So, since raw filenames are an exception for the MRL scheme anyway, we try stat'ing the partial filenames to determine what user means with the #.
2008-03-06Merge from 1.1.Darren Salt
--HG-- rename : src/libffmpeg/Makefile.am => src/combined/ffmpeg/Makefile.am
2008-03-06Fix compilation for installed libintl.h in include pathsMatthias Ringwald
Compilation of xine-lib-1.2 hg failed for me as libintl.h does this: #define textdomain libintl_textdomain This causes trouble accessing fields in structures which are accidentally named "textdomain". The patch renames textdomain to text_domain in xine headers and xine- engine/xine.c and xine/load_plugins.c
2008-03-06Fix _x_get_current_frame_impl() to not abort when used legally.Reinhard Nißl
Retrieving frame size and format is a legal operation even for otherwise not supported frame formats like XXMC.
2008-03-14xine_init(): mutex objs not initializedCarlo Bramini
The problem comes from the fact that into xine_probe_fast_memcpy() there is a call to xprintf, which excutes some actions to this->log_lock. But the "log_lock" field is still uninitialized. Under Windows, the xine_init() always crashes because that type is implemented as a structure, so the lock receives a NULL pointer and the execution is halted. The attached patch proposes to move the mutex objects to the top of xine_init() function. --HG-- extra : transplant_source : %07%1D%7F%F0%97%7D%06%3E%9F%2Ar%03%1DQ%14%F3%D1%EF%1D%93
2008-03-14Unportable pthread_t compare in xine.cCarlo Bramini
With Pthreads for Win32/Win64 I cannot compare two pthread_t items because they are implemented as structures. This patch fixes the comparison by using pthread_equal() function. --HG-- extra : transplant_source : %9D%98%CE%83%5E%BD%A9u%11%C7%3BmP%28%EBH%D0%B6I%DF
2008-03-04Merge from 1.1.Darren Salt
--HG-- rename : include/xine.h.in => include/xine.h rename : src/libdts/xine_dts_decoder.c => src/audio_dec/xine_dts_decoder.c rename : src/libmpeg2/decode.c => src/video_dec/libmpeg2/decode.c
2008-03-02Provide safe and convenient implementations of xine_get_current_frame().Reinhard Nißl
xine_get_current_frame() relies on the caller to provide a sufficiently sized buffer. To calculate the required size of the buffer, one has to call xine_get_current_frame() to retrieve the necessary parameters. But as the image can change between two successive calls one has to pause the stream for consistency. To improve the situation, xine_get_current_frame_s() has been introduced which requires to specify the buffer size when an image is going to be retrieved. Furthermore, it will return the required/used buffer size. In that way, it can prevent copying data into a too small buffer and therefore can be considered safe. For convenience, xine_get_current_frame_alloc() is provided which takes care to allocate a sufficiently sized buffer. This function avoids pausing the stream as the image will be returned in a single call.
2008-01-24Merge from -plugin-loader branch.Darren Salt
base64.{c,h} functions are given "xine_" prefixes and are exported. --HG-- rename : src/xine-utils/base64.h => include/xine/base64.h rename : src/xine-engine/configfile.h => include/xine/configfile.h rename : src/xine-engine/plugin_catalog.h => include/xine/plugin_catalog.h rename : src/xine-utils/xineutils.h => include/xine/xineutils.h rename : src/input/base64.c => src/xine-utils/base64.c
2008-01-22Merge from 1.1 branch.Diego 'Flameeyes' Pettenò
--HG-- rename : src/libmad/xine_mad_decoder.c => src/audio_dec/xine_mad_decoder.c
2008-01-20Unmaking a # of it.Darren Salt
2008-01-20Unescape the "#save:" filename, allowing ";" etc. in file names.Darren Salt
This has a side effect: versions older than 1.1.10 do not unescape, so "#save:foo%23.ts" will result in a file named "foo%23.ts". Front end maintainers, beware :-)
2008-01-20Don't unescape #subtitle:scheme://data.Darren Salt
This was broken in 1.1.8 when #subtitle:/file was fixed.
2007-12-24Move _x_scan_plugins and _x_dispose_plugins into an internal header, and ↵Diego 'Flameeyes' Pettenò
don't export them anymore.
2007-12-23Mark xine_dispose_internal static.Diego 'Flameeyes' Pettenò
2007-12-23Mark open_internal static (again?).Diego 'Flameeyes' Pettenò
2007-12-19Update all the code to the new headers layout.Diego 'Flameeyes' Pettenò
2007-12-18Merge from 1.1.Darren Salt
2007-12-18Don't treat # in MRLs as literals or URI-decode raw filenames. [Bug 1784272]Darren Salt
2007-12-18Use variable-sized arrays rather than allocated buffer.Diego 'Flameeyes' Pettenò
2007-12-11Use dgettext to localise the description string for plugins.Diego 'Flameeyes' Pettenò
2007-12-11Leave to the plugin the call to gettext exactly as before.Diego 'Flameeyes' Pettenò
This way external plugins can use their own gettext catalog for i18n.
2007-12-11Update the code not to use the get_* functions that were removed.Diego 'Flameeyes' Pettenò
2007-11-25Merge from 1.1.Darren Salt
Some fixups were required for the kfreebsd patch; needs testing. --HG-- rename : src/video_out/libdha/ports.c => contrib/libdha/ports.c rename : src/demuxers/demux_ogg.c => src/combined/xine_ogg_demuxer.c rename : src/libxineadec/xine_vorbis_decoder.c => src/combined/xine_vorbis_decoder.c
2007-11-23Merge.Darren Salt
2007-11-23log if send_headers returned with DEMUX_FINISHEDMatthias Kretz
2007-11-19add support for GNU/kFreeBSDPetr Salinger ext:(%20)
It changes some "defined (__FreeBSD__)" into "defined (__FreeBSD_kernel__)" and "__FreeBSD_version" into "__FreeBSD_kernel_version". The changes are performed on places, where feature of kernel is tested. On some other places, feature of userland/libc is tested, on them "defined (__FreeBSD__)" remains. As proposed, include/configure.h cause __FreeBSD_kernel__ be defined if __FreeBSD__ is defined. --HG-- extra : transplant_source : %25%96K%05%E4Y%B15%94%60%15%FE1%8Ah%26Xy%8C/
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-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-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-09-19Add controls for setting the opacity of DVB subtitles.Darren Salt
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-08-15Workaround for recent glibc & -D_FORTIFY_SOURCE=2 (defines open() as a macro).Darren Salt
According to bug 1773769, this breaks foo->open(). The fix (as used in Ville Skyttä's patch, which doesn't cover all cases) is to replace this with (foo->open)(). This patch was generated using sed -i -re 's/(([[:alnum:]_]+(->|\.))+open) ?\(/(\1) (/' `grep '[>.]open \?(' include -rIl` One change (in a comment) is not committed.
2007-07-13Merge from 1.1.Darren Salt
2007-07-13Prevent ticket system deadlock when using DVB subtitlesSimon Farnsworth
When using DVB subtitles on an SMP machine, we see occasional lockups, which appear to be caused by one thread acquiring the same ticket twice. Fix this, by preventing acquire() and release() from blocking if the current thread has already acquired the ticket. Code sequences like the following can still block in all acquires and releases: ticket->acquire(...) /* Do something */ ticket->release(...) However, code sequences like the following, which used to deadlock if ticket was revoked at just the wrong moment, now succeed: ticket->acquire(...) /* Do something */ ticket->acquire(...) /* This acquire cannot block */ /* Do something */ ticket->release(...) /* This release cannot block */ /* Do something */ ticket->release(...) Without this patch, the inner acquire() and release() calls could block if ticket was revoked at the wrong time. revoke() would not unblock the blocking acquire until there have been as many release()s as acquire()s, which cannot happen.
2007-07-08Merge from 1.1.Darren Salt
2007-07-08Rename mrl_unescape and export it for use by plugins.Darren Salt
2007-05-08Merge VDR support.Darren Salt
2007-05-08Merge Reinhard Nissl's engine changes.Darren Salt
2007-05-08Merge from 1.1.Darren Salt
2007-04-15Provide some internal functions to be used by input_vdr.Reinhard Nißl
These functions are likely to be removed later when more correct solutions have been found.
2007-04-15Avoid locking log_lock once the buffer has been allocated.Reinhard Nißl
(transplanted from 4988e864d1a9db84756668ea33a9f6860ded879e) --HG-- extra : transplant_source : I%88%E8d%D1%A9%DB%84ufh%EA3%A9%F6%86%0D%ED%87%9E
2007-04-15Avoid locking log_lock once the buffer has been allocated.Reinhard Nißl
2007-04-15Provide a function to query for outstanding OSD events.Reinhard Nißl
This function shall be used to poll the number of outstanding OSD events from a certain point in time on until the reported number is 0. At that point in time, the content on screen is identical to a certain state of the stream, at which for example, a hardcopy may be taken.
2007-04-14Mark string arrays as arrays of constant pointers, and do the same for ↵Diego 'Flameeyes' Pettenò
memcpy structures. When array of constant pointers are used for register enum configurations, this creates more warnings because of pointer mismatches; I'd consider casting them, but not yet. In the memcpy_method array, mark the parts that are constant at build time as const so to try reducing the overhead.
2007-04-13Add a global handle for libxdg-basedir library to xine_s.Diego 'Flameeyes' Pettenò
This handle can then be used by all plugins and other parts of the xine engine without having to duplicate it.