OpenCV no guarda el video

Estoy usando el siguiente código para leer un video del archivo, aplicar el algoritmo de Canny Edge y escribir el video modificado en un archivo. El código compila y funciona perfectamente. Pero, el video no está escrito! Estoy completamente confundido. Por favor, dime cuál es el error. El archivo no se crea en absoluto! SO: Ubuntu 12.10

Código para escribir en el archivo de salida.

Abriendo el archivo de salida

bool setOutput(const std::string &filename, int codec=0, double framerate=0.0, bool isColor=true) {

    outputFile= filename;
    extension.clear();

    if (framerate==0.0) 
        framerate= getFrameRate(); // same as input

    char c[4];
    // use same codec as input
    if (codec==0) { 
        codec= getCodec(c);
    }

    // Open output video
    return writer.open(outputFile, // filename
    codec, // codec to be used 
    framerate,      // frame rate of the video
    getFrameSize(), // frame size
    isColor);       // color video?
}

Escribiendo el marco

void writeNextFrame (Mat& frame)
{
    writer.write (frame);
}

Y hay un método de ejecución separado que ejecuta estos

Respuestas a la pregunta(3)

Su respuesta a la pregunta