Mythexport doesn't call ffmpeg for OTG exports

Bug #647914 reported by Steve Switzer
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MythExport
Fix Released
Undecided
Unassigned
mythexport (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Binary package hint: mythexport

After selecting a recording for an OTG (On The Go) export, mythexport processes the request, but never calls ffmpeg. This is because of a but in the code around line 340:

    foreach (@params){

        if ($_ =~ m/starttime/) {
            $starttime = (split(/\=/,$_))[1];
        }
        elsif ($_ =~ m/chanid/) {
            $chanid = (split(/\=/,$_))[1];
        }
        elsif ($_ =~ m/config/) {
            $block = (split(/\=/,$_))[1];
        }
# elsif ($_ =~ m/otg/) {
# $block = (split(/\=/,$_))[1];
# }
    }

I commented out the last elsif to correct the issue, however this may cause a problem elsewhere, since I don't know what the original intent for parsing the value of otg was. With these three lines uncommented, $block is then set to "true", not the name of the configuration to use. As such, several lines just below this block of code fail to retrieve parameters from the config file, including the following:

my $args = $export_cfg->param("$block.ffmpegArgs") unless ref $export_cfg->param("$block.ffmpegArgs") eq 'ARRAY';

Since the code ends up looking for "true.ffmpegArgs" instead of "Steve_Podcast.ffmpegArgs", $args is empty. This causes the @args array to be blank and the foreach loop around line 485 is never entered.

Perhaps some extra debug code should be added to exit earlier when parsing the config fails?

NOTE: my line numbers are estimates, since I added several "logdebug" lines while tracking this down.

Revision history for this message
Steve Switzer (steve-switzer) wrote :

--- /usr/bin/mythexport-daemon 2010-04-14 21:20:42.000000000 -0400
+++ /usr/bin/mythexport-daemon.647914 2010-09-26 02:18:57.862487540 -0400
@@ -335,9 +335,9 @@
         elsif ($_ =~ m/config/) {
             $block = (split(/\=/,$_))[1];
         }
- elsif ($_ =~ m/otg/) {
- $block = (split(/\=/,$_))[1];
- }
+# elsif ($_ =~ m/otg/) {
+# $block = (split(/\=/,$_))[1];
+# }
     }

     my $export_cfg = new Config::Simple();

Revision history for this message
rhpot1991 (rhpot1991) wrote :

This one was already fixed in trunk, the code section should look something like this:
elsif ($_ =~ m/otg/) {
    $otg = (split(/\=/,$_))[1];
}

I will push this fix along with some of the others to the testing ppa once I have verified them.

Changed in mythexport (Ubuntu):
status: New → Fix Released
Changed in mythexport:
status: New → Fix Released
Revision history for this message
rhpot1991 (rhpot1991) wrote :

This was fixed in revision 85: http://bazaar.launchpad.net/~mythbuntu/mythexport/trunk/revision/85

And released into Maverick as mythexport 2.2.1-0ubuntu1

Revision history for this message
Steve Switzer (steve-switzer) wrote : Re: [Bug 647914] Re: Mythexport doesn't call ffmpeg for OTG exports

Awesome, can you share the ppa, please?

Steve

Revision history for this message
Steve Switzer (steve-switzer) wrote :

I nominate the fix for backporting...

On Mon, 2010-09-27 at 21:12 +0000, John Baab wrote:

> This was fixed in revision 85:
> http://bazaar.launchpad.net/~mythbuntu/mythexport/trunk/revision/85
>
> And released into Maverick as mythexport 2.2.1-0ubuntu1
>

Revision history for this message
rhpot1991 (rhpot1991) wrote :

I have pushed the fix for this bug to the Mythbuntu Testing PPA:
https://launchpad.net/~mythbuntu/+archive/testing

Please leave any feedback if you are able to test it.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.