[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#890889: stretch-pu: package yorick-av/0.0.4-1



Control: tags -1 - moreinfo
Control: thanks

Le 03/03/2018 à 15:31, Adam D. Barratt a écrit :
Control: tags -1 + moreinfo

On Tue, 2018-02-20 at 12:01 +0100, Thibaut Paumard wrote:
yorick-av has an important bug (important impact on usability, does
not make
the package totally useless) that I only notice now while working on
porting
this package to the upcoming FFmpeg in experimental:

https://bugs.debian.org/890880

The fix is one-line in the C code (at two places).

While I am working on more details for unstable, I would like to be
given the
opportunity to upload this one-liner fix to stable.


I'm afraid that we'd want the issue fixed in unstable first.


Dear Adam,

Thanks for your consideration.

The issue is now fixed in unstable, together with another bug which, although slightly less severe, also produces corrupted output files:

https://bugs.debian.org/892176

I propose to upload the fix to both bugs to stable and attach the corresponding source debdiff. I assume I would need to build and upload with -v0.0.4-1?

Kind regards, Thibaut.


diff -Nru yorick-av-0.0.4/debian/changelog yorick-av-0.0.4/debian/changelog
--- yorick-av-0.0.4/debian/changelog	2016-11-30 11:57:04.000000000 +0100
+++ yorick-av-0.0.4/debian/changelog	2018-03-06 14:56:15.000000000 +0100
@@ -1,3 +1,18 @@
+yorick-av (0.0.4-2~deb9u1) stable; urgency=low
+
+  * Rebuild for stretch.
+
+ -- Thibaut Paumard <thibaut@debian.org>  Tue, 06 Mar 2018 14:56:15 +0100
+
+yorick-av (0.0.4-2) unstable; urgency=low
+
+  * Bug fix: "AVPacket timestamps need to be rescaled for most codecs"
+    (Closes: #890880).
+  * Bug fix: "Need to set VBV buffer size for MPEG1/2 files", (Closes:
+    #892176).
+
+ -- Thibaut Paumard <thibaut@debian.org>  Tue, 06 Mar 2018 14:01:45 +0100
+
 yorick-av (0.0.4-1) unstable; urgency=low
 
   * New upstream release
diff -Nru yorick-av-0.0.4/debian/patches/rescale-ts yorick-av-0.0.4/debian/patches/rescale-ts
--- yorick-av-0.0.4/debian/patches/rescale-ts	1970-01-01 01:00:00.000000000 +0100
+++ yorick-av-0.0.4/debian/patches/rescale-ts	2018-02-20 11:35:07.000000000 +0100
@@ -0,0 +1,29 @@
+Description: Rescale frame timestamps
+ Without this, the timestamps are wrong with most codecs, making the
+ output garbage.
+Author: Thibaut Paumard <thibaut@debian.org>
+Origin: vendor
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=890880
+Forwarded: not-needed
+Applied-Upstream: ed6b754e03f280708991f579db42dca136431c35
+Last-Update: 2018-02-20
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/yav.c
++++ b/yav.c
+@@ -391,6 +391,7 @@
+     AVPacket pkt;
+     av_init_packet(&pkt);
+     pkt.flags |= AV_PKT_FLAG_KEY;
++    av_packet_rescale_ts(&pkt, c->time_base, obj->video_st->time_base);
+     pkt.stream_index = obj->video_st->index;
+     pkt.data= obj->video_outbuf;
+     // pkt.size= out_size;
+@@ -408,6 +409,7 @@
+     }
+     /* If size is zero, it means the image was buffered. */
+     if (!ret && got_packet && pkt.size) {
++      av_packet_rescale_ts(&pkt, c->time_base, obj->video_st->time_base);
+       pkt.stream_index = obj->video_st->index;
+       /* Write the compressed frame to the media file. */
+       ret = av_interleaved_write_frame(obj->oc, &pkt);
diff -Nru yorick-av-0.0.4/debian/patches/series yorick-av-0.0.4/debian/patches/series
--- yorick-av-0.0.4/debian/patches/series	2016-11-30 11:57:04.000000000 +0100
+++ yorick-av-0.0.4/debian/patches/series	2018-03-06 13:05:17.000000000 +0100
@@ -0,0 +1,2 @@
+rescale-ts
+vbv_buffer
diff -Nru yorick-av-0.0.4/debian/patches/vbv_buffer yorick-av-0.0.4/debian/patches/vbv_buffer
--- yorick-av-0.0.4/debian/patches/vbv_buffer	1970-01-01 01:00:00.000000000 +0100
+++ yorick-av-0.0.4/debian/patches/vbv_buffer	2018-03-06 13:56:28.000000000 +0100
@@ -0,0 +1,33 @@
+Description: Set VBV buffer size for MPEG1/2 files
+ FFmpeg emits warnings when producing MPEG1/2 files and the VBV buffer
+ size has not been set. The output files may then play sluggishly in
+ VLC. This backported patch sets a VBV buffer size sufficient to hold
+ one frame.
+Author: Thibaut Paumard <thibaut@debian.org>
+Origin: backport
+Bug-Debian: http://bugs.debian.org/892176
+Forwarded: not-needed
+Applied-Upstream: 0.0.5
+Last-Update: 2018-03-06 
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/yav.c
++++ b/yav.c
+@@ -259,6 +259,17 @@
+ void yav_opencodec(yav_ctxt *obj, unsigned int width, unsigned int height) {
+   obj->video_st->codec->width=width;
+   obj->video_st->codec->height=height;
++  if (obj->video_st->codec->codec_id == AV_CODEC_ID_MPEG1VIDEO ||
++      obj->video_st->codec->codec_id == AV_CODEC_ID_MPEG2VIDEO) {
++    AVCPBProperties *props;
++    props = (AVCPBProperties*) av_stream_new_side_data
++      (obj->video_st, AV_PKT_DATA_CPB_PROPERTIES, sizeof(*props));
++    props->buffer_size = width*height*4;
++    props->max_bitrate = 0;
++    props->min_bitrate = 0;
++    props->avg_bitrate = 0;
++    props->vbv_delay = UINT64_MAX;
++  }
+   av_dump_format(obj->oc, 0, obj->oc->filename, 1);
+ 
+   if (obj->video_st) {

Reply to: