Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
F
ffmpeg.wasm-core
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Linshizhi
ffmpeg.wasm-core
Commits
ae437c7c
Commit
ae437c7c
authored
Oct 31, 2014
by
Rodger Combs
Committed by
Clément Bœsch
Nov 01, 2014
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
avformat/assenc: Add ignore_gaps option
Signed-off-by:
Clément Bœsch
<
u@pkh.me
>
parent
ae6118de
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
21 additions
and
2 deletions
+21
-2
assenc.c
libavformat/assenc.c
+20
-1
version.h
libavformat/version.h
+1
-1
No files found.
libavformat/assenc.c
View file @
ae437c7c
...
...
@@ -23,6 +23,8 @@
#include "avformat.h"
#include "internal.h"
#include "libavutil/opt.h"
typedef
struct
DialogueLine
{
int
readorder
;
char
*
line
;
...
...
@@ -30,12 +32,14 @@ typedef struct DialogueLine {
}
DialogueLine
;
typedef
struct
ASSContext
{
const
AVClass
*
class
;
int
write_ts
;
// 0: ssa (timing in payload), 1: ass (matroska like)
int
expected_readorder
;
DialogueLine
*
dialogue_cache
;
DialogueLine
*
last_added_dialogue
;
int
cache_size
;
int
ssa_mode
;
int
ignore_readorder
;
}
ASSContext
;
static
int
write_header
(
AVFormatContext
*
s
)
...
...
@@ -178,7 +182,7 @@ static int write_packet(AVFormatContext *s, AVPacket *pkt)
return
AVERROR
(
ENOMEM
);
}
insert_dialogue
(
ass
,
dialogue
);
purge_dialogues
(
s
,
0
);
purge_dialogues
(
s
,
ass
->
ignore_readorder
);
}
else
{
avio_write
(
s
->
pb
,
pkt
->
data
,
pkt
->
size
);
}
...
...
@@ -192,6 +196,20 @@ static int write_trailer(AVFormatContext *s)
return
0
;
}
#define OFFSET(x) offsetof(ASSContext, x)
#define E AV_OPT_FLAG_ENCODING_PARAM
static
const
AVOption
options
[]
=
{
{
"ignore_readorder"
,
"write events immediately, even if they're out-of-order"
,
OFFSET
(
ignore_readorder
),
AV_OPT_TYPE_INT
,
{.
i64
=
0
},
0
,
1
,
E
},
{
NULL
},
};
static
const
AVClass
ass_class
=
{
.
class_name
=
"ass muxer"
,
.
item_name
=
av_default_item_name
,
.
option
=
options
,
.
version
=
LIBAVUTIL_VERSION_INT
,
};
AVOutputFormat
ff_ass_muxer
=
{
.
name
=
"ass"
,
.
long_name
=
NULL_IF_CONFIG_SMALL
(
"SSA (SubStation Alpha) subtitle"
),
...
...
@@ -203,4 +221,5 @@ AVOutputFormat ff_ass_muxer = {
.
write_packet
=
write_packet
,
.
write_trailer
=
write_trailer
,
.
flags
=
AVFMT_GLOBALHEADER
|
AVFMT_NOTIMESTAMPS
|
AVFMT_TS_NONSTRICT
,
.
priv_class
=
&
ass_class
,
};
libavformat/version.h
View file @
ae437c7c
...
...
@@ -31,7 +31,7 @@
#define LIBAVFORMAT_VERSION_MAJOR 56
#define LIBAVFORMAT_VERSION_MINOR 11
#define LIBAVFORMAT_VERSION_MICRO 10
1
#define LIBAVFORMAT_VERSION_MICRO 10
2
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
LIBAVFORMAT_VERSION_MINOR, \
...
...
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