Age | Commit message (Collapse) | Author |
|
--HG--
rename : doc/faq/faq.sgml => doc/faq/faq.docbook
rename : src/xine-utils/xineutils.h => include/xine/xineutils.h
|
|
|
|
input_vdr's RPC thread needs to lock frontend. But frontend is also locked
during xine_open() and xine_play(). xine_play() furthermore waits up to 10
seconds for the decoder to return the first frame. So it is unlikely that
the RPC thread can lock the frontend to execute VDR's commands before VDR
sends the first frame. Finally the RPC thread gave up locking the frontend
after 5 seconds and the connect to VDR failed.
To fix this issue, the RPC commands during startup phase are now handled
by the thread which has called xine_open() as it already owns the frontend
lock.
|
|
|
|
--HG--
rename : include/xine.h.in => include/xine.h
rename : src/libspudvb/xine_spudvb_decoder.c => src/spu_dec/spudvb_decoder.c
|
|
The ARGB layer is based on the idea and scratch implementation of Julian
Scheel. Each OSD object may be associated with a client ARGB buffer which
holds the content of the OSD, hence there is no need to copy the buffer
content.
So far an OSD's reference coordinate system was defined by coded video
resolution. By specifing an OSD's extent, capable hardware or software
implementations my scale an arbitrarily sized OSD to the video output
area while blending.
Additional constants have been defined to allow vo_drivers to report
their capabilities and to allow clients to check whether an OSD
implementation supports these new features.
|
|
|
|
standard format.
Frame grabbing didn't work for frame image formats besides YV12 and YUY2 as decoded data
is not stored in accelarated frames. Some acceleration APIs allow to read back decoded
image data in the common standard formats mentioned above. The new procedure allows the
vo_driver to provide a way for retrieving image data which can later be utilized by
_x_get_current_frame_data() to implement frame grabbing for accelerated frames.
|
|
--HG--
rename : include/xine.h.in => include/xine.h
rename : src/xine-utils/attributes.h => include/xine/attributes.h
rename : src/xine-engine/buffer.h => include/xine/buffer.h
rename : m4/_xine.m4 => m4/types.m4
rename : po/libxine1.pot => po/libxine2.pot
rename : src/libfaad/xine_faad_decoder.c => src/audio_dec/xine_faad_decoder.c
rename : src/libspucc/cc_decoder.h => src/spu_dec/cc_decoder.h
rename : src/libspucmml/xine_cmml_decoder.c => src/spu_dec/cmml_decoder.c
rename : src/libspudec/xine_spu_decoder.c => src/spu_dec/spu_decoder.c
rename : src/libspudvb/xine_spudvb_decoder.c => src/spu_dec/spudvb_decoder.c
rename : src/libspucc/xine_cc_decoder.c => src/spu_dec/xine_cc_decoder.c
rename : src/libmpeg2/mpeg2.h => src/video_dec/libmpeg2/mpeg2.h
|
|
Date: Sat, 28 Jun 2008 17:29:59 +0200
This patch adds this to the FLAC demuxer.
|
|
--HG--
rename : src/xine-engine/buffer.h => include/xine/buffer.h
|
|
--HG--
rename : src/xine-engine/buffer.h => include/xine/buffer.h
rename : src/demuxers/demux_nsf.c => src/combined/nsf_demuxer.c
rename : src/demuxers/demux_ogg.c => src/combined/xine_ogg_demuxer.c
rename : src/libspucmml/xine_cmml_decoder.c => src/spu_dec/cmml_decoder.c
rename : src/libspudec/xine_spu_decoder.c => src/spu_dec/spu_decoder.c
rename : src/libspudvb/xine_spudvb_decoder.c => src/spu_dec/spudvb_decoder.c
rename : src/libsputext/xine_sputext_decoder.c => src/spu_dec/sputext_decoder.c
rename : src/libsputext/demux_sputext.c => src/spu_dec/sputext_demuxer.c
|
|
--HG--
rename : src/combined/ffmpeg/ff_dvaudio_decoder.c => src/audio_dec/ff_dvaudio_decoder.c
rename : src/combined/ffmpeg/ffmpeg_encoder.c => src/dxr3/ffmpeg_encoder.c
|
|
--HG--
rename : src/input/input_plugin.h => include/xine/input_plugin.h
|
|
--HG--
rename : src/xine-utils/xineutils.h => include/xine/xineutils.h
rename : po/libxine1.pot => po/libxine2.pot
|
|
--HG--
rename : include/xine.h.in => include/xine.h
|
|
|
|
--HG--
rename : src/xine-engine/xine_internal.h => include/xine/xine_internal.h
|
|
--HG--
rename : src/xine-utils/array.h => include/xine/array.h
rename : src/xine-utils/attributes.h => include/xine/attributes.h
rename : src/xine-engine/audio_out.h => include/xine/audio_out.h
rename : src/xine-engine/broadcaster.h => include/xine/broadcaster.h
rename : src/xine-engine/buffer.h => include/xine/buffer.h
rename : src/xine-engine/configfile.h => include/xine/configfile.h
rename : src/xine-utils/list.h => include/xine/list.h
rename : src/xine-engine/metronom.h => include/xine/metronom.h
rename : src/xine-engine/osd.h => include/xine/osd.h
rename : src/xine-utils/pool.h => include/xine/pool.h
rename : src/xine-engine/refcounter.h => include/xine/refcounter.h
rename : src/xine-utils/ring_buffer.h => include/xine/ring_buffer.h
rename : src/xine-engine/scratch.h => include/xine/scratch.h
rename : src/xine-utils/sorted_array.h => include/xine/sorted_array.h
rename : src/xine-engine/video_out.h => include/xine/video_out.h
rename : src/xine-engine/video_overlay.h => include/xine/video_overlay.h
rename : src/xine-engine/xine_internal.h => include/xine/xine_internal.h
rename : src/xine-utils/xineutils.h => include/xine/xineutils.h
rename : src/libspucc/cc_decoder.c => src/spu_dec/cc_decoder.c
|
|
--HG--
rename : src/liba52/parse.c => contrib/a52dec/parse.c
rename : include/xine.h.in => include/xine.h
rename : src/xine-engine/alphablend.h => include/xine/alphablend.h
rename : src/xine-utils/attributes.h => include/xine/attributes.h
rename : src/xine-engine/buffer.h => include/xine/buffer.h
rename : src/input/input_plugin.h => include/xine/input_plugin.h
rename : src/xine-utils/xineutils.h => include/xine/xineutils.h
rename : src/libxineadec/fooaudio.c => src/audio_dec/fooaudio.c
rename : src/libxineadec/gsm610.c => src/audio_dec/gsm610.c
rename : src/liba52/xine_a52_decoder.c => src/audio_dec/xine_a52_decoder.c
rename : src/libdts/xine_dts_decoder.c => src/audio_dec/xine_dts_decoder.c
rename : src/libfaad/xine_faad_decoder.c => src/audio_dec/xine_faad_decoder.c
rename : src/libxineadec/xine_lpcm_decoder.c => src/audio_dec/xine_lpcm_decoder.c
rename : src/libmad/xine_mad_decoder.c => src/audio_dec/xine_mad_decoder.c
rename : src/libmusepack/xine_musepack_decoder.c => src/audio_dec/xine_musepack_decoder.c
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.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/libspucc/cc_decoder.c => src/spu_dec/cc_decoder.c
rename : src/libspucmml/xine_cmml_decoder.c => src/spu_dec/cmml_decoder.c
rename : src/libspudec/xine_spu_decoder.c => src/spu_dec/spu_decoder.c
rename : src/libspudec/spu.c => src/spu_dec/spudec.c
rename : src/libspudvb/xine_spudvb_decoder.c => src/spu_dec/spudvb_decoder.c
rename : src/libsputext/xine_sputext_decoder.c => src/spu_dec/sputext_decoder.c
rename : src/libsputext/demux_sputext.c => src/spu_dec/sputext_demuxer.c
rename : src/libspucc/xine_cc_decoder.c => src/spu_dec/xine_cc_decoder.c
rename : src/libxinevdec/bitplane.c => src/video_dec/bitplane.c
rename : src/libxinevdec/foovideo.c => src/video_dec/foovideo.c
rename : src/libxinevdec/gdkpixbuf.c => src/video_dec/gdkpixbuf.c
rename : src/libxinevdec/image.c => src/video_dec/image.c
rename : src/libmpeg2/xine_mpeg2_decoder.c => src/video_dec/libmpeg2/xine_mpeg2_decoder.c
rename : src/libxinevdec/rgb.c => src/video_dec/rgb.c
rename : src/libxinevdec/yuv.c => src/video_dec/yuv.c
|
|
The new structure xine_current_frame_data_t additionally contains cropping
and interlacing information, which both are required for proper conversion
of the image. The existing functions have been adopted to use the code of
the new function. The changeset should be ABI compatible.
|
|
|
|
Cropping information is necessary for frame formats like 1920x1080
which are coded as 1920x1088, i. e. 8 lines are cropped away at the
bottom. The information whether a frame is interlaced is necessary
for proper upscaling of 4:2:0 frame formats as it must be done per
field when the frame is interlaced. Otherwise choma and luma won't
match.
Make input_vdr.c compile again due to changed xine_get_current_frame.
|
|
--HG--
rename : include/xine.h.in => include/xine.h
rename : src/xine-utils/attributes.h => include/xine/attributes.h
rename : src/xine-utils/xineutils.h => include/xine/xineutils.h
rename : src/combined/decoder_flac.c => src/combined/flac_decoder.c
rename : src/libxineadec/xine_speex_decoder.c => src/combined/xine_speex_decoder.c
|
|
|
|
functions that are now hidden from xine_internal.h to xine_private.h.
|
|
|
|
|
|
_x_cahce_plugin_get_instance.
|
|
|
|
|
|
|
|
--HG--
rename : include/xine.h.in => include/xine.h
|
|
|
|
|
|
Here is a new video output plugin that passes raw data to the front end
through supplied callbacks.
--HG--
extra : transplant_source : -AT%2A%0A%EB%F5%1Eu4%9E%12%C4%B8%0B%87%13%A5%9D%CA
|
|
--HG--
rename : src/xine-engine/buffer.h => include/xine/buffer.h
rename : src/libmad/xine_mad_decoder.c => src/audio_dec/xine_mad_decoder.c
rename : src/combined/combined_wavpack.c => src/combined/wavpack_combined.c
|
|
|
|
--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
|
|
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
|
|
vdr-xine used a padding packet to push out any remaining data before
input_vdr executed "clear" to drop that data. But depending on the way
how input_vdr is connected to vdr-xine it could happen that the padding
packet reached input_vdr after executing "clear" and therefore "clear"
didn't work as expected.
To fix this issue, sync points are introduced by making the padding
packets "unique" in the stream. input_vdr will now drop all data up to
the sync point packet. So even if the padding packet arrives later than
the "clear" command, only data following the sync point will be fed to
the demuxer.
--HG--
extra : transplant_source : %A1%5E%8C%E1vmW%98D%1EW%A7%AF%B4V%5D%84%26%D0%DA
|
|
--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
|
|
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.
|
|
--HG--
rename : src/combined/ffmpeg/ff_dvaudio_decoder.c => src/audio_dec/ff_dvaudio_decoder.c
|
|
--HG--
extra : transplant_source : %C2%84%E8%0E%FD%DE%D3%3E%FB%B8%AF%F3%80a%5E%B3v%C5%8B%08
|
|
|
|
|
|
|
|
--HG--
rename : include/xine/base64.h => src/xine-utils/base64.h
|
|
include/Makefile.am.
|