OpenCV não salva o vídeo

Eu estou usando o seguinte código para ler um vídeo do arquivo, aplicar o algoritmo de borda inteligente e gravar o vídeo modificado em um arquivo. O código compila e funciona perfeitamente. Mas o vídeo não está escrito! Estou completamente confuso. Por favor, me diga qual é o erro. O arquivo não é criado de jeito nenhum! SO: Ubuntu 12.10

Código para gravar no arquivo de saída

Abrindo o arquivo de saída

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?
}

Escrevendo o quadro

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

E há um método de execução separado que executa esses

questionAnswers(3)

yourAnswerToTheQuestion