Implement -onkeydown and -onmousedown options for ffplay.
Patch by Alexei Svitkine cout << name << "." << surname << "@" << "gmail.com". See thread: Subject: [FFmpeg-devel] new command-line option for ffplay Date: Wed, 23 Jun 2010 09:13:50 -0400 Originally committed as revision 24037 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
dbb113e89e
commit
066ce8c93d
@ -18,6 +18,7 @@ version <next>:
|
|||||||
- RTSP tunneling over HTTP
|
- RTSP tunneling over HTTP
|
||||||
- RTP depacketization of SVQ3
|
- RTP depacketization of SVQ3
|
||||||
- -strict inofficial replaced by -strict unofficial
|
- -strict inofficial replaced by -strict unofficial
|
||||||
|
- ffplay -exitonkeydown and -exitonmousedown options added
|
||||||
|
|
||||||
|
|
||||||
version 0.6:
|
version 0.6:
|
||||||
|
@ -108,6 +108,10 @@ Select the desired subtitle stream number, counting from 0. The number
|
|||||||
refers to the list of all the input subtitle streams. If it is greater
|
refers to the list of all the input subtitle streams. If it is greater
|
||||||
than the number of subtitle streams minus one, then the last one is
|
than the number of subtitle streams minus one, then the last one is
|
||||||
selected, if it is negative the subtitle rendering is disabled.
|
selected, if it is negative the subtitle rendering is disabled.
|
||||||
|
@item -exitonkeydown
|
||||||
|
Exit if any key is pressed.
|
||||||
|
@item -exitonmousedown
|
||||||
|
Exit if any mouse button is pressed.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@section While playing
|
@section While playing
|
||||||
|
12
ffplay.c
12
ffplay.c
@ -260,6 +260,8 @@ static int error_recognition = FF_ER_CAREFUL;
|
|||||||
static int error_concealment = 3;
|
static int error_concealment = 3;
|
||||||
static int decoder_reorder_pts= -1;
|
static int decoder_reorder_pts= -1;
|
||||||
static int autoexit;
|
static int autoexit;
|
||||||
|
static int exit_on_keydown;
|
||||||
|
static int exit_on_mousedown;
|
||||||
static int loop=1;
|
static int loop=1;
|
||||||
static int framedrop=1;
|
static int framedrop=1;
|
||||||
|
|
||||||
@ -2819,6 +2821,10 @@ static void event_loop(void)
|
|||||||
SDL_WaitEvent(&event);
|
SDL_WaitEvent(&event);
|
||||||
switch(event.type) {
|
switch(event.type) {
|
||||||
case SDL_KEYDOWN:
|
case SDL_KEYDOWN:
|
||||||
|
if (exit_on_keydown) {
|
||||||
|
do_exit();
|
||||||
|
break;
|
||||||
|
}
|
||||||
switch(event.key.keysym.sym) {
|
switch(event.key.keysym.sym) {
|
||||||
case SDLK_ESCAPE:
|
case SDLK_ESCAPE:
|
||||||
case SDLK_q:
|
case SDLK_q:
|
||||||
@ -2887,6 +2893,10 @@ static void event_loop(void)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case SDL_MOUSEBUTTONDOWN:
|
case SDL_MOUSEBUTTONDOWN:
|
||||||
|
if (exit_on_mousedown) {
|
||||||
|
do_exit();
|
||||||
|
break;
|
||||||
|
}
|
||||||
case SDL_MOUSEMOTION:
|
case SDL_MOUSEMOTION:
|
||||||
if(event.type ==SDL_MOUSEBUTTONDOWN){
|
if(event.type ==SDL_MOUSEBUTTONDOWN){
|
||||||
x= event.button.x;
|
x= event.button.x;
|
||||||
@ -3068,6 +3078,8 @@ static const OptionDef options[] = {
|
|||||||
{ "sync", HAS_ARG | OPT_FUNC2 | OPT_EXPERT, {(void*)opt_sync}, "set audio-video sync. type (type=audio/video/ext)", "type" },
|
{ "sync", HAS_ARG | OPT_FUNC2 | OPT_EXPERT, {(void*)opt_sync}, "set audio-video sync. type (type=audio/video/ext)", "type" },
|
||||||
{ "threads", HAS_ARG | OPT_FUNC2 | OPT_EXPERT, {(void*)opt_thread_count}, "thread count", "count" },
|
{ "threads", HAS_ARG | OPT_FUNC2 | OPT_EXPERT, {(void*)opt_thread_count}, "thread count", "count" },
|
||||||
{ "autoexit", OPT_BOOL | OPT_EXPERT, {(void*)&autoexit}, "exit at the end", "" },
|
{ "autoexit", OPT_BOOL | OPT_EXPERT, {(void*)&autoexit}, "exit at the end", "" },
|
||||||
|
{ "exitonkeydown", OPT_BOOL | OPT_EXPERT, {(void*)&exit_on_keydown}, "exit on key down", "" },
|
||||||
|
{ "exitonmousedown", OPT_BOOL | OPT_EXPERT, {(void*)&exit_on_mousedown}, "exit on mouse down", "" },
|
||||||
{ "loop", OPT_INT | HAS_ARG | OPT_EXPERT, {(void*)&loop}, "set number of times the playback shall be looped", "loop count" },
|
{ "loop", OPT_INT | HAS_ARG | OPT_EXPERT, {(void*)&loop}, "set number of times the playback shall be looped", "loop count" },
|
||||||
{ "framedrop", OPT_BOOL | OPT_EXPERT, {(void*)&framedrop}, "drop frames when cpu is too slow", "" },
|
{ "framedrop", OPT_BOOL | OPT_EXPERT, {(void*)&framedrop}, "drop frames when cpu is too slow", "" },
|
||||||
{ "window_title", OPT_STRING | HAS_ARG, {(void*)&window_title}, "set window title", "window title" },
|
{ "window_title", OPT_STRING | HAS_ARG, {(void*)&window_title}, "set window title", "window title" },
|
||||||
|
Loading…
Reference in New Issue
Block a user