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
bf4a3007
Commit
bf4a3007
authored
Mar 17, 2008
by
Rémi Denis-Courmont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Retain certain flags from input_ItemAddOpt
(Oh! another ABI break - if only vlc_input_item_t weren't public)
parent
74b1c6cd
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
30 additions
and
9 deletions
+30
-9
include/vlc_input.h
include/vlc_input.h
+14
-4
src/input/input_internal.h
src/input/input_internal.h
+1
-0
src/input/item.c
src/input/item.c
+15
-5
No files found.
include/vlc_input.h
View file @
bf4a3007
...
...
@@ -66,6 +66,8 @@ struct input_item_t
int
i_options
;
/**< Number of input options */
char
**
ppsz_options
;
/**< Array of input options */
uint8_t
*
optflagv
;
/**< Some flags of input options */
unsigned
optflagc
;
mtime_t
i_duration
;
/**< Duration in milliseconds*/
...
...
@@ -116,6 +118,10 @@ static inline void input_ItemCopyOptions( input_item_t *p_parent,
p_child
->
i_options
*
sizeof
(
char
*
)
);
p_child
->
ppsz_options
[
p_child
->
i_options
-
1
]
=
psz_option
;
p_child
->
optflagc
++
;
p_child
->
optflagv
=
(
uint8_t
*
)
realloc
(
p_child
->
optflagv
,
p_child
->
optflagc
);
p_child
->
optflagv
[
p_child
->
optflagc
-
1
]
=
p_parent
->
optflagv
[
i
];
}
}
...
...
@@ -142,15 +148,18 @@ static inline void input_ItemAddSubItem( input_item_t *p_parent,
vlc_event_send
(
&
p_parent
->
event_manager
,
&
event
);
}
#define VLC_INPUT_OPTION_UNIQUE 0x1
/* Flags handled past input_ItemAddOpt() */
#define VLC_INPUT_OPTION_TRUSTED 0x2
VLC_EXPORT
(
void
,
input_ItemAddOpt
,
(
input_item_t
*
,
const
char
*
str
,
unsigned
flags
)
);
/* Flags handled within input_ItemAddOpt() */
#define VLC_INPUT_OPTION_UNIQUE 0x100
VLC_EXPORT
(
int
,
input_ItemAddOpt
,
(
input_item_t
*
,
const
char
*
str
,
unsigned
flags
)
);
static
inline
void
input_ItemAddOption
(
input_item_t
*
item
,
const
char
*
str
)
int
input_ItemAddOption
(
input_item_t
*
item
,
const
char
*
str
)
{
input_ItemAddOpt
(
item
,
str
,
VLC_INPUT_OPTION_TRUSTED
);
return
input_ItemAddOpt
(
item
,
str
,
VLC_INPUT_OPTION_TRUSTED
);
}
static
inline
void
input_ItemClean
(
input_item_t
*
p_i
)
...
...
@@ -173,6 +182,7 @@ static inline void input_ItemClean( input_item_t *p_i )
for
(
i
=
0
;
i
<
p_i
->
i_options
;
i
++
)
free
(
p_i
->
ppsz_options
[
i
]
);
TAB_CLEAN
(
p_i
->
i_options
,
p_i
->
ppsz_options
);
free
(
p_i
->
optflagv
);
for
(
i
=
0
;
i
<
p_i
->
i_es
;
i
++
)
{
...
...
src/input/input_internal.h
View file @
bf4a3007
...
...
@@ -226,6 +226,7 @@ static inline void input_ItemInit( vlc_object_t *p_o, input_item_t *p_i )
p_i
->
psz_uri
=
NULL
;
TAB_INIT
(
p_i
->
i_es
,
p_i
->
es
);
TAB_INIT
(
p_i
->
i_options
,
p_i
->
ppsz_options
);
p_i
->
optflagv
=
NULL
,
p_i
->
optflagc
=
0
;
TAB_INIT
(
p_i
->
i_categories
,
p_i
->
pp_categories
);
p_i
->
i_type
=
ITEM_TYPE_UNKNOWN
;
...
...
src/input/item.c
View file @
bf4a3007
...
...
@@ -115,11 +115,13 @@ static void input_ItemDestroy ( gc_object_t *p_this )
free
(
p_input
);
}
void
input_ItemAddOpt
(
input_item_t
*
p_input
,
const
char
*
psz_option
,
unsigned
flags
)
int
input_ItemAddOpt
(
input_item_t
*
p_input
,
const
char
*
psz_option
,
unsigned
flags
)
{
int
err
=
VLC_SUCCESS
;
if
(
psz_option
==
NULL
)
return
;
return
VLC_EGENERIC
;
vlc_mutex_lock
(
&
p_input
->
lock
);
if
(
flags
&
VLC_INPUT_OPTION_UNIQUE
)
...
...
@@ -129,10 +131,20 @@ void input_ItemAddOpt( input_item_t *p_input, const char *psz_option,
goto
out
;
}
uint8_t
*
flagv
=
realloc
(
p_input
->
optflagv
,
p_input
->
optflagc
+
1
);
if
(
flagv
==
NULL
)
{
err
=
VLC_ENOMEM
;
goto
out
;
}
p_input
->
optflagv
=
flagv
;
flagv
[
p_input
->
optflagc
++
]
=
flags
;
INSERT_ELEM
(
p_input
->
ppsz_options
,
p_input
->
i_options
,
p_input
->
i_options
,
strdup
(
psz_option
)
);
out:
vlc_mutex_unlock
(
&
p_input
->
lock
);
return
err
;
}
int
input_ItemAddInfo
(
input_item_t
*
p_i
,
...
...
@@ -270,8 +282,6 @@ input_item_t *input_ItemNewWithType( vlc_object_t *p_obj, const char *psz_uri,
p_input
->
psz_name
=
strdup
(
p_input
->
psz_uri
);
p_input
->
i_duration
=
i_duration
;
p_input
->
ppsz_options
=
NULL
;
p_input
->
i_options
=
0
;
for
(
int
i
=
0
;
i
<
i_options
;
i
++
)
input_ItemAddOption
(
p_input
,
ppsz_options
[
i
]
);
...
...
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