Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
Check used (NULL) target pointer instead of length and would be always false
|
|
|
|
_x_set_file_close_on_exec() and _x_set_socket_close_on_exec() prototypes were missing.
We need the prototypes because of visibility attributes.
|
|
Now all used decoders work without header/preview buffers.
|
|
|
|
|
|
|
|
pids.
|
|
negative value (that results writing out of buffer when buffering payload). Check buffer size before checking substream header bytes.
|
|
skips pes header
|
|
parsing pts.
|
|
6 is not enough ; anything less than 9 is invalid (header length byte at [8] can't be used if it is outside of buffer). Moved check to beginning of parse_pes_header() to avoid reading outside of buffer.
|
|
stream_id >= 0xbc)
|
|
|
|
|
|
|
|
|
|
4 lowest bits are 0 --> Handle as 24-bit BluRay PCM.
|
|
bit BE, not in DVD format.
|
|
|
|
|
|
|
|
hide/show. Hide overlay when there are no objects to display.
|
|
point, not at end of display set
|
|
|
|
--HG--
rename : src/libxineadec/xine_lpcm_decoder.c => src/audio_dec/xine_lpcm_decoder.c
|
|
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.
|
|
Relatively recent copies of FFmpeg before the major API clean up have both
the old SHA1 API and the new SHA (1/2) API so the recently added autoconf
check will reject perfectly valid copies of FFmpeg. Also tweak the
input_cdda code to make sure to use the new API and not include the compat
macros if both the old and new API are around.
|
|
Reason is that this is, apparently, only tested with GNU make, so we're
restricting it to that.
|
|
|
|
|
|
|
|
|
|
|
|
First of all, it improves the qt demuxer, ensuring that 24-bit audio is
marked appropriately, and detecting little vs. big endian audio. It also
adjusts the buffer size when audio is 24-bit, ensuring that samples aren't
chopped in half (8192 does not divide evenly into 3 byte samples).
Secondly, in the lpcm decoder, the patch distinguishes between standard
24-bit lpcm (big and little endian) and special DVD-format 24-bit lpcm (see
http://wiki.multimedia.cx/index.php?title=PCM) and now handles both, instead
of only handling the DVD format.
The result is that xine now correctly plays all the 24-bit lpcm samples I
throw at it, whereas before only a few worked.
|
|
|
|
In opposite to the 'xine_get_current_frame' based snapshot function this grabbing
feature allow continuous grabbing of last or next displayed video frame.
Grabbed video frames are returned in simple three byte RGB format.
Depending on the capabilities of the used video output driver video image data is
taken as close as possible at the end of the video processing chain. Thus a returned
video image could contain the blended OSD data, is deinterlaced, cropped and scaled
and video properties like hue, sat could be applied.
With this patch such a decent grabbing feature is implemented for vdpau video out driver.
If a video output driver does not have a decent grabbing implementation then there
is a generic fallback feature that grabs the video frame as they are taken from the video
display queue (like the xine_get_current_frame' function).
In this case color correct conversation to a RGB image incorporating source cropping and
scaling to the requested grab size is also supported.
A more detailed description can be found in file "xine.h".
|
|
|
|
|
|
|
|
This is so it won't be passed to GCC by accident.
|
|
_x_get_current_frame_data() called get_last_frame() and locked the returned
frame afterwards. At the same time, video_out_loop() unlocked last_frame to
assign a different img afterwards. So in case the image got unlocked before
it gets locked again, the image resides already on the free image queue. So
when the image gets unlocked, it will be put a second time to the queue and
hence cause a loop in the list the queue is based on. Getting an image from
the queue will then run endlessly.
To fix this issue, a new mutex is introduced which protects write access to
last_frame and read accesses via get_last_frame() from other threads. Next,
the semantic of get_last_frame() had to be changed to return a locked image
already. Finally, functions calling get_last_frame() had to be adapted to
its new behavior (there was only a single function in xine-lib which had to
be adapted: _x_get_current_frame_data()).
|
|
|
|
|
|
demux_aac.c looks for 2 signatures in the given stream to detect if it is an
AAC stream, however only the absence of the second signature is used to rule
out a positive match. This may lead to false positives.
|
|
For now, it will only work when there are no video post plugins enabled.
In case there are video post plugins enabled the changeset has no effect.
--HG--
extra : rebase_source : cfb22e2ef12ac547ea24ebf59565fe8720ab3635
|