Age | Commit message (Collapse) | Author |
|
(transplanted from 65ffd061414c05cbc368e130d1783a2efdc5b75e)
--HG--
extra : transplant_source : e%FF%D0aAL%05%CB%C3h%E10%D1x%3A.%FD%C5%B7%5E
|
|
These cheats where hiding a frame allocation bug in FFmpeg decoder
which was previously fixed.
(transplanted from c7cc5ff1e184791683ba13bdc54c53b5887e6587)
--HG--
extra : transplant_source : %C7%CC_%F1%E1%84y%16%83%BA%13%BD%C5LS%B5%88%7Ee%87
|
|
|
|
According to specification the center offset components are
signed integers.
|
|
|
|
|
|
|
|
Both options tweak FFmpeg for the sake of decoding speed. The first one
skips the loop filter for certain frames while the latter allows FFmpeg
to violate the codec's specification. Both options may lead to artefacts.
|
|
|
|
/usr/bin/totem-video-thumbnailer -s 128 ssh://user@hosts/path/to/video.ext
Will segfault.
All the time.
--HG--
extra : transplant_source : H%1EU%A5%3C%E6r%976%AA%C3%92%E5l%C7w%92dg.
|
|
This way, bigger audio chunks won't make the demuxer fail.
Fixes bug #6.
|
|
ivtv now requires the video device to be re-opened when the input is changed.
|
|
|
|
What this patch does is replace the token buffer of static size in
xml_parser_get_node with a malloced buffer. If the lexer notices, that it
needs more size it just increases the size of this buffer by factor two and
tries again. This may not be very elegant, but it works.
node_name and property_name are dynamically-sized too.
|
|
I watch a lot of movies with subtitles and I need "vobsub subtitles"
work in xine, then I decide to write this patch.
It may support SSA tags for all text subtiles (ssa, ass, srt, ...)
This patch :
1. Remove all SSA tags from stream (they are ugly : {\a6})
2. Handle some of them (b, i, a, an, pos). The other ones control
colours, shadow, animation, ... I can't make them work in an easy way.
3. Correct wrap algorithm which have minors bugs (we can see them only
with SSA patch...)
Modified files :
libsputext/demux_sputext.c
just remove unneeded code (which remove some of SSA-tags)
libsputext/xine_sputext_decoder.c
the main modified file.
video_out/video_out_xshm.c
video_out/video_out_xv.c
xine-engine/video_out.h
get video output (position and size). See below.
1.
Removing SSA tags is done in ogm_render_line_internal() like for
html-like tags. (this was done in the previous version of xine)
2.
b(bold) and i(italic) are implemented like html-ones, in
ogm_render_line_internal().
The other tags this patch support are :
aX : alignment in SSA-code
anX : alignment in numpad code
pos(X,Y) : position, depend on alignment
For those ones, I need in first a full-screen OSD, not a five lines one.
Then, I need to remember where the last subtitle was drawn, in order to
erase it. At last, I need a translation function to convert subtitle
coordinates in screen coordinates.
For this last point, I first write a full-screen translation (don't care
about blacks borders), but it's not really good: the 'pos' tag is
sometime used to point out something in the video. (Moreover, ASS spec
say we have to draw subtitle on the video)
For doing this, I need the real video output size and position, which
are only know by the video output driver! Then I had 4 VO properties
(in xine-engine/video_out.h) for video driver could give us those
informations.
I implement it only in xshm and xv drivers (I can't test other ones).
If video driver can't give us those informations, the patch fallback in
a full-screen translation.
3.
there was 3 problem with the wrap algorithm :
1. It was in double: exactly the same, twice. Look like a merge problem.
I remove one and all work fine.
2. It want to cut string in equivalent display length but it cut it in
equivalent byte length. In most cases, this is the same, but if we have
UTF-8 chars or long SSA-tags (which will not be displayed) the result is
strange.
3. If we have a too-long part (in bytes) of the string without spaces
(bad subtitle file or long SSA-code), the algorithm don't know what to
do. (this case is not handled)
I re-write the wrap algorithm to correct those problems. Note that my
version is slower than previous one : working with bytes is really
faster than computing text-length. Maybe I should had to propose an
other patch for this part...
|
|
|
|
|
|
|
|
(transplanted from c139cfe735874922208d936c8e49bbfa532ed2ec)
--HG--
extra : transplant_source : %C19%CF%E75%87I%22%20%8D%93l%8EI%BB%FAS.%D2%EC
|
|
Some instances of "key colour" remain; ffmpeg is unmodified.
This change has caused two strings with two translations to collide (the
strings have become identical since some instances already used "colour").
I have therefore arbitrarily dropped the first of the differing translations,
the one for the string at src/video_out/video_out_directfb.c:1365.
|
|
|
|
This make it possible to use the DJB accelerated FFT when using the external a52dec liba52 library.
--HG--
extra : transplant_source : %03Y%0F%8C%F0%05%EE%F7%5E%2B%A9u%7D%96%F8%D2%13%CD%F4%9D
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(transplanted from 6d9f36be48839984c3888f3d803319942c4d76e6)
--HG--
extra : transplant_source : E%81r%E5-%5B%C2%21%15h%E3_%CB%23%25%9B%01l%03Y
|
|
(transplanted from f3d84191da5d930ac90193bbdc0ca5d7c43b8302)
--HG--
extra : transplant_source : D%837c_%7D%89%F0%E3%2B%7C%96%85IM9%250D%ED
|
|
img->stream->video_fifo can be 0
|
|
(transplanted from c994a2508893efc4c85f5b49600b7dceec5c890e)
--HG--
extra : transplant_source : %C9%94%A2P%88%93%EF%C4%C8_%5BI%60%0B%7D%CE%EC%5C%89%0E
|
|
there.
Instead of using a thread to watch for completion, use mutexes where needed.
Don't wait for operation completion for volume changes, they can happen asynchronously too.
|
|
|
|
--HG--
extra : transplant_source : %15%CD%0B%2C%F2g%03%B9%25%D4%B2%8BQ%1F%EB%BB%8F%28%9B%C8
|
|
- Allow visible region updates.
- Resize OSD at drawing time.
--HG--
extra : transplant_source : %17%ECZ%D0j%2C%BC%06%7CO%3A%F0%C7u%A3%86%DE%8Bb%D3
|
|
|
|
Compilation was "broken" by ffmpeg rev. 9283.
|
|
handle that case
|
|
In ao_loop only read the first buffer and remove it from the fifo only when the
buffer has been written or is about to be discarded. This fixes the race between
ao_loop and ao_close for good. Now fifo_remove_int may signal empty again right
after removing the last buffer from the fifo.
|
|
|
|
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.
|
|
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
|