add lowquality option for video
This commit is contained in:
parent
b8be71db0c
commit
f3418a540d
1
TODO
1
TODO
|
@ -16,5 +16,4 @@
|
||||||
* add subtitle file cmdline
|
* add subtitle file cmdline
|
||||||
* loop all option
|
* loop all option
|
||||||
* show busy anim until opened cb or failure
|
* show busy anim until opened cb or failure
|
||||||
* quality option (smooth)
|
|
||||||
* add button/control top-left next to audio to do fullscreen/normal toggle
|
* add button/control top-left next to audio to do fullscreen/normal toggle
|
||||||
|
|
|
@ -164,6 +164,10 @@ key_handle(Evas_Object *win, Evas_Event_Key_Down *ev)
|
||||||
video_ratio_size_get(inf->vid, &w, &h);
|
video_ratio_size_get(inf->vid, &w, &h);
|
||||||
if ((w > 1) && (h > 1)) evas_object_resize(win, w, h);
|
if ((w > 1) && (h > 1)) evas_object_resize(win, w, h);
|
||||||
}
|
}
|
||||||
|
else if (!strcmp(ev->keyname, "y"))
|
||||||
|
{
|
||||||
|
video_lowquality_set(inf->vid, !video_lowquality_get(inf->vid));
|
||||||
|
}
|
||||||
else if (!strcmp(ev->keyname, "z"))
|
else if (!strcmp(ev->keyname, "z"))
|
||||||
{
|
{
|
||||||
if (inf->zoom_mode == 0) inf->zoom_mode = 1;
|
if (inf->zoom_mode == 0) inf->zoom_mode = 1;
|
||||||
|
|
|
@ -20,6 +20,7 @@ struct _Video
|
||||||
Eina_Bool down : 1;
|
Eina_Bool down : 1;
|
||||||
} down;
|
} down;
|
||||||
Eina_Bool nosmooth : 1;
|
Eina_Bool nosmooth : 1;
|
||||||
|
Eina_Bool lowqual : 1;
|
||||||
Eina_Bool loop : 1;
|
Eina_Bool loop : 1;
|
||||||
Eina_Bool fill : 1;
|
Eina_Bool fill : 1;
|
||||||
};
|
};
|
||||||
|
@ -289,7 +290,8 @@ _unsmooth_timeout(void *data)
|
||||||
evas_object_geometry_get(data, &ox, &oy, &ow, &oh);
|
evas_object_geometry_get(data, &ox, &oy, &ow, &oh);
|
||||||
sd->smooth_timer = NULL;
|
sd->smooth_timer = NULL;
|
||||||
sd->nosmooth = EINA_FALSE;
|
sd->nosmooth = EINA_FALSE;
|
||||||
emotion_object_smooth_scale_set(sd->o_vid, !sd->nosmooth);
|
emotion_object_smooth_scale_set(sd->o_vid,
|
||||||
|
(!sd->nosmooth) & (!sd->lowqual));
|
||||||
return EINA_FALSE;
|
return EINA_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -308,7 +310,8 @@ _smooth_handler(Evas_Object *obj)
|
||||||
{
|
{
|
||||||
sd->nosmooth = EINA_TRUE;
|
sd->nosmooth = EINA_TRUE;
|
||||||
sd->resizes = 0;
|
sd->resizes = 0;
|
||||||
emotion_object_smooth_scale_set(sd->o_vid, !sd->nosmooth);
|
emotion_object_smooth_scale_set(sd->o_vid,
|
||||||
|
(!sd->nosmooth) & (!sd->lowqual));
|
||||||
if (sd->smooth_timer)
|
if (sd->smooth_timer)
|
||||||
sd->smooth_timer = ecore_timer_del(sd->smooth_timer);
|
sd->smooth_timer = ecore_timer_del(sd->smooth_timer);
|
||||||
sd->smooth_timer = ecore_timer_add(interval * 10,
|
sd->smooth_timer = ecore_timer_add(interval * 10,
|
||||||
|
@ -803,6 +806,24 @@ video_event_send(Evas_Object *obj, Emotion_Event ev)
|
||||||
emotion_object_event_simple_send(sd->o_vid, ev);
|
emotion_object_event_simple_send(sd->o_vid, ev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
video_lowquality_set(Evas_Object *obj, Eina_Bool lowq)
|
||||||
|
{
|
||||||
|
Video *sd = evas_object_smart_data_get(obj);
|
||||||
|
if (!sd) return;
|
||||||
|
sd->lowqual = lowq;
|
||||||
|
emotion_object_smooth_scale_set(sd->o_vid,
|
||||||
|
(!sd->nosmooth) & (!sd->lowqual));
|
||||||
|
}
|
||||||
|
|
||||||
|
Eina_Bool
|
||||||
|
video_lowquality_get(Evas_Object *obj)
|
||||||
|
{
|
||||||
|
Video *sd = evas_object_smart_data_get(obj);
|
||||||
|
if (!sd) return EINA_FALSE;
|
||||||
|
return sd->lowqual;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// emotion_object_seekable_get
|
// emotion_object_seekable_get
|
||||||
// emotion_object_play_speed_set
|
// emotion_object_play_speed_set
|
||||||
|
|
|
@ -43,5 +43,7 @@ const char *video_spu_channel_name_get(Evas_Object *obj, int chan);
|
||||||
int video_spu_button_count(Evas_Object *obj);
|
int video_spu_button_count(Evas_Object *obj);
|
||||||
int video_spu_button_get(Evas_Object *obj);
|
int video_spu_button_get(Evas_Object *obj);
|
||||||
void video_event_send(Evas_Object *obj, Emotion_Event ev);
|
void video_event_send(Evas_Object *obj, Emotion_Event ev);
|
||||||
|
void video_lowquality_set(Evas_Object *obj, Eina_Bool lowq);
|
||||||
|
Eina_Bool video_lowquality_get(Evas_Object *obj);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue