diff mbox

[FFmpeg-devel,5/9] avformat/matroskaenc: Use more appropriate function name

Message ID 20191015111737.14246-5-andreas.rheinhardt@gmail.com
State Accepted
Commit c486fe206eac9260d786120aa500f51cb3b4085d
Headers show

Commit Message

Andreas Rheinhardt Oct. 15, 2019, 11:17 a.m. UTC
mkv_start_new_cluster() actually didn't start a new cluster, but ended
the old one instead and emitted a debug message that it had started a
new cluster. This has been changed: The debug message has been moved to
the place that really starts a new cluster and the function has been
renamed to mkv_end_cluster().

Furthermore, without this debug message the function can be used for
flushing.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
---
 libavformat/matroskaenc.c | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

Comments

James Almer Oct. 22, 2019, 12:17 a.m. UTC | #1
On 10/15/2019 8:17 AM, Andreas Rheinhardt wrote:
> mkv_start_new_cluster() actually didn't start a new cluster, but ended
> the old one instead and emitted a debug message that it had started a
> new cluster. This has been changed: The debug message has been moved to
> the place that really starts a new cluster and the function has been
> renamed to mkv_end_cluster().
> 
> Furthermore, without this debug message the function can be used for
> flushing.
> 
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
> ---
>  libavformat/matroskaenc.c | 18 ++++++++----------
>  1 file changed, 8 insertions(+), 10 deletions(-)
> 
> diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
> index eb8977ff9c..0d21ab055a 100644
> --- a/libavformat/matroskaenc.c
> +++ b/libavformat/matroskaenc.c
> @@ -2244,16 +2244,12 @@ static int mkv_write_vtt_blocks(AVFormatContext *s, AVIOContext *pb, AVPacket *p
>      return pkt->duration;
>  }
>  
> -static void mkv_start_new_cluster(AVFormatContext *s, AVPacket *pkt)
> +static void mkv_end_cluster(AVFormatContext *s)
>  {
>      MatroskaMuxContext *mkv = s->priv_data;
>  
>      end_ebml_master_crc32(s->pb, &mkv->cluster_bc, mkv);
>      mkv->cluster_pos = -1;
> -    av_log(s, AV_LOG_DEBUG,
> -           "Starting new cluster at offset %" PRIu64 " bytes, "
> -           "pts %" PRIu64 ", dts %" PRIu64 "\n",
> -           avio_tell(s->pb), pkt->pts, pkt->dts);
>      avio_flush(s->pb);
>  }
>  
> @@ -2387,8 +2383,8 @@ static int mkv_write_packet_internal(AVFormatContext *s, AVPacket *pkt, int add_
>      if (mkv->cluster_pos != -1) {
>          int64_t cluster_time = ts - mkv->cluster_pts;
>          if ((int16_t)cluster_time != cluster_time) {
> +            mkv_end_cluster(s);
>              av_log(s, AV_LOG_WARNING, "Starting new cluster due to timestamp\n");
> -            mkv_start_new_cluster(s, pkt);
>          }
>      }
>  
> @@ -2399,6 +2395,10 @@ static int mkv_write_packet_internal(AVFormatContext *s, AVPacket *pkt, int add_
>              return ret;
>          put_ebml_uint(mkv->cluster_bc, MATROSKA_ID_CLUSTERTIMECODE, FFMAX(0, ts));
>          mkv->cluster_pts = FFMAX(0, ts);
> +        av_log(s, AV_LOG_DEBUG,
> +               "Starting new cluster with timestamp "
> +               "%" PRId64 " at offset %" PRId64 " bytes\n",
> +               mkv->cluster_pts, mkv->cluster_pos);
>      }
>      pb = mkv->cluster_bc;
>  
> @@ -2491,7 +2491,7 @@ static int mkv_write_packet(AVFormatContext *s, AVPacket *pkt)
>      }
>  
>      if (mkv->cluster_pos != -1 && start_new_cluster) {
> -        mkv_start_new_cluster(s, pkt);
> +        mkv_end_cluster(s);
>      }
>  
>      if (!mkv->cluster_pos)
> @@ -2528,12 +2528,10 @@ static int mkv_write_flush_packet(AVFormatContext *s, AVPacket *pkt)
>  
>      if (!pkt) {
>          if (mkv->cluster_pos != -1) {
> -            end_ebml_master_crc32(s->pb, &mkv->cluster_bc, mkv);
> -            mkv->cluster_pos = -1;
> +            mkv_end_cluster(s);
>              av_log(s, AV_LOG_DEBUG,
>                     "Flushing cluster at offset %" PRIu64 " bytes\n",
>                     avio_tell(s->pb));
> -            avio_flush(s->pb);
>          }
>          return 1;
>      }

