[mythtv-commits] Ticket #10868: Nuvexport is failing on an uninitialised value error

MythTV noreply at mythtv.org
Wed Jun 27 15:18:46 UTC 2012


#10868: Nuvexport is failing on an uninitialised value error
------------------------------------+------------------------
     Reporter:  anothersname@…      |      Owner:  xris
         Type:  Bug Report - Crash  |     Status:  new
     Priority:  blocker             |  Milestone:  unknown
    Component:  Apps - Nuvexport    |    Version:  0.25-fixes
     Severity:  high                |   Keywords:
Ticket locked:  0                   |
------------------------------------+------------------------
 Running Nuvexport .25 fixes on a Linux Mint 13 Mate 64 bit server.

 Installed Nuvexport from the .25 fixes branch.

 While trying to process any files getting the following error.

 -----------------------------------------------
 Use of uninitialized value $info{"video_type"} in string eq at
 /usr/share/perl5/MythTV/Recording.pm line 327, <STDIN> line 2.
 Stream type 'lavfpref' is not an mpeg, and will
 not work with this program.

 Cleaning up temp files.
 -----------------------------------------------

 I'm not a perl coder but looking at the code it looked to me like it could
 be the output produced by mplayer as in the appropriate line it outputs
 MPG2 not MPEG2

 -----------------------------------------------
 [lavf] stream 2: audio (mp3), -aid 1, -alang eng
 ID_SUBTITLE_ID=0
 ID_SID_0_LANG=eng
 [lavf] stream 3: subtitle (dvbsub), -sid 0, -slang eng
 LAVF: Program 1
 PROGRAM_ID=1
 LAVF: 2 audio and 1 video streams found
 LAVF: build 3478528
 VIDEO:  [MPG2]  704x576  0bpp  25.000 fps  15000.0 kbps (1831.1 kbyte/s)
 [V] filefmt:42  fourcc:0x3247504D  size:704x576  fps:25.000  ftime:=0.0400
 Load subtitles in /mnt/mythfifofum/
 ----------------------------------------------------

 Whereas the perl code at that line is looking for MPEG[12]

 ----------------------------------------------------

 # First, we check for the existence of  an mpeg info program
         my $program = find_program('mplayer');
     # Nothing found?  Die
         die "You need mplayer to use this script on mpeg-based files.\n\n"
 unless ($program);
     # Grab the info we want from mplayer (go uber-verbose to override
 --really-quiet)
         my $idargs = "-v -v -v -v -nolirc -nojoystick -vo null -ao null
 -frames 0 -identify";
         my $data = `$program $idargs '$file' 2>/dev/null`;
         study $data;
         ($info{'video_type'})            = $data =~
 m/^VIDEO:?\s*(MPEG[12]|H264)/m;
         ($info{'width'})                 = $data =~
 m/^ID_VIDEO_WIDTH=0*([1-9]\d*)/m;
         ($info{'height'})                = $data =~
 m/^ID_VIDEO_HEIGHT=0*([1-9]\d*)/m;
         ($info{'fps'})                   = $data =~
 m/^ID_VIDEO_FPS=0*([1-9]\d*(?:\.\d+)?)/m;
         ($info{'audio_sample_rate'})     = $data =~
 m/^ID_AUDIO_RATE=0*([1-9]\d*)/m;
         ($info{'audio_bitrate'})         = $data =~
 m/^ID_AUDIO_BITRATE=0*([1-9]\d*)/m;
         ($info{'audio_bits_per_sample'}) = $data =~
 m/^AUDIO:.+?ch,\s*[su](8|16)/mi;
         ($info{'audio_channels'})        = $data =~
 m/^ID_AUDIO_NCH=0*([1-9]\d*)/m;
 -------------------------------------------------------------------

 So I modified the script to look for MPG2 rather then MPEG[12] and still
 get the same error.

-- 
Ticket URL: <http://code.mythtv.org/trac/ticket/10868>
MythTV <http://code.mythtv.org/trac>
MythTV Media Center


More information about the mythtv-commits mailing list