Age | Commit message (Collapse) | Author |
|
Lavc v54,55 seems to ignore request_sample_fmt anyway,
but that need not stay that way forever.
|
|
I dont wanna lose my early 2000's videoteque.
Maybe this needs my upcoming demux_real audio fix for full functionality.
|
|
script execution time: 55"
|
|
* Observe channel configuration immediately after av_decode_audio* ().
Do not try to access nonexistant channels after a 5.1 -> 2.0 switch
for example.
* Add NULL plane pointer paranoia.
* Assume generic channel layout when no detailled one provided.
Needed for wma2.
* Follow user speaker arrangement changes on the fly.
* Defer opening audio out until we have something to play.
* Do not reopen audio out with identical settings. This and the
previous item should help avoiding waiting on some drivers.
* Hard wire output to int16_t. Some of the code did assume that,
and we are converting to that anyway.
* Do not read sample format from bits_per_coded_sample. Decoders
neither alter that field, nor do they force its value to their
output.
* Rename some vars for better readability.
|
|
Audio out was opened with bogus settings (1Hz != 0) which failed. This prevented
a retry after first audio frame came in and corrected the settings (48k/6
channels). Once ao _is_ open successfully, everything works same as before,
including further stream conf changes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--HG--
rename : include/xine.h.in => include/xine.h
rename : src/xine-engine/xine_internal.h => include/xine/xine_internal.h
rename : src/combined/ffmpeg/ffmpeg_encoder.c => src/dxr3/ffmpeg_encoder.c
|
|
|
|
--HG--
rename : src/liba52/xine_a52_decoder.c => src/audio_dec/xine_a52_decoder.c
rename : src/libspudvb/xine_spudvb_decoder.c => src/spu_dec/spudvb_decoder.c
rename : src/libxinevdec/image.c => src/video_dec/image.c
|
|
|
|
--HG--
branch : point-release
|
|
|
|
--HG--
rename : src/libfaad/xine_faad_decoder.c => src/audio_dec/xine_faad_decoder.c
rename : src/libspudvb/xine_spudvb_decoder.c => src/spu_dec/spudvb_decoder.c
|
|
multiple audio packets in single PES packet and audio packets splitted to multiple PES packets.
|
|
|
|
try next. Fixes detecting parameters when there are multiple audio packets in single PES packet.
|
|
- Fixes detecting audio parameters when audio packet is splitted to multiple buffers
- Simplifies the code (decode function is called only once for each audio frame)
|
|
|
|
--HG--
rename : src/libdts/xine_dts_decoder.c => src/audio_dec/xine_dts_decoder.c
rename : src/libmusepack/xine_musepack_decoder.c => src/audio_dec/xine_musepack_decoder.c
|
|
--HG--
rename : src/xine-engine/buffer.h => include/xine/buffer.h
|
|
This makes HEADERS optional for codecs that don't require extradata.
imported patch 10124.diff
|
|
imported patch 10123.diff
|
|
imported patch 10121.diff
|
|
imported patch 10120.diff
|
|
imported patch 10119.diff
|
|
imported patch 10116.diff
|
|
imported patch 10115.diff
|
|
|
|
handling to separate function.
|
|
--HG--
rename : src/xine-engine/buffer.h => include/xine/buffer.h
rename : src/libxineadec/xine_lpcm_decoder.c => src/audio_dec/xine_lpcm_decoder.c
rename : src/libspuhdmv/xine_hdmv_decoder.c => src/spu_dec/spuhdmv_decoder.c
|
|
Certain ffmpeg audio decoders use 32 bit float samples internally (wma,
eac3, ...). They are then exported to the calling application as 16 bit
integer.
That conversion is done by faster sse2 code if your processor supports it.
However, sse2 instructions require data buffers to be 16 byte aligned, or
hit a segfault otherwise.
Plain malloc() / realloc() ensures only 8 byte alignment, giving a 50%
chance of a crash.
FFmpeg internally uses aligned buffers a lot. It seems to be a good idea to
do likewise for input buffers as well, even if current version does not
strictly need it yet.
Libavutil/av_realloc() has a bug that can break the alignment when enlarging
an existing buffer. Thus I included a fixed version of it within
ff_audio_decoder.c.
|
|
audio channels. So we must keep discarding packets that cannot be used to
initialise the codec until we receive one that can be.
|
|
|
|
|
|
|
|
This is a backport of the 1.2 code that was commited to utilize the new API
provided by FFmpeg for awhile now but this is especially important because
the old API has been eliminated all together from said copies of FFmpeg.
|
|
|
|
--HG--
rename : doc/hackersguide/internals.sgml => doc/hackersguide/internals.docbook
rename : doc/hackersguide/library.sgml => doc/hackersguide/library.docbook
rename : include/xine.h.in => include/xine.h
rename : src/xine-engine/buffer.h => include/xine/buffer.h
rename : src/demuxers/demux_ogg.c => src/combined/xine_ogg_demuxer.c
|
|
|
|
--HG--
rename : src/xine-engine/buffer.h => include/xine/buffer.h
rename : src/libxineadec/xine_lpcm_decoder.c => src/audio_dec/xine_lpcm_decoder.c
|
|
Rename "wmav3" to "wmapro" in xine-lib's internals to line up xine-lib's
nomenclature with what everyone else calls it and knows it as.
[Tweaked by ds to avoid API change.]
Tell xine-lib that when it finds wmapro, look to ffmpeg.
ffmpeg's wmapro decoder is unique in that it puts out samples that
are floats, not 16-bit ints. These need to be converted.
This requires external ffmpeg.
|
|
|
|
|
|
--HG--
rename : doc/faq/faq.sgml => doc/faq/faq.docbook
rename : src/xine-engine/buffer.h => include/xine/buffer.h
rename : src/xine-engine/xine_internal.h => include/xine/xine_internal.h
|
|
Don't give up immediately if demux_unstick_ao_loop() reports that xine might
be stuck, because it's not necessarily so.
According to my tests, this fixes
http://bugs.kde.org/show_bug.cgi?id=180339#c42 and
http://bugs.debian.org/514114.
This has been tested with Amarok and kde 4.1.x (with phonon) and kaffeine.
|