Applied.
diff mbox

Patch

diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
index eb8977ff9c..0d21ab055a 100644
--- a/libavformat/matroskaenc.c
+++ b/libavformat/matroskaenc.c
@@ -2244,16 +2244,12 @@  static int mkv_write_vtt_blocks(AVFormatContext *s, AVIOContext *pb, AVPacket *p
     return pkt->duration;
 }
 
-static void mkv_start_new_cluster(AVFormatContext *s, AVPacket *pkt)
+static void mkv_end_cluster(AVFormatContext *s)
 {
     MatroskaMuxContext *mkv = s->priv_data;
 
     end_ebml_master_crc32(s->pb, &mkv->cluster_bc, mkv);
     mkv->cluster_pos = -1;
-    av_log(s, AV_LOG_DEBUG,
-           "Starting new cluster at offset %" PRIu64 " bytes, "
-           "pts %" PRIu64 ", dts %" PRIu64 "\n",
-           avio_tell(s->pb), pkt->pts, pkt->dts);
     avio_flush(s->pb);
 }
 
@@ -2387,8 +2383,8 @@  static int mkv_write_packet_internal(AVFormatContext *s, AVPacket *pkt, int add_
     if (mkv->cluster_pos != -1) {
         int64_t cluster_time = ts - mkv->cluster_pts;
         if ((int16_t)cluster_time != cluster_time) {
+            mkv_end_cluster(s);
             av_log(s, AV_LOG_WARNING, "Starting new cluster due to timestamp\n");
-            mkv_start_new_cluster(s, pkt);
         }
     }
 
@@ -2399,6 +2395,10 @@  static int mkv_write_packet_internal(AVFormatContext *s, AVPacket *pkt, int add_
             return ret;
         put_ebml_uint(mkv->cluster_bc, MATROSKA_ID_CLUSTERTIMECODE, FFMAX(0, ts));
         mkv->cluster_pts = FFMAX(0, ts);
+        av_log(s, AV_LOG_DEBUG,
+               "Starting new cluster with timestamp "
+               "%" PRId64 " at offset %" PRId64 " bytes\n",
+               mkv->cluster_pts, mkv->cluster_pos);
     }
     pb = mkv->cluster_bc;
 
@@ -2491,7 +2491,7 @@  static int mkv_write_packet(AVFormatContext *s, AVPacket *pkt)
     }
 
     if (mkv->cluster_pos != -1 && start_new_cluster) {
-        mkv_start_new_cluster(s, pkt);
+        mkv_end_cluster(s);
     }
 
     if (!mkv->cluster_pos)
@@ -2528,12 +2528,10 @@  static int mkv_write_flush_packet(AVFormatContext *s, AVPacket *pkt)
 
     if (!pkt) {
         if (mkv->cluster_pos != -1) {
-            end_ebml_master_crc32(s->pb, &mkv->cluster_bc, mkv);
-            mkv->cluster_pos = -1;
+            mkv_end_cluster(s);
             av_log(s, AV_LOG_DEBUG,
                    "Flushing cluster at offset %" PRIu64 " bytes\n",
                    avio_tell(s->pb));
-            avio_flush(s->pb);
         }
         return 1;
     }