freebsd-ports/multimedia/mplayer/files/patch-stream_tvi__bsdbt848.c
Thomas Zander 6ea8dbba59 - Update to recent mplayer snapshot (2015-08-22)
- Unbundle ffmpeg and use the distfile from multimedia/ffmpeg
  (currently on version 2.7.2)
- Fix edge case assertion in av_free on 9.x/i386 upon stream close
  with mencoder (no change in behaviour)
- Include LICENSE_FILE
- Pet portlint
2015-08-23 16:41:23 +00:00

76 lines
2.5 KiB
C

--- stream/tvi_bsdbt848.c.orig 2013-03-16 10:15:07 UTC
+++ stream/tvi_bsdbt848.c
@@ -366,11 +366,11 @@ static int control(priv_t *priv, int cmd
int req_mode = *(int *)arg;
u_short tmp_fps;
- priv->iformat = METEOR_FMT_AUTOMODE;
+ priv->iformat = BT848_IFORM_F_AUTO;
if(req_mode == TV_NORM_PAL)
{
- priv->iformat = METEOR_FMT_PAL;
+ priv->iformat = BT848_IFORM_F_PALBDGHI;
priv->maxheight = PAL_HEIGHT;
priv->maxwidth = PAL_WIDTH;
priv->maxfps = PAL_FPS;
@@ -391,7 +391,7 @@ static int control(priv_t *priv, int cmd
if(req_mode == TV_NORM_NTSC)
{
- priv->iformat = METEOR_FMT_NTSC;
+ priv->iformat = BT848_IFORM_F_NTSCM;
priv->maxheight = NTSC_HEIGHT;
priv->maxwidth = NTSC_WIDTH;
priv->maxfps = NTSC_FPS;
@@ -415,9 +415,28 @@ static int control(priv_t *priv, int cmd
}
}
- if(req_mode == TV_NORM_SECAM) priv->iformat = METEOR_FMT_SECAM;
+ if(req_mode == TV_NORM_SECAM)
+ {
+ priv->iformat = BT848_IFORM_F_SECAM;
+ priv->maxheight = PAL_HEIGHT;
+ priv->maxwidth = PAL_WIDTH;
+ priv->maxfps = PAL_FPS;
+ priv->fps = PAL_FPS;
- if(ioctl(priv->btfd, METEORSFMT, &priv->iformat) < 0)
+ if(priv->fps > priv->maxfps) priv->fps = priv->maxfps;
+
+ if(priv->geom.rows > priv->maxheight)
+ {
+ priv->geom.rows = priv->maxheight;
+ }
+
+ if(priv->geom.columns > priv->maxwidth)
+ {
+ priv->geom.columns = priv->maxwidth;
+ }
+ }
+
+ if(ioctl(priv->btfd, BT848SFMT, &priv->iformat) < 0)
{
mp_msg(MSGT_TV, MSGL_ERR, MSGTR_TV_Bt848IoctlFailed, "METEORSFMT", strerror(errno));
return TVI_CONTROL_FALSE;
@@ -546,8 +565,9 @@ G_private = priv; /* Oooh, sick */
/* Video Configuration */
priv->videoready = 1;
+priv->btdev = strdup("/dev/bktr0");
priv->immediatemode = 0;
-priv->iformat = METEOR_FMT_PAL;
+priv->iformat = BT848_IFORM_F_PALBDGHI;
priv->maxheight = PAL_HEIGHT;
priv->maxwidth = PAL_WIDTH;
priv->maxfps = PAL_FPS;
@@ -572,7 +592,7 @@ if(priv->btfd < 0)
}
if(priv->videoready &&
- ioctl(priv->btfd, METEORSFMT, &priv->iformat) < 0)
+ ioctl(priv->btfd, BT848SFMT, &priv->iformat) < 0)
{
mp_msg(MSGT_TV, MSGL_ERR, MSGTR_TV_Bt848IoctlFailed, "SETEORSFMT", strerror(errno));
}