Lines Matching defs:ass
48 ASSContext *ass = s->priv_data;
67 ass->trailer_size = par->extradata_size - header_size;
68 if (ass->trailer_size)
69 ass->trailer = trailer;
75 ass->ssa_mode = !strstr(par->extradata, "\n[V4+ Styles]");
78 ass->ssa_mode ? "Marked" : "Layer");
87 ASSContext *ass = s->priv_data;
88 DialogueLine *dialogue = ass->dialogue_cache;
90 while (dialogue && (dialogue->readorder == ass->expected_readorder || force)) {
92 if (dialogue->readorder != ass->expected_readorder) {
94 ass->expected_readorder, dialogue->readorder);
95 ass->expected_readorder = dialogue->readorder;
98 if (dialogue == ass->last_added_dialogue)
99 ass->last_added_dialogue = next;
104 dialogue = ass->dialogue_cache = next;
105 ass->expected_readorder++;
108 ass->cache_size -= n;
111 n, ass->cache_size, ass->expected_readorder);
114 static void insert_dialogue(ASSContext *ass, DialogueLine *dialogue)
119 if (ass->last_added_dialogue) {
120 for (cur = ass->last_added_dialogue; cur; cur = cur->next) {
130 next = ass->dialogue_cache;
131 for (cur = next; cur != ass->last_added_dialogue; cur = cur->next) {
143 dialogue->prev = ass->dialogue_cache;
144 ass->dialogue_cache = dialogue;
150 ass->cache_size++;
151 ass->last_added_dialogue = dialogue;
156 ASSContext *ass = s->priv_data;
170 if (dialogue->readorder < ass->expected_readorder)
176 if (ass->ssa_mode && !strncmp(p, "Marked=", 7))
190 ass->ssa_mode ? "Marked=" : "",
196 insert_dialogue(ass, dialogue);
197 purge_dialogues(s, ass->ignore_readorder);
204 ASSContext *ass = s->priv_data;
208 if (ass->trailer) {
209 avio_write(s->pb, ass->trailer, ass->trailer_size);
223 .class_name = "ass muxer",
230 .name = "ass",
232 .mime_type = "text/x-ass",
233 .extensions = "ass,ssa",