mirror of
https://github.com/zoriya/Kyoo.Transcoder.git
synced 2025-12-06 06:26:11 +00:00
Reworking subtitles extraction paths
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -6,3 +6,5 @@ buildOSX/*
|
|||||||
tests/*.o
|
tests/*.o
|
||||||
tests/ts
|
tests/ts
|
||||||
tests/*/*
|
tests/*/*
|
||||||
|
.cache/
|
||||||
|
compile_commands.json
|
||||||
|
|||||||
@@ -13,32 +13,28 @@
|
|||||||
// @return -1 on error, 1 if track has already been extracted, 0 if the track does not exist.
|
// @return -1 on error, 1 if track has already been extracted, 0 if the track does not exist.
|
||||||
int create_out_path(stream *track, const char *out_path, int track_id)
|
int create_out_path(stream *track, const char *out_path, int track_id)
|
||||||
{
|
{
|
||||||
char *folder_path;
|
|
||||||
|
|
||||||
asprintf(&folder_path, "%s/Subtitles/%s", out_path, track->language ? track->language : "und");
|
|
||||||
if (path_mkdir_p(folder_path, 0775))
|
|
||||||
return -2;
|
|
||||||
char *extension = get_extension_from_codec(track->codec);
|
|
||||||
char *file_name = path_getfilename(track->path);
|
char *file_name = path_getfilename(track->path);
|
||||||
|
char *extension = get_extension_from_codec(track->codec);
|
||||||
|
char identifier[20];
|
||||||
|
|
||||||
if (!extension || !file_name) {
|
if (!extension || !file_name) {
|
||||||
free(folder_path);
|
|
||||||
free(file_name);
|
free(file_name);
|
||||||
return -2;
|
return -2;
|
||||||
}
|
}
|
||||||
free(track->path);
|
free(track->path);
|
||||||
|
|
||||||
char identifier[8];
|
if (!track->language || !strcmp(track->language, "und"))
|
||||||
if (!track->language)
|
snprintf(identifier, sizeof(identifier), "und-%d", track_id);
|
||||||
snprintf(identifier, 8, "%d", track_id);
|
asprintf(
|
||||||
asprintf(&track->path, "%s/%s.%s%s%s%s",
|
&track->path,
|
||||||
folder_path,
|
"%s/%s.%s%s%s%s",
|
||||||
file_name,
|
out_path,
|
||||||
track->language ? track->language : identifier,
|
file_name,
|
||||||
track->is_default ? ".default" : "",
|
track->language ? track->language : identifier,
|
||||||
track->is_forced ? ".forced" : "",
|
track->is_default ? ".default" : "",
|
||||||
extension);
|
track->is_forced ? ".forced" : "",
|
||||||
free(folder_path);
|
extension
|
||||||
|
);
|
||||||
free(file_name);
|
free(file_name);
|
||||||
if (!track->path)
|
if (!track->path)
|
||||||
return -2;
|
return -2;
|
||||||
@@ -146,4 +142,4 @@ void extract_chapters(AVFormatContext *ctx, const char *out_path)
|
|||||||
}
|
}
|
||||||
fclose(file);
|
fclose(file);
|
||||||
free(path);
|
free(path);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user