* Initialize the x11 grab device demuxer (public device demuxer API).
*
* @param s1 Context from avformat core
- * @param ap Parameters from avformat core
* @return <ul>
* <li>AVERROR(ENOMEM) no memory left</li>
* <li>AVERROR(EIO) other failure case</li>
* </ul>
*/
static int
-x11grab_read_header(AVFormatContext *s1, AVFormatParameters *ap)
+x11grab_read_header(AVFormatContext *s1)
{
struct x11_grab *x11grab = s1->priv_data;
Display *dpy;
AVRational framerate;
dpyname = av_strdup(s1->filename);
+ if (!dpyname)
+ goto out;
+
offset = strchr(dpyname, '+');
if (offset) {
sscanf(offset, "%d,%d", &x_off, &y_off);
}
break;
case 32:
- input_pixfmt = PIX_FMT_RGB32;
+ input_pixfmt = PIX_FMT_0RGB32;
break;
default:
av_log(s1, AV_LOG_ERROR, "image depth %i not supported ... aborting\n", image->bits_per_pixel);
st->codec->bit_rate = x11grab->frame_size * 1/av_q2d(x11grab->time_base) * 8;
out:
+ av_free(dpyname);
return ret;
}
av_log (s1, AV_LOG_INFO, "XGetZPixmap() failed\n");
}
}
- if (image->bits_per_pixel == 32)
- XAddPixel(image, 0xFF000000);
if (s->draw_mouse) {
paint_mouse_pointer(image, s);