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
098f3844
Commit
098f3844
authored
Jan 01, 2014
by
Rémi Denis-Courmont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
str_format_meta: clean up
parent
27da8366
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
23 additions
and
69 deletions
+23
-69
src/text/strings.c
src/text/strings.c
+23
-69
No files found.
src/text/strings.c
View file @
098f3844
...
...
@@ -46,7 +46,6 @@
#include <vlc_strings.h>
#include <vlc_charset.h>
#include <vlc_fs.h>
#include <libvlc.h>
#include <errno.h>
...
...
@@ -512,7 +511,7 @@ static void format_duration (char *buf, size_t len, int64_t duration)
#define INSERT_STRING( string ) \
if( string != NULL ) \
{ \
int len = strlen( string );
\
size_t len = strlen( string );
\
dst = xrealloc( dst, i_size = i_size + len );\
memcpy( (dst+d), string, len ); \
d += len; \
...
...
@@ -522,28 +521,25 @@ static void format_duration (char *buf, size_t len, int64_t duration)
/* same than INSERT_STRING, except that string won't be freed */
#define INSERT_STRING_NO_FREE( string ) \
{ \
int len = strlen( string );
\
size_t len = strlen( string );
\
dst = xrealloc( dst, i_size = i_size + len );\
memcpy( dst+d, string, len ); \
d += len; \
}
char
*
str_format_meta
(
playlist_t
*
p_
object
,
const
char
*
string
)
char
*
str_format_meta
(
playlist_t
*
p_
playlist
,
const
char
*
s
)
{
const
char
*
s
=
string
;
char
*
dst
=
strdup
(
s
);
if
(
unlikely
(
dst
==
NULL
)
)
return
NULL
;
input_thread_t
*
p_input
=
playlist_CurrentInput
(
p_playlist
);
input_item_t
*
p_item
=
p_input
?
input_GetItem
(
p_input
)
:
NULL
;
size_t
i_size
=
strlen
(
s
)
+
1
;
/* +1 to store '\0' */
size_t
d
=
0
;
bool
b_is_format
=
false
;
bool
b_empty_if_na
=
false
;
char
buf
[
10
];
int
i_size
=
strlen
(
string
)
+
1
;
/* +1 to store '\0' */
char
*
dst
=
strdup
(
string
);
if
(
!
dst
)
return
NULL
;
int
d
=
0
;
input_thread_t
*
p_input
=
playlist_CurrentInput
(
p_object
);
input_item_t
*
p_item
=
NULL
;
if
(
p_input
)
{
p_item
=
input_GetItem
(
p_input
);
}
while
(
*
s
)
{
...
...
@@ -553,33 +549,23 @@ char *str_format_meta( playlist_t *p_object, const char *string )
{
case
'a'
:
if
(
p_item
)
{
INSERT_STRING
(
input_item_GetArtist
(
p_item
)
);
}
break
;
case
'b'
:
if
(
p_item
)
{
INSERT_STRING
(
input_item_GetAlbum
(
p_item
)
);
}
break
;
case
'c'
:
if
(
p_item
)
{
INSERT_STRING
(
input_item_GetCopyright
(
p_item
)
);
}
break
;
case
'd'
:
if
(
p_item
)
{
INSERT_STRING
(
input_item_GetDescription
(
p_item
)
);
}
break
;
case
'e'
:
if
(
p_item
)
{
INSERT_STRING
(
input_item_GetEncodedBy
(
p_item
)
);
}
break
;
case
'f'
:
if
(
p_item
&&
p_item
->
p_stats
)
...
...
@@ -595,33 +581,23 @@ char *str_format_meta( playlist_t *p_object, const char *string )
break
;
case
'g'
:
if
(
p_item
)
{
INSERT_STRING
(
input_item_GetGenre
(
p_item
)
);
}
break
;
case
'l'
:
if
(
p_item
)
{
INSERT_STRING
(
input_item_GetLanguage
(
p_item
)
);
}
break
;
case
'n'
:
if
(
p_item
)
{
INSERT_STRING
(
input_item_GetTrackNum
(
p_item
)
);
}
break
;
case
'p'
:
if
(
p_item
)
{
INSERT_STRING
(
input_item_GetNowPlaying
(
p_item
)
);
}
break
;
case
'r'
:
if
(
p_item
)
{
INSERT_STRING
(
input_item_GetRating
(
p_item
)
);
}
break
;
case
's'
:
{
...
...
@@ -635,38 +611,28 @@ char *str_format_meta( playlist_t *p_object, const char *string )
}
case
't'
:
if
(
p_item
)
{
INSERT_STRING
(
input_item_GetTitle
(
p_item
)
);
}
break
;
case
'u'
:
if
(
p_item
)
{
INSERT_STRING
(
input_item_GetURL
(
p_item
)
);
}
break
;
case
'A'
:
if
(
p_item
)
{
INSERT_STRING
(
input_item_GetDate
(
p_item
)
);
}
break
;
case
'B'
:
if
(
p_input
)
{
snprintf
(
buf
,
10
,
"%"
PRId64
,
var_GetInteger
(
p_input
,
"bit-rate"
)
/
1000
);
}
else
strcpy
(
buf
,
b_empty_if_na
?
""
:
"-"
);
INSERT_STRING_NO_FREE
(
buf
);
break
;
case
'C'
:
if
(
p_input
)
{
snprintf
(
buf
,
10
,
"%"
PRId64
,
var_GetInteger
(
p_input
,
"chapter"
)
);
}
else
strcpy
(
buf
,
b_empty_if_na
?
""
:
"-"
);
INSERT_STRING_NO_FREE
(
buf
);
...
...
@@ -683,16 +649,12 @@ char *str_format_meta( playlist_t *p_object, const char *string )
break
;
case
'F'
:
if
(
p_item
)
{
INSERT_STRING
(
input_item_GetURI
(
p_item
)
);
}
break
;
case
'I'
:
if
(
p_input
)
{
snprintf
(
buf
,
10
,
"%"
PRId64
,
var_GetInteger
(
p_input
,
"title"
)
);
}
else
strcpy
(
buf
,
b_empty_if_na
?
""
:
"-"
);
INSERT_STRING_NO_FREE
(
buf
);
...
...
@@ -711,31 +673,25 @@ char *str_format_meta( playlist_t *p_object, const char *string )
break
;
case
'N'
:
if
(
p_item
)
{
INSERT_STRING
(
input_item_GetName
(
p_item
)
);
}
break
;
case
'O'
:
{
char
*
lang
=
NULL
;
if
(
p_input
)
lang
=
var_GetNonEmptyString
(
p_input
,
"audio-language"
);
if
(
lang
==
NULL
)
lang
=
strdup
(
b_empty_if_na
?
""
:
"-"
);
INSERT_STRING
(
lang
);
break
;
}
{
char
*
lang
=
NULL
;
if
(
p_input
)
lang
=
var_GetNonEmptyString
(
p_input
,
"audio-language"
);
if
(
lang
==
NULL
)
lang
=
strdup
(
b_empty_if_na
?
""
:
"-"
);
INSERT_STRING
(
lang
);
break
;
}
case
'P'
:
if
(
p_input
)
{
snprintf
(
buf
,
10
,
"%2.1lf"
,
var_GetFloat
(
p_input
,
"position"
)
*
100
.
);
}
else
{
snprintf
(
buf
,
10
,
b_empty_if_na
?
""
:
"--.-%%"
);
}
INSERT_STRING_NO_FREE
(
buf
);
break
;
case
'R'
:
...
...
@@ -770,14 +726,12 @@ char *str_format_meta( playlist_t *p_object, const char *string )
break
;
case
'U'
:
if
(
p_item
)
{
INSERT_STRING
(
input_item_GetPublisher
(
p_item
)
);
}
break
;
case
'V'
:
{
float
vol
=
playlist_VolumeGet
(
p_object
);
if
(
vol
>=
0
.
)
if
(
vol
>=
0
.
f
)
{
snprintf
(
buf
,
10
,
"%ld"
,
lroundf
(
vol
*
AOUT_VOLUME_DEFAULT
)
);
...
...
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