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
6fce72c7
Commit
6fce72c7
authored
Jun 17, 2010
by
Rémi Denis-Courmont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
str_format_meta: use lldiv, do less math
parent
a8c86004
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
16 additions
and
12 deletions
+16
-12
src/text/strings.c
src/text/strings.c
+16
-12
No files found.
src/text/strings.c
View file @
6fce72c7
...
...
@@ -601,6 +601,18 @@ char *str_format_time( const char *tformat )
assert
(
0
);
}
static
void
format_duration
(
char
*
buf
,
size_t
len
,
int64_t
duration
)
{
lldiv_t
d
;
int
sec
;
duration
/=
CLOCK_FREQ
;
d
=
lldiv
(
duration
,
60
);
sec
=
d
.
rem
;
d
=
lldiv
(
d
.
quot
,
60
);
snprintf
(
buf
,
len
,
"%02lld:%02d:%02d"
,
d
.
quot
,
(
int
)
d
.
rem
,
sec
);
}
#define INSERT_STRING( string ) \
if( string != NULL ) \
{ \
...
...
@@ -779,10 +791,7 @@ char *str_format_meta( vlc_object_t *p_object, const char *string )
if
(
p_item
)
{
mtime_t
i_duration
=
input_item_GetDuration
(
p_item
);
snprintf
(
buf
,
10
,
"%02d:%02d:%02d"
,
(
int
)(
i_duration
/
(
3600000000
)),
(
int
)((
i_duration
/
(
60000000
))
%
60
),
(
int
)((
i_duration
/
1000000
)
%
60
)
);
format_duration
(
buf
,
sizeof
(
buf
),
i_duration
);
}
else
{
...
...
@@ -813,10 +822,8 @@ char *str_format_meta( vlc_object_t *p_object, const char *string )
{
mtime_t
i_duration
=
input_item_GetDuration
(
p_item
);
int64_t
i_time
=
var_GetTime
(
p_input
,
"time"
);
snprintf
(
buf
,
10
,
"%02d:%02d:%02d"
,
(
int
)(
(
i_duration
-
i_time
)
/
3600000000
),
(
int
)(
(
(
i_duration
-
i_time
)
/
60000000
)
%
60
),
(
int
)(
(
(
i_duration
-
i_time
)
/
1000000
)
%
60
)
);
format_duration
(
buf
,
sizeof
(
buf
),
i_duration
-
i_time
);
}
else
{
...
...
@@ -881,10 +888,7 @@ char *str_format_meta( vlc_object_t *p_object, const char *string )
if
(
p_input
)
{
int64_t
i_time
=
var_GetTime
(
p_input
,
"time"
);
snprintf
(
buf
,
10
,
"%02d:%02d:%02d"
,
(
int
)(
i_time
/
(
3600000000
)
),
(
int
)(
(
i_time
/
(
60000000
)
)
%
60
),
(
int
)(
(
i_time
/
1000000
)
%
60
)
);
format_duration
(
buf
,
sizeof
(
buf
),
i_time
);
}
else
{
...
...
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