Ticket #2115: 2115.patch

File 2115.patch, 2.3 KB (added by danielk, 14 years ago)

Updated patch

  • libs/libmythtv/NuppelVideoRecorder.cpp

     
    2828#include "recordingprofile.h"
    2929#include "tv_rec.h"
    3030#include "tv_play.h"
     31#include "bswap.h" // for WORDS_BIGENDIAN
    3132
    3233extern "C" {
    3334#include "vbitext/vbi.h"
     
    3637#include "videodev_myth.h"
    3738#include "go7007_myth.h"
    3839
    39 #ifdef WORDS_BIGENDIAN
    40 #include "bswap.h"
    41 #endif
    42 
    4340#ifndef MJPIOC_S_PARAMS
    4441#include "videodev_mjpeg.h"
    4542#endif
     
    30993096    lf = fnum;
    31003097}
    31013098
     3099static void bswap_16_buf(short int *buf, int buf_cnt, int audio_channels)
     3100{
     3101    for (int i = 0; i < audio_channels * buf_cnt; i++)
     3102        buf[i] = bswap_16(buf[i]);
     3103}
     3104
    31023105void NuppelVideoRecorder::WriteAudio(unsigned char *buf, int fnum, int timecode)
    31033106{
    31043107    struct rtframeheader frameheader;
     
    31533156        int gaplesssize = 0;
    31543157        int lameret = 0;
    31553158
     3159        int sample_cnt = audio_buffer_size / audio_bytes_per_sample;
     3160
     3161#ifdef WORDS_BIGENDIAN
     3162        bswap_16_buf((short int*) buf, sample_cnt, audio_channels);
     3163#endif
     3164
    31563165        if (audio_channels == 2)
    31573166        {
    3158             lameret = lame_encode_buffer_interleaved(gf, (short int *)buf,
    3159                                                      audio_buffer_size /
    3160                                                      audio_bytes_per_sample,
    3161                                                      (unsigned char *)mp3buf,
    3162                                                      mp3buf_size);
     3167            lameret = lame_encode_buffer_interleaved(
     3168                gf, (short int*) buf, sample_cnt,
     3169                (unsigned char*) mp3buf, mp3buf_size);
    31633170        }
    31643171        else
    31653172        {
    3166             lameret = lame_encode_buffer(gf, (short int *)buf, (short int *)buf,
    3167                                          audio_buffer_size /
    3168                                          audio_bytes_per_sample,
    3169                                          (unsigned char *)mp3buf,
    3170                                          mp3buf_size);
     3173            lameret = lame_encode_buffer(
     3174                gf, (short int*) buf, (short int*) buf, sample_cnt,
     3175                (unsigned char*) mp3buf, mp3buf_size);
    31713176        }
    31723177
    31733178        if (lameret < 0)