Mercurial > mplayer.hg
diff stream/cache2.c @ 36428:7766530caa76
Add new stream control command STREAM_CTRL_GET_CURRENT_CHANNEL.
This provides the name of the currently selected DVB channel.
(Unsupported for analog TV though.)
| author | ib |
|---|---|
| date | Fri, 29 Nov 2013 12:34:21 +0000 |
| parents | d206960484fe |
| children |
line wrap: on
line diff
--- a/stream/cache2.c Fri Nov 29 00:26:17 2013 +0000 +++ b/stream/cache2.c Fri Nov 29 12:34:21 2013 +0000 @@ -94,6 +94,7 @@ volatile int control; volatile uint64_t control_uint_arg; volatile double control_double_arg; + volatile char *control_char_p_arg; volatile struct stream_lang_req control_lang_arg; volatile int control_res; volatile double stream_time_length; @@ -327,6 +328,9 @@ case STREAM_CTRL_GET_LANG: s->control_res = s->stream->control(s->stream, s->control, (void *)&s->control_lang_arg); break; + case STREAM_CTRL_GET_CURRENT_CHANNEL: + s->control_res = s->stream->control(s->stream, s->control, &s->control_char_p_arg); + break; default: s->control_res = STREAM_UNSUPPORTED; break; @@ -654,6 +658,10 @@ case -2: s->control = cmd; break; + case STREAM_CTRL_GET_CURRENT_CHANNEL: + s->control_char_p_arg = *(char **)arg; + s->control = cmd; + break; default: return STREAM_UNSUPPORTED; } @@ -699,6 +707,9 @@ case STREAM_CTRL_GET_LANG: *(struct stream_lang_req *)arg = s->control_lang_arg; break; + case STREAM_CTRL_GET_CURRENT_CHANNEL: + *(char **)arg = (char *)s->control_char_p_arg; + break; } return s->control_res; }
