[mythtv-commits] mythtv commit: r13510 by cpinkham

mythtv at cvs.mythtv.org mythtv at cvs.mythtv.org
Sun May 27 18:39:33 UTC 2007


      Author: cpinkham
        Date: 2007-05-27 18:39:33 +0000 (Sun, 27 May 2007)
New Revision: 13510
   Changeset: http://cvs.mythtv.org/trac/changeset/13510

Modified:

   trunk/mythtv/programs/mythtranscode/transcode.cpp

Log:

Fix the lossy side of mythtranscode to convert over audio packets one-for-one
in the output when encoding.  Previously if a second audio packet came in
while another was still in the buffer, they both would get encoded in a single
packet in the output.  The Lame decoder appears to handle this fine, but
libavcodec does not.  The guys on ffmpeg-devel have said we shouldn't have 2
MP3 frames in the same audio packet, so this patch fixes mythtranscode so
it doesn't combine the two.

This problem manifests itself if you transcode a file to .nuv using
mythtranscode and later tried to use another libavcodec program to transcode
it again.  libavcodec would ignore the second frame of audio in the packet
and your audio would play fast or skip depending on the player.

This will not fix old recordings, the fix for that is in libavcodec which I
will commit separately.  I am waiting on the guys at ffmpeg-devel for a little
guidance in submitting a patch upstream to them, in case they want to solve
the problem differently than I have.  In order to use another libavcodec
program to transcode one of these 'broken' nuv files, upstream will have to
be fixed.  I am going to fix our copy of libavcodec because I have another
patch related to #2972 that uses libavcodec for decoding mp3.

References #2972.






More information about the mythtv-commits mailing list