Age | Commit message (Collapse) | Author |
|
but only when a read was requested and the fifo is empty.
Rationale: ao_close uses fifo_wait_empty to make sure all buffers were written
to the driver before it calls close on the driver. But if empty is already
signaled when ao_loop just reads the next buffer then ao_close might close the
driver before ao_loop has a chance to send the buffer to the driver.
|
|
buf must be != NULL because of the while(!fifo->first) before and the buf->next after
|
|
not played yet.
When closing the pcm device make sure that everything that was written to the
device actually gets played. This was the race we were seeing with Ogg Vorbis
and wav playback where a delayed driver->close would fix playback. Notice that
blocking mode needs to be used for snd_pcm_drain, otherwise the call would be
a noop.
|
|
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.
|
|
|
|
more accurate (compared to oggdec); fix one debug printf
|
|
|
|
DEMUX_FINISHED from send_header
|
|
|
|
|
|
|
|
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/
|
|
about bugs in those two on newer versions of operating systems.
|
|
|
|
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.
|
|
reduced by 50%
|
|
|
|
discard all buffers before calling fifo_wait_empty
|
|
|
|
|
|
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
|
|
load_channels was being called without checking the tuner fontend type, so
channels.conf could not be decoded. Tested for ATSC only.
|
|
|
|
Some servers don't set this information, thus the demuxer fails.
|
|
|
|
This is because, while in shared mode the default resolution is taken from directfb config,
in fullscreen mode the default resolution comes from fbdev configuration.
|
|
This is because, while in shared mode the default resolution is taken from directfb config,
in fullscreen mode the default resolution comes from fbdev configuration.
(transplanted from 2ce76206b5c10b6f9cfc55a9edb0d883bfb446a2)
--HG--
extra : transplant_source : %2C%E7b%06%B5%C1%0Bo%9C%FCU%A9%ED%B0%D8%83%BF%B4F%A2
|
|
|
|
(transplanted from 3bea001775a81a2c784e000794ea5cc6d34dc40d)
--HG--
extra : transplant_source : %3B%EA%00%17u%A8%1A%2CxN%00%07%94%EA%5C%C6%D3M%C4%0D
|
|
--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.
|
|
|
|
For H.264 content, VO_INTERLACED_FLAG must be set all the time and not only
for interlaced frames. Frames should be allocated so that size is a multiple
of a marcoblock (16x16). Any excess pixels are cropped away. top_field_first
and progressive_frame can be transferred always, not just in demux_mpeg_pes
context. But for bad frames it doesn't make sense to transfer those fields
as the information would be from the previous frame and could be incorrect
for the current frame. Thus, the workaround for demux_mpeg_pes cannot rely
on these fields either and needs to use a separate variable to detect fields
being sent as frames.
--HG--
extra : transplant_source : %A8%25%B9I%A4%5B%E5%AE%DD%EF_c%E35%CBSRn%22%A4
|
|
I'm not sure whether they changed the Server response to the current
"last.fm proxy streamer" or if depending of what server you hit it answer
that rather than the previous "last.fm Streaming Server", so for now just
look if the Server response starts with "last.fm", which covers both
cases.
|
|
This file is released under GPL 2 or later that makes it safe for xine to use.
|
|
Please note: on 2.4 systems without the extra V4L2 stack, the header will
be missing. As it is, both input_pvr and input_v4l (that still uses the old
interface) will be disabled if either header is not found.
Further optimisation to just disable PVR on non-V4L2-capable systems might
be useful.
|
|
|
|
|
|
--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.
|
|
* Use arrays and loops instead of chained if()s.
This reduces code size a little.
* Try to dlopen drvc.so instead of just checking for its existence.
The old code could, for example, try to use a dir containing 32-bit libs
on a 64-bit system. (Not that I'd expect this to happen, of course...)
|
|
Ref. http://bugzilla.gnome.org/show_bug.cgi?id=484768#c12
|