| @@ -60,42 +60,41 @@ static int srt_write_packet(AVFormatContext *avf, AVPacket *pkt) | |||
| { | |||
| SRTContext *srt = avf->priv_data; | |||
| // TODO: reindent | |||
| int64_t s = pkt->pts, e, d = pkt->duration; | |||
| int size, x1 = -1, y1 = -1, x2 = -1, y2 = -1; | |||
| const uint8_t *p; | |||
| int64_t s = pkt->pts, e, d = pkt->duration; | |||
| int size, x1 = -1, y1 = -1, x2 = -1, y2 = -1; | |||
| const uint8_t *p; | |||
| p = av_packet_get_side_data(pkt, AV_PKT_DATA_SUBTITLE_POSITION, &size); | |||
| if (p && size == 16) { | |||
| x1 = AV_RL32(p ); | |||
| y1 = AV_RL32(p + 4); | |||
| x2 = AV_RL32(p + 8); | |||
| y2 = AV_RL32(p + 12); | |||
| } | |||
| p = av_packet_get_side_data(pkt, AV_PKT_DATA_SUBTITLE_POSITION, &size); | |||
| if (p && size == 16) { | |||
| x1 = AV_RL32(p ); | |||
| y1 = AV_RL32(p + 4); | |||
| x2 = AV_RL32(p + 8); | |||
| y2 = AV_RL32(p + 12); | |||
| } | |||
| #if FF_API_CONVERGENCE_DURATION | |||
| FF_DISABLE_DEPRECATION_WARNINGS | |||
| if (d <= 0) | |||
| /* For backward compatibility, fallback to convergence_duration. */ | |||
| d = pkt->convergence_duration; | |||
| if (d <= 0) | |||
| /* For backward compatibility, fallback to convergence_duration. */ | |||
| d = pkt->convergence_duration; | |||
| FF_ENABLE_DEPRECATION_WARNINGS | |||
| #endif | |||
| if (s == AV_NOPTS_VALUE || d < 0) { | |||
| av_log(avf, AV_LOG_WARNING, | |||
| "Insufficient timestamps in event number %d.\n", srt->index); | |||
| return 0; | |||
| } | |||
| e = s + d; | |||
| avio_printf(avf->pb, "%d\n%02d:%02d:%02d,%03d --> %02d:%02d:%02d,%03d", | |||
| srt->index, | |||
| (int)(s / 3600000), (int)(s / 60000) % 60, | |||
| (int)(s / 1000) % 60, (int)(s % 1000), | |||
| (int)(e / 3600000), (int)(e / 60000) % 60, | |||
| (int)(e / 1000) % 60, (int)(e % 1000)); | |||
| if (p) | |||
| avio_printf(avf->pb, " X1:%03d X2:%03d Y1:%03d Y2:%03d", | |||
| x1, x2, y1, y2); | |||
| avio_printf(avf->pb, "\n"); | |||
| if (s == AV_NOPTS_VALUE || d < 0) { | |||
| av_log(avf, AV_LOG_WARNING, | |||
| "Insufficient timestamps in event number %d.\n", srt->index); | |||
| return 0; | |||
| } | |||
| e = s + d; | |||
| avio_printf(avf->pb, "%d\n%02d:%02d:%02d,%03d --> %02d:%02d:%02d,%03d", | |||
| srt->index, | |||
| (int)(s / 3600000), (int)(s / 60000) % 60, | |||
| (int)(s / 1000) % 60, (int)(s % 1000), | |||
| (int)(e / 3600000), (int)(e / 60000) % 60, | |||
| (int)(e / 1000) % 60, (int)(e % 1000)); | |||
| if (p) | |||
| avio_printf(avf->pb, " X1:%03d X2:%03d Y1:%03d Y2:%03d", | |||
| x1, x2, y1, y2); | |||
| avio_printf(avf->pb, "\n"); | |||
| avio_write(avf->pb, pkt->data, pkt->size); | |||
| avio_write(avf->pb, "\n\n", 2); | |||