| Age | Commit message (Collapse) | Author |
|
|
|
The deadlock was caused by the unprotected use of
stream->demux_action_pending internal variable from play_internal() and from
within the demuxer loop.
Direct access to demux_action_pending is replaced with _x_action_raise() and
_x_action_lower(), which use a mutex for thread safety.
|
|
This fixes a segfault which may occur when playing an MPEG4 stream.
|
|
|
|
|
|
If a decoded_pic was locally cached, because it is the first half of a reference picture it would not get freed in case of a reset/flush/dispose.
|
|
In case of an empty nal_buffer the free method would run into a NULL pointer. Check for this.
|
|
--HG--
rename : src/combined/decoder_wavpack.c => src/combined/wavpack_decoder.c
rename : src/demuxers/demux_ogg.c => src/combined/xine_ogg_demuxer.c
|
|
When the parser was reset it did not forget about the last pts, which might cause metronom to freeze.
On flush the cached vo_frame_t was kept in case the previously decode produced a 1st field and the decoder was waiting for 2nd field now. As on flush all images are released after drawing this could point to a invalid vo_frame_t
|
|
|
|
some minor cleanups
|
|
|
|
This is probably still wrong, but at least works properly with BBC subtitling.
|
|
|
|
Decoding fixed (nybble extraction was broken, and some filling was wrong).
Default colour tables added.
The following is untested:
* Support for 2-bit and 8-bit images.
* Support for expansion from 2→4, 2→8 and 4→8 bits.
* Support for expansion tables.
* Handling of stuffing chunks (not expected to be seen).
* Copying of the top field into the bottom field.
|
|
|
|
|
|
This reduces requirements of plugins etc., hopefully where possible and without
breakage. (Works on Linux.)
|
|
|
|
|
|
Plasma TV users have the problem that black border pixels age differently
compared to active image pixel in the center of the screen. Changing the
background color for example to gray makes the border pixels age almost
equally like the image pixels. As a result image brightness will change
more equally over TV's lifetime.
|
|
Without resetting the buffered PTS it happens that the same PTS gets
attached to multiple images which is wrong.
|
|
|
|
|
|
|
|
|
|
--HG--
rename : src/combined/decoder_flac.c => src/combined/flac_decoder.c
|
|
|
|
Do not discard the parser, but reset fields that won't be valid after a decoder reset (ie seek) anymore
|
|
|
|
|
|
|
|
|
|
|
|
still frames are marked by the decoder and the video_out will not deinterlace if the flag is set.
|
|
|
|
|
|
|
|
send the pts to the decoders, even if the pes packet is just a continuation packet
|
|
following of an end of sequence mark, so that it is safe to remove backward references after decoding it.
this will make the drawing logic work and draw the picture actually
this fixed dvd menus with still images in background which were not always drawn
|
|
|
|
coded_picture replaces the abused nal_units, while nal_units are just what their name says. sps and pps are handled in buffers as the spec proposes. pic_num calculation and ref-frame marking reworked to be spec compliant
|
|
|
|
--HG--
rename : src/libxineadec/xine_lpcm_decoder.c => src/audio_dec/xine_lpcm_decoder.c
|
|
|
|
|
|
--HG--
rename : include/xine.h.in => include/xine.h
rename : src/combined/decoder_flac.c => src/combined/flac_decoder.c
rename : src/libspuhdmv/xine_hdmv_decoder.c => src/spu_dec/spuhdmv_decoder.c
|
|
|
|
|
|
|