Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
macro just calls free().
|
|
called free().
|
|
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).
|
|
This way the gettext code for description does not need to be repeated by every plugin.
|
|
description translation.
|
|
_() where missing, for i18n.
|
|
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.
|
|
|
|
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
|
|
Negative values would be accepted, resulting in junk in XINE_META_INFO_GENRE
or a segfault.
|
|
|
|
|
|
This way you can get a safer build for binary redistribution.
|
|
|
|
DEMUX_FINISHED from send_header
|
|
|
|
|
|
Fixed interpretation of "videodatarate" variable.
Export audio bitrate information when variable "audiodatarate" is found.
|
|
That should prevent xine from discarding the first keyframe on non-seekable stream.
|
|
|
|
|
|
section_length is sometimes 0; this leads to the CRC32 calculation being
performed with a data length of -1 bytes, a.k.a. 4294967295 bytes.
(Reported by Johannes Zellner.)
--HG--
extra : transplant_source : %B6m%D0%0C%84%DA%40%C3%0B%06%11%B1%11%9El%A8%1F%95%27%E5
|
|
Some servers don't set this information, thus the demuxer fails.
|
|
|
|
--HG--
extra : transplant_source : %E0%D0%C5%8B%BEU%DD%24%5D7%1F%ADV%AD%EB%23%CBU%80%EB
|
|
--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
|
|
and RSS playlists.
|
|
--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
|
|
For contributed code, leave whatever the version we last synced for is using
to make simpler future syncs.
|
|
|
|
The last fix to PTS wrap detection could not handle streams with A/V
offsets larger than 3 seconds. The improved version can deal with
them now.
--HG--
extra : transplant_source : %89%1F%7E%12%D5r%A8%CE%95N%BAG%96%02%60%0C%10%9Aar
|
|
|
|
|
|
(transplanted from 2b2f2adc8a1e0a05d89354ff259f7b2a331aa071)
--HG--
extra : transplant_source : %2B/%2A%DC%8A%1E%0A%05%D8%93T%FF%25%9F%7B%2A3%1A%A0q
|
|
|
|
Successive MPEG1/2 B frames (each with a slice #9) could incorrectly
lead to the assumption of a H.264 stream, as sequence or group start
codes were not seen for these frames. So the detection logic
interpreted the slice #9 start codes as H.264 access unit delimiters
and therefore incorrectly switched to H.264 buffer type instead of
MPEG1/2. Extending the detection logic to consider MPEG1/2 picture
start codes as well (which do not appear in H.264 streams), prevents
false positives.
|
|
|
|
|
|
|
|
|
|
With current code, ts demuxer stores audio tracks in the order it finds it in
PMT, but doesn't correctly set the buffer type so stream's audio_track_map
may (and often) have a different order and so a user can get german audio
when selecting "ita" ! Bad. This patch fixes that.
It also fixes get_optional_data to return correct spu lang instead of none.
|
|
|
|
Attached is a little patch that allows using ffmpegvideo w/o direct rendering
to play mpeg2 ts.
It works for both mpeg2 and h264.
|
|
|
|
of the file.
|
|
Solaris definitions (1.2 branch commit).
|
|
Solaris definitions.
|