Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-gpu
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-gpu
Commits
5a989669
Commit
5a989669
authored
Nov 19, 2006
by
Clément Stenac
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Input options inheritance in directory access (Closes:#353)
parent
9fa2642c
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
16 additions
and
7 deletions
+16
-7
modules/access/directory.c
modules/access/directory.c
+16
-7
No files found.
modules/access/directory.c
View file @
5a989669
...
@@ -125,7 +125,7 @@ static int DemuxControl( demux_t *p_demux, int i_query, va_list args );
...
@@ -125,7 +125,7 @@ static int DemuxControl( demux_t *p_demux, int i_query, va_list args );
static
int
ReadDir
(
playlist_t
*
,
const
char
*
psz_name
,
int
i_mode
,
static
int
ReadDir
(
playlist_t
*
,
const
char
*
psz_name
,
int
i_mode
,
playlist_item_t
*
,
playlist_item_t
*
);
playlist_item_t
*
,
playlist_item_t
*
,
input_item_t
*
);
/*****************************************************************************
/*****************************************************************************
* Open: open the directory
* Open: open the directory
...
@@ -184,8 +184,9 @@ static int Read( access_t *p_access, uint8_t *p_buffer, int i_len)
...
@@ -184,8 +184,9 @@ static int Read( access_t *p_access, uint8_t *p_buffer, int i_len)
playlist_item_t
*
p_item_in_category
;
playlist_item_t
*
p_item_in_category
;
input_item_t
*
p_current_input
=
(
(
input_thread_t
*
)
p_access
->
p_parent
)
input_item_t
*
p_current_input
=
(
(
input_thread_t
*
)
p_access
->
p_parent
)
->
input
.
p_item
;
->
input
.
p_item
;
playlist_item_t
*
p_current
=
playlist_item_t
*
p_current
=
playlist_ItemGetByInput
(
p_playlist
,
playlist_ItemGetByInput
(
p_playlist
,
p_current_input
,
VLC_FALSE
);
p_current_input
,
VLC_FALSE
);
char
*
psz_name
=
strdup
(
p_access
->
psz_path
);
char
*
psz_name
=
strdup
(
p_access
->
psz_path
);
if
(
psz_name
==
NULL
)
if
(
psz_name
==
NULL
)
...
@@ -221,13 +222,15 @@ static int Read( access_t *p_access, uint8_t *p_buffer, int i_len)
...
@@ -221,13 +222,15 @@ static int Read( access_t *p_access, uint8_t *p_buffer, int i_len)
msg_Dbg
(
p_access
,
"opening directory `%s'"
,
p_access
->
psz_path
);
msg_Dbg
(
p_access
,
"opening directory `%s'"
,
p_access
->
psz_path
);
p_current
->
p_input
->
i_type
=
ITEM_TYPE_DIRECTORY
;
p_current
->
p_input
->
i_type
=
ITEM_TYPE_DIRECTORY
;
p_item_in_category
=
playlist_ItemToNode
(
p_playlist
,
p_current
,
VLC_FALSE
);
p_item_in_category
=
playlist_ItemToNode
(
p_playlist
,
p_current
,
VLC_FALSE
);
i_activity
=
var_GetInteger
(
p_playlist
,
"activity"
);
i_activity
=
var_GetInteger
(
p_playlist
,
"activity"
);
var_SetInteger
(
p_playlist
,
"activity"
,
i_activity
+
var_SetInteger
(
p_playlist
,
"activity"
,
i_activity
+
DIRECTORY_ACTIVITY
);
DIRECTORY_ACTIVITY
);
ReadDir
(
p_playlist
,
psz_name
,
i_mode
,
p_current
,
p_item_in_category
);
ReadDir
(
p_playlist
,
psz_name
,
i_mode
,
p_current
,
p_item_in_category
,
p_current_input
);
i_activity
=
var_GetInteger
(
p_playlist
,
"activity"
);
i_activity
=
var_GetInteger
(
p_playlist
,
"activity"
);
var_SetInteger
(
p_playlist
,
"activity"
,
i_activity
-
var_SetInteger
(
p_playlist
,
"activity"
,
i_activity
-
...
@@ -329,7 +332,8 @@ static int Sort (const char **a, const char **b)
...
@@ -329,7 +332,8 @@ static int Sort (const char **a, const char **b)
*****************************************************************************/
*****************************************************************************/
static
int
ReadDir
(
playlist_t
*
p_playlist
,
const
char
*
psz_name
,
static
int
ReadDir
(
playlist_t
*
p_playlist
,
const
char
*
psz_name
,
int
i_mode
,
playlist_item_t
*
p_parent
,
int
i_mode
,
playlist_item_t
*
p_parent
,
playlist_item_t
*
p_parent_category
)
playlist_item_t
*
p_parent_category
,
input_item_t
*
p_current_input
)
{
{
char
**
pp_dir_content
=
NULL
;
char
**
pp_dir_content
=
NULL
;
int
i_dir_content
,
i
,
i_return
=
VLC_SUCCESS
;
int
i_dir_content
,
i
,
i_return
=
VLC_SUCCESS
;
...
@@ -434,7 +438,8 @@ static int ReadDir( playlist_t *p_playlist, const char *psz_name,
...
@@ -434,7 +438,8 @@ static int ReadDir( playlist_t *p_playlist, const char *psz_name,
/* If we had the parent in category, the it is now node.
/* If we had the parent in category, the it is now node.
* Else, we still don't have */
* Else, we still don't have */
if
(
ReadDir
(
p_playlist
,
psz_uri
,
MODE_EXPAND
,
if
(
ReadDir
(
p_playlist
,
psz_uri
,
MODE_EXPAND
,
p_node
,
p_parent_category
?
p_node
:
NULL
)
p_node
,
p_parent_category
?
p_node
:
NULL
,
p_current_input
)
!=
VLC_SUCCESS
)
!=
VLC_SUCCESS
)
{
{
i_return
=
VLC_EGENERIC
;
i_return
=
VLC_EGENERIC
;
...
@@ -469,6 +474,9 @@ static int ReadDir( playlist_t *p_playlist, const char *psz_name,
...
@@ -469,6 +474,9 @@ static int ReadDir( playlist_t *p_playlist, const char *psz_name,
psz_uri
,
entry
,
0
,
NULL
,
psz_uri
,
entry
,
0
,
NULL
,
-
1
,
ITEM_TYPE_VFILE
);
-
1
,
ITEM_TYPE_VFILE
);
if
(
p_input
!=
NULL
)
if
(
p_input
!=
NULL
)
{
if
(
p_current_input
)
input_ItemCopyOptions
(
p_current_input
,
p_input
);
playlist_BothAddInput
(
p_playlist
,
p_input
,
playlist_BothAddInput
(
p_playlist
,
p_input
,
p_parent_category
,
p_parent_category
,
PLAYLIST_APPEND
|
PLAYLIST_PREPARSE
,
PLAYLIST_APPEND
|
PLAYLIST_PREPARSE
,
...
@@ -476,6 +484,7 @@ static int ReadDir( playlist_t *p_playlist, const char *psz_name,
...
@@ -476,6 +484,7 @@ static int ReadDir( playlist_t *p_playlist, const char *psz_name,
}
}
}
}
}
}
}
for
(
i
=
0
;
i
<
i_extensions
;
i
++
)
for
(
i
=
0
;
i
<
i_extensions
;
i
++
)
if
(
ppsz_extensions
[
i
]
)
free
(
ppsz_extensions
[
i
]
);
if
(
ppsz_extensions
[
i
]
)
free
(
ppsz_extensions
[
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