Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc
Commits
b978c15a
Commit
b978c15a
authored
May 02, 2012
by
Jean-Paul Saman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
lua: report status of main ES-es on current input.
parent
1ac11c98
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
62 additions
and
0 deletions
+62
-0
modules/lua/libs/input.c
modules/lua/libs/input.c
+51
-0
share/lua/http/requests/status.xml
share/lua/http/requests/status.xml
+11
-0
No files found.
modules/lua/libs/input.c
View file @
b978c15a
...
...
@@ -175,6 +175,56 @@ static int vlclua_input_metas_internal( lua_State *L, input_item_t *p_item )
return
1
;
}
static
int
vlclua_input_item_es_state
(
lua_State
*
L
)
{
/* HACK to add ES state */
input_thread_t
*
p_input
=
vlclua_get_input_internal
(
L
);
lua_newtable
(
L
);
if
(
p_input
)
{
#define ES_STATUS_UNKNOWN "Unknown"
#define ES_STATUS_DISABLED "Disabled"
#define ES_STATUS_ENABLED "Enabled"
#define ES_STATUS_ERROR "Error"
#define PUSH_ES_STATE( n, m ) \
lua_pushstring( L, n ); \
lua_setfield( L, -2, m )
const
char
*
ppsz_es_cat
[]
=
{
"unknown-es"
,
"video-es"
,
"audio-es"
,
"spu-es"
,
"nav-es"
};
const
int
cat
[]
=
{
UNKNOWN_ES
,
VIDEO_ES
,
AUDIO_ES
,
SPU_ES
,
NAV_ES
};
for
(
unsigned
int
i
=
0
;
i
<
ARRAY_SIZE
(
cat
);
i
++
)
{
input_es_state_e
es_state
=
input_GetEsState
(
p_input
,
cat
[
i
]
);
switch
(
es_state
)
{
case
INPUT_ES_STATE_DISABLED
:
PUSH_ES_STATE
(
ES_STATUS_DISABLED
,
ppsz_es_cat
[
i
]
);
break
;
case
INPUT_ES_STATE_ENABLED
:
PUSH_ES_STATE
(
ES_STATUS_ENABLED
,
ppsz_es_cat
[
i
]
);
break
;
case
INPUT_ES_STATE_ERROR
:
PUSH_ES_STATE
(
ES_STATUS_ERROR
,
ppsz_es_cat
[
i
]
);
break
;
default:
PUSH_ES_STATE
(
ES_STATUS_UNKNOWN
,
ppsz_es_cat
[
i
]
);
break
;
}
}
#undef PUSH_ES_STATE
#undef ES_STATUS_UNKNOWN
#undef ES_STATUS_DISABLED
#undef ES_STATUS_ENABLED
#undef ES_STATUS_ERROR
vlc_object_release
(
p_input
);
}
return
1
;
}
static
int
vlclua_input_item_stats
(
lua_State
*
L
)
{
input_item_t
*
p_item
=
vlclua_input_item_get_internal
(
L
);
...
...
@@ -406,6 +456,7 @@ static const luaL_Reg vlclua_input_item_reg[] = {
{
"duration"
,
vlclua_input_item_duration
},
{
"stats"
,
vlclua_input_item_stats
},
{
"info"
,
vlclua_input_item_info
},
{
"es_state"
,
vlclua_input_item_es_state
},
{
NULL
,
NULL
}
};
...
...
share/lua/http/requests/status.xml
View file @
b978c15a
...
...
@@ -78,4 +78,15 @@ local item = vlc.input.item()
end
?>
</stats>
<es_state>
<
?vlc
if item then
local stats = item:es_state()
for k,v in pairs(stats) do
local tag = string.gsub(k,"_","")
print("
<
"..httprequests.xmlString(tag)..">"..httprequests.xmlString(v).."
<
/"..httprequests.xmlString(tag)..">\n")
end
end
?>
</es_state>
</root>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment