Age | Commit message (Collapse) | Author |
|
|
|
|
|
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/
|
|
|
|
discard all buffers before calling fifo_wait_empty
|
|
|
|
(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
|
|
For contributed code, leave whatever the version we last synced for is using
to make simpler future syncs.
|
|
Seen in an AVI in the wild; apparently generated by mencoder.
|
|
Actually, audio_decoder_loop stores audio streams in ascending buffer type
order. So, for example a stream with buffer type BUF_AUDIO_A52|channel_num
will always be stored in audio_track_map array before any mpegaudio stream.
This breaks the stream order known by TS demuxer and so a user can get a52
french audio when selecting "deu" ! Bad again. This patch fixes that.
|
|
|
|
According to bug 1773769, this breaks foo->open().
The fix (as used in Ville Skyttä's patch, which doesn't cover all cases) is
to replace this with (foo->open)().
This patch was generated using
sed -i -re 's/(([[:alnum:]_]+(->|\.))+open) ?\(/(\1) (/' `grep '[>.]open \?(' include -rIl`
One change (in a comment) is not committed.
|
|
The cause was that the resampling code was using only the samples in the buffer
but not really handling the transition between two buffers (which it would
handle completely independently). The new code remembers the last sample from
the previous buffer and uses it in the resampling. We therefore end up one
sample behind and without the clicks.
|
|
Intent is to allow front ends to rename their old, badly-named, config items.
|
|
to connections list
|
|
Without copying stream up, _x_post_restore_video_frame() will reset the
native frame's stream to the value at _x_post_intercept_video_frame(),
which is typically NULL. This behaviour differs from normal frame
processing, i. e. without postprocessing.
Copying the stream up reveals that stream refcounting was missing
in several postprocessing functions, which is hereby added.
--HG--
extra : transplant_source : I%F1%0B%86%B5%5E%5D%10_6%BC%B6%BCPZ%11%04y%83/
|
|
show() in osd.c uses realloc in an effort to minimise the amount of
memory actually used for rle objects. In practice, this caused xine to
fragment memory, and gradually use more and more RAM (measured over a
period of 24 to 72 hours).
Change osd.c to allocate the maximum amount of memory it could need;
because it touches this memory in a linear fashion, lazy page allocation
will ensure that most of the memory used is needed. Further, because
this makes the per-drawing allocations the same size, it avoids virtual
address space fragmentation.
|
|
When running DVB subtitles for a long period of time (over 24 hours), we
noticed a slow leak of memory. This patch removes one cause of leakage
for us.
|
|
When using DVB subtitles on an SMP machine, we see occasional lockups, which
appear to be caused by one thread acquiring the same ticket twice. Fix this,
by preventing acquire() and release() from blocking if the current thread has
already acquired the ticket.
Code sequences like the following can still block in all acquires and
releases:
ticket->acquire(...)
/* Do something */
ticket->release(...)
However, code sequences like the following, which used to deadlock if ticket
was revoked at just the wrong moment, now succeed:
ticket->acquire(...)
/* Do something */
ticket->acquire(...) /* This acquire cannot block */
/* Do something */
ticket->release(...) /* This release cannot block */
/* Do something */
ticket->release(...)
Without this patch, the inner acquire() and release() calls could block if
ticket was revoked at the wrong time. revoke() would not unblock the blocking
acquire until there have been as many release()s as acquire()s, which cannot
happen.
|
|
|
|
of the file.
|
|
Solaris definitions.
|
|
|
|
|
|
|
|
|
|
close the driver on a return value <0
|
|
|
|
when we want to run until the timeout has occurred, partially fixes
Totem's browser plugin playing back browser streams with the xine-lib
backend
See http://bugzilla.gnome.org/show_bug.cgi?id=375866 for details
|
|
|
|
Remove unused x_odd parameter from blend_???_exact functions
|
|
This fixes reported alignment issues on ARM.
(We could require correct alignment on some architectures, but this is easier.)
|
|
- validate palette alpha values in overlay manager
(one check / overlay / palette index) instead of
checking every alpha value twice for every
blended pixel in every frame
- remove unneeded calculations
- approximiate expensive integer divisions with
multiplication and shift
|
|
elements by the size of the single element.
(transplanted from 512894f517c423fed0cadeca0d46c6d909403106)
--HG--
extra : transplant_source : Q%28%94%F5%17%C4%23%FE%D0%CA%DE%CA%0DF%C6%D9%09%401%06
|
|
|
|
|
|
The problem comes from the fact that into xine_probe_fast_memcpy() there is
a call to xprintf, which excutes some actions to this->log_lock. But the
"log_lock" field is still uninitialized. Under Windows, the xine_init()
always crashes because that type is implemented as a structure, so the lock
receives a NULL pointer and the execution is halted. The attached patch
proposes to move the mutex objects to the top of xine_init() function.
--HG--
extra : transplant_source : %07%1D%7F%F0%97%7D%06%3E%9F%2Ar%03%1DQ%14%F3%D1%EF%1D%93
|
|
With Pthreads for Win32/Win64 I cannot compare two pthread_t items because
they are implemented as structures. This patch fixes the comparison by
using pthread_equal() function.
--HG--
extra : transplant_source : %9D%98%CE%83%5E%BD%A9u%11%C7%3BmP%28%EBH%D0%B6I%DF
|
|
|
|
Changeset 8ffe18290ba5 fixed bug 1784272 (opening raw filenames with #
character, like "show #1.mpg") but at the cost of killing # separator in raw
filenames completely. Although this might be a valid requirement in a new devel
branch, imho, such change in stable branch should be considered a regression.
The original idea of passing partial MRL for the input plugins to try doesn't
work because plugin will generate error messages for every failed attempt to
open the file (like "show " above), even thought the complete MRL is valid
and will be played.
So, since raw filenames are an exception for the MRL scheme anyway, we
try stat'ing the partial filenames to determine what user means with the #.
|
|
Retrieving frame size and format is a legal operation even for
otherwise not supported frame formats like XXMC.
|
|
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.
|
|
|
|
This is to avoid having to rebuild external plugins for each new release.
--HG--
extra : transplant_source : %C2%3EF%0B%EF%16%40K%FD.%EB9%E07%CB%97GhU%98
|
|
(Cset 1a0447486a13 broke things differently.)
|
|
|
|
|
|
This has a side effect: versions older than 1.1.10 do not unescape, so
"#save:foo%23.ts" will result in a file named "foo%23.ts".
Front end maintainers, beware :-)
|
|
This was broken in 1.1.8 when #subtitle:/file was fixed.
|