Mercurial > mplayer.hg
view libmpcodecs/vf_dvbscale.c @ 24086:f5b32d12b691
remove gconvert_uri_to_filename() and use url_unescape_string() instead.
reasons:
* gconvert strdup()s the original string, but it may exit without returning or freeing it.
* gconvert returns the original pointer when no % escaping is done. It is then free()ed and used in that state.
* gconvert doesn't consider that % may be at the end of the string and could continue parsing past the end.
* gconvert would try to free() pointer that iconv() have modified.
* gconvert would try to convert filenames from utf-8 to iso8859-1.
Seems like no other DnD programs convert to utf-8 and/or honors CHARSET.
Not converting seems to work best. Fix it if problem arises.
author | iive |
---|---|
date | Mon, 20 Aug 2007 14:17:43 +0000 |
parents | 6ff3379a0862 |
children | 00fff9a3b735 |
line wrap: on
line source
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <inttypes.h> #include "config.h" #include "mp_msg.h" #include "img_format.h" #include "mp_image.h" #include "vf.h" struct vf_priv_s { int aspect; }; //===========================================================================// static int config(struct vf_instance_s* vf, int width, int height, int d_width, int d_height, unsigned int flags, unsigned int outfmt){ int scaled_y=vf->priv->aspect*d_height/d_width; d_width=width; // do X-scaling by hardware d_height=scaled_y; return vf_next_config(vf,width,height,d_width,d_height,flags,outfmt); } static int open(vf_instance_t *vf, char* args){ vf->config=config; vf->default_caps=0; vf->priv=malloc(sizeof(struct vf_priv_s)); vf->priv->aspect=768; if(args) vf->priv->aspect=atoi(args); return 1; } vf_info_t vf_info_dvbscale = { "calc Y scaling for DVB card", "dvbscale", "A'rpi", "", open, NULL }; //===========================================================================//