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
69200883
Commit
69200883
authored
Nov 29, 2015
by
Rémi Denis-Courmont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
adaptive: privatize str_duration()
parent
6f15ed52
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
60 additions
and
63 deletions
+60
-63
include/vlc_strings.h
include/vlc_strings.h
+0
-2
modules/demux/adaptative/tools/Conversions.cpp
modules/demux/adaptative/tools/Conversions.cpp
+60
-1
src/libvlccore.sym
src/libvlccore.sym
+0
-1
src/text/strings.c
src/text/strings.c
+0
-59
No files found.
include/vlc_strings.h
View file @
69200883
...
@@ -137,8 +137,6 @@ static inline char *str_format( input_thread_t *input, const char *fmt )
...
@@ -137,8 +137,6 @@ static inline char *str_format( input_thread_t *input, const char *fmt )
VLC_API
void
filename_sanitize
(
char
*
);
VLC_API
void
filename_sanitize
(
char
*
);
VLC_API
void
path_sanitize
(
char
*
);
VLC_API
void
path_sanitize
(
char
*
);
VLC_API
time_t
str_duration
(
const
char
*
);
/**
/**
* @}
* @}
*/
*/
...
...
modules/demux/adaptative/tools/Conversions.cpp
View file @
69200883
...
@@ -19,9 +19,68 @@
...
@@ -19,9 +19,68 @@
*****************************************************************************/
*****************************************************************************/
#include "Conversions.hpp"
#include "Conversions.hpp"
#include <vlc_
strings
.h>
#include <vlc_
charset
.h>
#include <sstream>
#include <sstream>
/*
Decodes a duration as defined by ISO 8601
http://en.wikipedia.org/wiki/ISO_8601#Durations
@param str A null-terminated string to convert
@return: The duration in seconds. -1 if an error occurred.
Exemple input string: "PT0H9M56.46S"
*/
static
time_t
str_duration
(
const
char
*
psz_duration
)
{
bool
timeDesignatorReached
=
false
;
time_t
res
=
0
;
char
*
end_ptr
;
if
(
psz_duration
==
NULL
)
return
-
1
;
if
(
(
*
(
psz_duration
++
)
)
!=
'P'
)
return
-
1
;
do
{
double
number
=
us_strtod
(
psz_duration
,
&
end_ptr
);
double
mul
=
0
;
if
(
psz_duration
!=
end_ptr
)
psz_duration
=
end_ptr
;
switch
(
*
psz_duration
)
{
case
'M'
:
{
//M can mean month or minutes, if the 'T' flag has been reached.
//We don't handle months though.
if
(
timeDesignatorReached
==
true
)
mul
=
60.0
;
break
;
}
case
'Y'
:
case
'W'
:
break
;
//Don't handle this duration.
case
'D'
:
mul
=
86400.0
;
break
;
case
'T'
:
timeDesignatorReached
=
true
;
break
;
case
'H'
:
mul
=
3600.0
;
break
;
case
'S'
:
mul
=
1.0
;
break
;
default:
break
;
}
res
+=
(
time_t
)(
mul
*
number
);
if
(
*
psz_duration
)
psz_duration
++
;
}
while
(
*
psz_duration
);
return
res
;
}
IsoTime
::
IsoTime
(
const
std
::
string
&
str
)
IsoTime
::
IsoTime
(
const
std
::
string
&
str
)
{
{
time
=
str_duration
(
str
.
c_str
());
time
=
str_duration
(
str
.
c_str
());
...
...
src/libvlccore.sym
View file @
69200883
...
@@ -413,7 +413,6 @@ stream_ReadDir
...
@@ -413,7 +413,6 @@ stream_ReadDir
stream_FilterDefaultReadDir
stream_FilterDefaultReadDir
str_format_meta
str_format_meta
str_format_time
str_format_time
str_duration
subpicture_Delete
subpicture_Delete
subpicture_New
subpicture_New
subpicture_NewFromPicture
subpicture_NewFromPicture
...
...
src/text/strings.c
View file @
69200883
...
@@ -913,62 +913,3 @@ void path_sanitize( char *str )
...
@@ -913,62 +913,3 @@ void path_sanitize( char *str )
str
++
;
str
++
;
}
}
}
}
/*
Decodes a duration as defined by ISO 8601
http://en.wikipedia.org/wiki/ISO_8601#Durations
@param str A null-terminated string to convert
@return: The duration in seconds. -1 if an error occurred.
Exemple input string: "PT0H9M56.46S"
*/
time_t
str_duration
(
const
char
*
psz_duration
)
{
bool
timeDesignatorReached
=
false
;
time_t
res
=
0
;
char
*
end_ptr
;
if
(
psz_duration
==
NULL
)
return
-
1
;
if
(
(
*
(
psz_duration
++
)
)
!=
'P'
)
return
-
1
;
do
{
double
number
=
us_strtod
(
psz_duration
,
&
end_ptr
);
double
mul
=
0
;
if
(
psz_duration
!=
end_ptr
)
psz_duration
=
end_ptr
;
switch
(
*
psz_duration
)
{
case
'M'
:
{
//M can mean month or minutes, if the 'T' flag has been reached.
//We don't handle months though.
if
(
timeDesignatorReached
==
true
)
mul
=
60
.
0
;
break
;
}
case
'Y'
:
case
'W'
:
break
;
//Don't handle this duration.
case
'D'
:
mul
=
86400
.
0
;
break
;
case
'T'
:
timeDesignatorReached
=
true
;
break
;
case
'H'
:
mul
=
3600
.
0
;
break
;
case
'S'
:
mul
=
1
.
0
;
break
;
default:
break
;
}
res
+=
(
time_t
)(
mul
*
number
);
if
(
*
psz_duration
)
psz_duration
++
;
}
while
(
*
psz_duration
);
return
res
;
}
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