mirror of
https://github.com/mpv-player/mpv
synced 2024-12-25 16:33:02 +00:00
Merge svn changes up to r30065
This commit is contained in:
commit
67b40bd219
@ -3305,7 +3305,8 @@ This option is not suitable to only set the startup screen (because
|
||||
it will always display on the given screen in fullscreen mode),
|
||||
\-geometry is the best that is available for that purpose
|
||||
currently.
|
||||
Supported by at least the direct3d, gl, gl2, x11, xv and corevideo video output drivers.
|
||||
Supported by at least the direct3d, gl, gl2, x11, xv and corevideo video output
|
||||
drivers.
|
||||
.
|
||||
.TP
|
||||
.B \-zrbw (\-vo zr only)
|
||||
|
@ -1,4 +1,4 @@
|
||||
.\" synced with r29905
|
||||
.\" synced with r30043
|
||||
.\" Encoding: iso-8859-1
|
||||
.\" MPlayer (C) 2000-2009 MPlayer Team
|
||||
.\" Questa pagina di manuale è stata fatta da Gabucino, Diego Biurrun,
|
||||
@ -3275,11 +3275,11 @@ allora le coordinate x ed y sono relative all'angolo in alto a sinistra
|
||||
della finestra stessa piuttosto che dello schermo.
|
||||
Le coordinate sono relative allo schermo indicato con \-xineramascreen per i
|
||||
driver di uscita video che gestiscono completamente \-xineramascreen (direct3d,
|
||||
gl, gl2, vdpau, x11, xv, xvmc).
|
||||
gl, gl2, vdpau, x11, xv, xvmc, corevideo).
|
||||
.br
|
||||
.I NOTA:
|
||||
Questa opzione è supportata dai driver di uscita video x11, xmga, xv, xvmc,
|
||||
xvidix, gl, gl2, directx, fbdev e tdfxfb.
|
||||
xvidix, gl, gl2, directx, fbdev, tdfxfb e corevideo.
|
||||
.sp 1
|
||||
.I ESEMPIO:
|
||||
.PD 0
|
||||
@ -3478,7 +3478,8 @@ Funzioner
|
||||
Quest'opzione non è utilizzabile per impostare solo la schermata di avvio
|
||||
(dato che si aprirà sempre a tutto schermo sullo schermo indicato), per far
|
||||
ciò la miglior opzione attualmente disponibilie è \-geometry.
|
||||
Supportata almeno dai driver di uscita video direct3d, gl, gl2, x11 e xv.
|
||||
Supportata almeno dai driver di uscita video direct3d, gl, gl2, x11, xv e
|
||||
corevideo.
|
||||
.
|
||||
.TP
|
||||
.B \-zrbw (solo \-vo zr)
|
||||
|
1
Makefile
1
Makefile
@ -540,6 +540,7 @@ SRCS_MPLAYER-$(GGI) += libvo/vo_ggi.c
|
||||
SRCS_MPLAYER-$(GIF) += libvo/vo_gif89a.c
|
||||
SRCS_MPLAYER-$(GL) += libvo/gl_common.c libvo/vo_gl.c libvo/vo_gl2.c
|
||||
SRCS_MPLAYER-$(GL_WIN32) += libvo/w32_common.c
|
||||
SRCS_MPLAYER-$(GL_X11) += libvo/x11_common.c
|
||||
|
||||
SRCS_MPLAYER-$(IVTV) += libao2/ao_ivtv.c libvo/vo_ivtv.c
|
||||
SRCS_MPLAYER-$(JACK) += libao2/ao_jack.c
|
||||
|
19
configure
vendored
19
configure
vendored
@ -4799,11 +4799,14 @@ EOF
|
||||
_gl=no
|
||||
if cc_check -lGL $_ld_lm ; then
|
||||
_gl=yes
|
||||
_gl_x11=yes
|
||||
libs_mplayer="$libs_mplayer -lGL $_ld_dl"
|
||||
elif cc_check -lGL $_ld_lm $_ld_pthread ; then
|
||||
_gl=yes
|
||||
_gl_x11=yes
|
||||
libs_mplayer="$libs_mplayer -lGL $_ld_pthread $_ld_dl"
|
||||
elif cc_check -DGL_WIN32 -lopengl32 ; then
|
||||
fi
|
||||
if cc_check -DGL_WIN32 -lopengl32 ; then
|
||||
_gl=yes
|
||||
_gl_win32=yes
|
||||
libs_mplayer="$libs_mplayer -lopengl32 -lgdi32"
|
||||
@ -4813,14 +4816,20 @@ else
|
||||
fi
|
||||
if test "$_gl" = yes ; then
|
||||
def_gl='#define CONFIG_GL 1'
|
||||
_res_comment="backends:"
|
||||
if test "$_gl_win32" = yes ; then
|
||||
def_gl_win32='#define GL_WIN32 1'
|
||||
_res_comment="win32 version"
|
||||
def_gl_win32='#define CONFIG_GL_WIN32 1'
|
||||
_res_comment="$_res_comment win32"
|
||||
fi
|
||||
if test "$_gl_x11" = yes ; then
|
||||
def_gl_x11='#define CONFIG_GL_X11 1'
|
||||
_res_comment="$_res_comment x11"
|
||||
fi
|
||||
_vomodules="opengl $_vomodules"
|
||||
else
|
||||
def_gl='#undef CONFIG_GL'
|
||||
def_gl_win32='#undef GL_WIN32'
|
||||
def_gl_win32='#undef CONFIG_GL_WIN32'
|
||||
def_gl_x11='#undef CONFIG_GL_X11'
|
||||
_novomodules="opengl $_novomodules"
|
||||
fi
|
||||
echores "$_gl"
|
||||
@ -7830,6 +7839,7 @@ GIF = $_gif
|
||||
GGI = $_ggi
|
||||
GL = $_gl
|
||||
GL_WIN32 = $_gl_win32
|
||||
GL_X11 = $_gl_x11
|
||||
HAVE_POSIX_SELECT = $_posix_select
|
||||
HAVE_SYS_MMAN_H = $_mman
|
||||
IVTV = $_ivtv
|
||||
@ -8302,6 +8312,7 @@ $def_gif_4
|
||||
$def_gif_tvt_hack
|
||||
$def_gl
|
||||
$def_gl_win32
|
||||
$def_gl_x11
|
||||
$def_ivtv
|
||||
$def_jpeg
|
||||
$def_kva
|
||||
|
@ -2,7 +2,7 @@
|
||||
// Updated by: Roberto Togni <see AUTHORS for email address>
|
||||
// Updated by: PaulTT <see AUTHORS for email address>
|
||||
|
||||
// Updated to help_mp-en.h r29912
|
||||
// Updated to help_mp-en.h r30044
|
||||
|
||||
|
||||
// ========================= MPlayer help ===========================
|
||||
@ -851,8 +851,7 @@ static const char help_text[]=
|
||||
#define MSGTR_LIBVO_FONT_LOAD_FT_CannotPrepareOSDFont "Impossibile preparare il font per l'OSD.\n"
|
||||
#define MSGTR_LIBVO_FONT_LOAD_FT_CannotGenerateTables "Impossibile generare le tabelle.\n"
|
||||
#define MSGTR_LIBVO_FONT_LOAD_FT_DoneFreeTypeFailed "FT_Done_FreeType in errore.\n"
|
||||
|
||||
|
||||
#define MSGTR_LIBVO_FONT_LOAD_FT_FontconfigNoMatch "Fontconfig non ha potuto selezionare un font. Provo senza fontconfig...\n"
|
||||
|
||||
// sub.c
|
||||
#define MSGTR_VO_SUB_Seekbar "Barra ricerca"
|
||||
|
@ -49,9 +49,6 @@ static struct pa_context *context;
|
||||
/** Main event loop object */
|
||||
static struct pa_threaded_mainloop *mainloop;
|
||||
|
||||
/** A temporary variable to store the current volume */
|
||||
static pa_cvolume volume;
|
||||
|
||||
static int broken_pause;
|
||||
|
||||
LIBAO_EXTERN(pulse)
|
||||
@ -143,7 +140,7 @@ static int init(int rate_hz, int channels, int format, int flags) {
|
||||
char *devarg = NULL;
|
||||
char *host = NULL;
|
||||
char *sink = NULL;
|
||||
char *version = pa_get_library_version();
|
||||
const char *version = pa_get_library_version();
|
||||
|
||||
if (ao_subdevice) {
|
||||
devarg = strdup(ao_subdevice);
|
||||
@ -189,8 +186,6 @@ static int init(int rate_hz, int channels, int format, int flags) {
|
||||
pa_channel_map_init_auto(&map, ss.channels, PA_CHANNEL_MAP_ALSA);
|
||||
ao_data.bps = pa_bytes_per_second(&ss);
|
||||
|
||||
pa_cvolume_reset(&volume, ss.channels);
|
||||
|
||||
if (!(mainloop = pa_threaded_mainloop_new())) {
|
||||
mp_msg(MSGT_AO, MSGL_ERR, "AO: [pulse] Failed to allocate main loop\n");
|
||||
goto fail;
|
||||
@ -224,7 +219,7 @@ static int init(int rate_hz, int channels, int format, int flags) {
|
||||
pa_stream_set_write_callback(stream, stream_request_cb, NULL);
|
||||
pa_stream_set_latency_update_callback(stream, stream_latency_update_cb, NULL);
|
||||
|
||||
if (pa_stream_connect_playback(stream, sink, NULL, PA_STREAM_INTERPOLATE_TIMING|PA_STREAM_AUTO_TIMING_UPDATE, &volume, NULL) < 0)
|
||||
if (pa_stream_connect_playback(stream, sink, NULL, PA_STREAM_INTERPOLATE_TIMING|PA_STREAM_AUTO_TIMING_UPDATE, NULL, NULL) < 0)
|
||||
goto unlock_and_fail;
|
||||
|
||||
/* Wait until the stream is ready */
|
||||
@ -350,13 +345,14 @@ static float get_delay(void) {
|
||||
* pa_context_get_sink_input_info() operation completes. Saves the
|
||||
* volume field of the specified structure to the global variable volume. */
|
||||
static void info_func(struct pa_context *c, const struct pa_sink_input_info *i, int is_last, void *userdata) {
|
||||
struct pa_cvolume *volume = userdata;
|
||||
if (is_last < 0) {
|
||||
GENERIC_ERR_MSG(context, "Failed to get sink input info");
|
||||
return;
|
||||
}
|
||||
if (!i)
|
||||
return;
|
||||
volume = i->volume;
|
||||
*volume = i->volume;
|
||||
pa_threaded_mainloop_signal(mainloop, 0);
|
||||
}
|
||||
|
||||
@ -365,8 +361,9 @@ static int control(int cmd, void *arg) {
|
||||
case AOCONTROL_GET_VOLUME: {
|
||||
ao_control_vol_t *vol = arg;
|
||||
uint32_t devidx = pa_stream_get_index(stream);
|
||||
struct pa_cvolume volume;
|
||||
pa_threaded_mainloop_lock(mainloop);
|
||||
if (!waitop(pa_context_get_sink_input_info(context, devidx, info_func, NULL))) {
|
||||
if (!waitop(pa_context_get_sink_input_info(context, devidx, info_func, &volume))) {
|
||||
GENERIC_ERR_MSG(context, "pa_stream_get_sink_input_info() failed");
|
||||
return CONTROL_ERROR;
|
||||
}
|
||||
@ -384,7 +381,9 @@ static int control(int cmd, void *arg) {
|
||||
case AOCONTROL_SET_VOLUME: {
|
||||
const ao_control_vol_t *vol = arg;
|
||||
pa_operation *o;
|
||||
struct pa_cvolume volume;
|
||||
|
||||
pa_cvolume_reset(&volume, ao_data.channels);
|
||||
if (volume.channels != 2)
|
||||
pa_cvolume_set(&volume, volume.channels, (pa_volume_t)vol->left*PA_VOLUME_NORM/100);
|
||||
else {
|
||||
|
@ -1539,7 +1539,7 @@ void glDrawTex(GLfloat x, GLfloat y, GLfloat w, GLfloat h,
|
||||
End();
|
||||
}
|
||||
|
||||
#ifdef GL_WIN32
|
||||
#ifdef CONFIG_GL_WIN32
|
||||
#include "w32_common.h"
|
||||
/**
|
||||
* \brief little helper since wglGetProcAddress definition does not fit our
|
||||
@ -1635,7 +1635,7 @@ static void swapGlBuffers_w32(MPGLContext *ctx) {
|
||||
vo_w32_release_dc(vo_w32_window, vo_hdc);
|
||||
}
|
||||
#endif
|
||||
#ifdef CONFIG_X11
|
||||
#ifdef CONFIG_GL_X11
|
||||
#ifdef HAVE_LIBDL
|
||||
#include <dlfcn.h>
|
||||
#endif
|
||||
@ -1828,7 +1828,7 @@ int init_mpglcontext(MPGLContext *ctx, enum MPGLType type) {
|
||||
memset(ctx, 0, sizeof(*ctx));
|
||||
ctx->type = type;
|
||||
switch (ctx->type) {
|
||||
#ifdef GL_WIN32
|
||||
#ifdef CONFIG_GL_WIN32
|
||||
case GLTYPE_W32:
|
||||
ctx->setGlWindow = setGlWindow_w32;
|
||||
ctx->releaseGlContext = releaseGlContext_w32;
|
||||
@ -1840,7 +1840,7 @@ int init_mpglcontext(MPGLContext *ctx, enum MPGLType type) {
|
||||
ctx->ontop = vo_w32_ontop;
|
||||
return vo_w32_init();
|
||||
#endif
|
||||
#ifdef CONFIG_X11
|
||||
#ifdef CONFIG_GL_X11
|
||||
case GLTYPE_X11:
|
||||
ctx->setGlWindow = setGlWindow_x11;
|
||||
ctx->releaseGlContext = releaseGlContext_x11;
|
||||
@ -1860,12 +1860,12 @@ int init_mpglcontext(MPGLContext *ctx, enum MPGLType type) {
|
||||
void uninit_mpglcontext(MPGLContext *ctx) {
|
||||
ctx->releaseGlContext(ctx);
|
||||
switch (ctx->type) {
|
||||
#ifdef GL_WIN32
|
||||
#ifdef CONFIG_GL_WIN32
|
||||
case GLTYPE_W32:
|
||||
vo_w32_uninit();
|
||||
break;
|
||||
#endif
|
||||
#ifdef CONFIG_X11
|
||||
#ifdef CONFIG_GL_X11
|
||||
case GLTYPE_X11:
|
||||
vo_x11_uninit();
|
||||
break;
|
||||
|
@ -27,12 +27,12 @@
|
||||
|
||||
#include "video_out.h"
|
||||
|
||||
#ifdef GL_WIN32
|
||||
#ifdef CONFIG_GL_WIN32
|
||||
#include <windows.h>
|
||||
#include <GL/gl.h>
|
||||
#include "w32_common.h"
|
||||
#endif
|
||||
#ifdef CONFIG_X11
|
||||
#ifdef CONFIG_GL_X11
|
||||
#include <GL/gl.h>
|
||||
#include <X11/Xlib.h>
|
||||
#include <GL/glx.h>
|
||||
@ -45,7 +45,7 @@
|
||||
#ifndef GLAPIENTRY
|
||||
#ifdef APIENTRY
|
||||
#define GLAPIENTRY APIENTRY
|
||||
#elif defined(GL_WIN32)
|
||||
#elif defined(CONFIG_GL_WIN32)
|
||||
#define GLAPIENTRY __stdcall
|
||||
#else
|
||||
#define GLAPIENTRY
|
||||
@ -364,15 +364,15 @@ typedef struct MPGLContext {
|
||||
enum MPGLType type;
|
||||
union {
|
||||
int w32;
|
||||
#ifdef CONFIG_X11
|
||||
#ifdef CONFIG_GL_X11
|
||||
XVisualInfo *x11;
|
||||
#endif
|
||||
} vinfo;
|
||||
union {
|
||||
#ifdef GL_WIN32
|
||||
#ifdef CONFIG_GL_WIN32
|
||||
HGLRC w32;
|
||||
#endif
|
||||
#ifdef CONFIG_X11
|
||||
#ifdef CONFIG_GL_X11
|
||||
GLXContext x11;
|
||||
#endif
|
||||
} context;
|
||||
|
@ -44,7 +44,7 @@ static const vo_info_t info =
|
||||
|
||||
const LIBVO_EXTERN(gl)
|
||||
|
||||
#ifdef CONFIG_X11
|
||||
#ifdef CONFIG_GL_X11
|
||||
static int wsGLXAttrib[] = { GLX_RGBA,
|
||||
GLX_RED_SIZE,1,
|
||||
GLX_GREEN_SIZE,1,
|
||||
@ -424,7 +424,7 @@ static void uninitGl(void) {
|
||||
DeleteBuffers(2, gl_buffer_uv);
|
||||
gl_buffer_uv[0] = gl_buffer_uv[1] = 0; gl_buffersize_uv = 0;
|
||||
gl_bufferptr_uv[0] = gl_bufferptr_uv[1] = 0;
|
||||
#ifdef CONFIG_X11
|
||||
#ifdef CONFIG_GL_X11
|
||||
if (mesa_bufferptr)
|
||||
FreeMemoryMESA(mDisplay, mScreen, mesa_bufferptr);
|
||||
#endif
|
||||
@ -529,11 +529,11 @@ config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uin
|
||||
|
||||
vo_flipped = !!(flags & VOFLAG_FLIPPING);
|
||||
|
||||
#ifdef GL_WIN32
|
||||
#ifdef CONFIG_GL_WIN32
|
||||
if (glctx.type == GLTYPE_W32 && !vo_w32_config(d_width, d_height, flags))
|
||||
return -1;
|
||||
#endif
|
||||
#ifdef CONFIG_X11
|
||||
#ifdef CONFIG_GL_X11
|
||||
if (glctx.type == GLTYPE_X11) {
|
||||
XVisualInfo *vinfo=glXChooseVisual( mDisplay,mScreen,wsGLXAttrib );
|
||||
if (vinfo == NULL)
|
||||
@ -762,7 +762,7 @@ static uint32_t get_image(mp_image_t *mpi) {
|
||||
mpi->stride[0] = mpi->width * mpi->bpp / 8;
|
||||
needed_size = mpi->stride[0] * mpi->height;
|
||||
if (mesa_buffer) {
|
||||
#ifdef CONFIG_X11
|
||||
#ifdef CONFIG_GL_X11
|
||||
if (mesa_bufferptr && needed_size > mesa_buffersize) {
|
||||
FreeMemoryMESA(mDisplay, mScreen, mesa_bufferptr);
|
||||
mesa_bufferptr = NULL;
|
||||
@ -990,7 +990,7 @@ static int preinit(const char *arg)
|
||||
{
|
||||
enum MPGLType gltype = GLTYPE_X11;
|
||||
// set defaults
|
||||
#ifdef GL_WIN32
|
||||
#ifdef CONFIG_GL_WIN32
|
||||
gltype = GLTYPE_W32;
|
||||
#endif
|
||||
many_fmts = 1;
|
||||
|
@ -104,7 +104,7 @@ struct TexSquare
|
||||
static GLint getInternalFormat(void)
|
||||
{
|
||||
switch (glctx.type) {
|
||||
#ifdef GL_WIN32
|
||||
#ifdef CONFIG_GL_WIN32
|
||||
case GLTYPE_W32:
|
||||
{
|
||||
PIXELFORMATDESCRIPTOR pfd;
|
||||
@ -122,7 +122,7 @@ static GLint getInternalFormat(void)
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
#ifdef CONFIG_X11
|
||||
#ifdef CONFIG_GL_X11
|
||||
case GLTYPE_X11:
|
||||
if (glXGetConfig(mDisplay, glctx.vinfo.x11, GLX_RED_SIZE, &r_sz) != 0) r_sz = 0;
|
||||
if (glXGetConfig(mDisplay, glctx.vinfo.x11, GLX_GREEN_SIZE, &g_sz) != 0) g_sz = 0;
|
||||
@ -462,7 +462,7 @@ static void draw_alpha_15(int x0,int y0, int w,int h, unsigned char* src, unsign
|
||||
static void draw_alpha_null(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride){
|
||||
}
|
||||
|
||||
#ifdef GL_WIN32
|
||||
#ifdef CONFIG_GL_WIN32
|
||||
|
||||
static int config_w32(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t flags, char *title, uint32_t format) {
|
||||
if (!vo_w32_config(d_width, d_height, flags))
|
||||
@ -609,7 +609,7 @@ config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uin
|
||||
image_width = width;
|
||||
image_format = format;
|
||||
|
||||
#ifdef GL_WIN32
|
||||
#ifdef CONFIG_GL_WIN32
|
||||
if (config_w32(width, height, d_width, d_height, flags, title, format) == -1)
|
||||
#else
|
||||
if (config_glx(width, height, d_width, d_height, flags, title, format) == -1)
|
||||
@ -659,7 +659,7 @@ config(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uin
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifndef GL_WIN32
|
||||
#ifndef CONFIG_GL_WIN32
|
||||
static int gl_handlekey(int key)
|
||||
{
|
||||
if(key=='a'||key=='A') {
|
||||
@ -676,7 +676,7 @@ static int gl_handlekey(int key)
|
||||
static void check_events(void)
|
||||
{
|
||||
int e;
|
||||
#ifndef GL_WIN32
|
||||
#ifndef CONFIG_GL_WIN32
|
||||
XEvent Event;
|
||||
char buf[100];
|
||||
KeySym keySym;
|
||||
@ -830,7 +830,7 @@ static int preinit(const char *arg)
|
||||
{
|
||||
enum MPGLType gltype = GLTYPE_X11;
|
||||
// set defaults
|
||||
#ifdef GL_WIN32
|
||||
#ifdef CONFIG_GL_WIN32
|
||||
gltype = GLTYPE_W32;
|
||||
#endif
|
||||
use_yuv = 0;
|
||||
@ -882,7 +882,7 @@ static int control(uint32_t request, void *data)
|
||||
case VOCTRL_SET_PANSCAN:
|
||||
resize(vo_dwidth, vo_dheight);
|
||||
return VO_TRUE;
|
||||
#ifndef GL_WIN32
|
||||
#ifndef CONFIG_GL_WIN32
|
||||
case VOCTRL_SET_EQUALIZER:
|
||||
{
|
||||
struct voctrl_set_equalizer_args *args = data;
|
||||
|
11
mpcommon.c
11
mpcommon.c
@ -199,12 +199,13 @@ void update_subtitles(struct MPContext *mpctx, struct MPOpts *opts,
|
||||
(long long)((endpts-subpts)*1000 + 0.5));
|
||||
} else { // plaintext subs with libass
|
||||
if (subpts != MP_NOPTS_VALUE) {
|
||||
subtitle tmp_subs = {0};
|
||||
if (endpts == MP_NOPTS_VALUE) endpts = subpts + 3;
|
||||
sub_clear_text(&subs, MP_NOPTS_VALUE);
|
||||
sub_add_text(&subs, packet, len, endpts);
|
||||
subs.start = subpts * 100;
|
||||
subs.end = endpts * 100;
|
||||
ass_process_subtitle(ass_track, &subs);
|
||||
sub_add_text(&tmp_subs, packet, len, endpts);
|
||||
tmp_subs.start = subpts * 100;
|
||||
tmp_subs.end = endpts * 100;
|
||||
ass_process_subtitle(ass_track, &tmp_subs);
|
||||
sub_clear_text(&tmp_subs, MP_NOPTS_VALUE);
|
||||
}
|
||||
}
|
||||
continue;
|
||||
|
Loading…
Reference in New Issue
Block a user