diff options
author | Julian Scheel <julian@jusst.de> | 2009-01-19 11:23:28 +0000 |
---|---|---|
committer | Julian Scheel <julian@jusst.de> | 2009-01-19 11:23:28 +0000 |
commit | 4973bf41cb25e8025acc6b09ec3a433889aade07 (patch) | |
tree | e2aa5daaf443ffe079ba2ae61b6db4237b993551 /src | |
parent | 83c558ce5a21df2b9ae6a5b9432d57fc9ec5b9bd (diff) | |
download | xine-lib-4973bf41cb25e8025acc6b09ec3a433889aade07.tar.gz xine-lib-4973bf41cb25e8025acc6b09ec3a433889aade07.tar.bz2 |
Force a minimum video_num_frames of 22, allowing max of 30.
Diffstat (limited to 'src')
-rw-r--r-- | src/video_out/video_out_vdpau.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/video_out/video_out_vdpau.c b/src/video_out/video_out_vdpau.c index 5be71ceae..e85e31545 100644 --- a/src/video_out/video_out_vdpau.c +++ b/src/video_out/video_out_vdpau.c @@ -1319,7 +1319,7 @@ static int vdpau_get_property (vo_driver_t *this_gen, int property) switch (property) { case VO_PROP_MAX_NUM_FRAMES: - return 22; + return 30; case VO_PROP_WINDOW_WIDTH: return this->sc.gui_width; case VO_PROP_WINDOW_HEIGHT: @@ -1926,6 +1926,19 @@ static vo_driver_t *vdpau_open_plugin (video_driver_class_t *class_gen, const vo "This flag is not always reliable.\n\n"), 10, vdpau_honor_progressive_flag, this ); + /* number of video frames from config - register it with the default value. */ + int frame_num = config->register_num (config, "engine.buffers.video_num_frames", 15, /* default */ + _("default number of video frames"), + _("The default number of video frames to request " + "from xine video out driver. Some drivers will " + "override this setting with their own values."), + 20, NULL, this); + + /* now make sure we have at least 22 frames, to prevent + * locks with vdpau_h264 */ + if(frame_num < 22) + config->update_num(config,"engine.buffers.video_num_frames",22); + this->capabilities = VO_CAP_YV12 | VO_CAP_YUY2 | VO_CAP_CROP | VO_CAP_UNSCALED_OVERLAY | VO_CAP_CUSTOM_EXTENT_OVERLAY | VO_CAP_ARGB_LAYER_OVERLAY; ok = 0; uint32_t mw, mh, ml, mr; |