Ticket #11909: ringbuffer.diff

File ringbuffer.diff, 2.9 KB (added by JYA, 11 years ago)

small patch to easily test the download using Qt

  • mythtv/libs/libmythtv/ringbuffer.cpp

    diff --git a/mythtv/libs/libmythtv/ringbuffer.cpp b/mythtv/libs/libmythtv/ringbuffer.cpp
    index 2d55352..8046965 100644
    a b  
    1414#include <QFile>
    1515#include <QDateTime>
    1616#include <QReadLocker>
     17#include <QEventLoop>
     18#include <QNetworkAccessManager>
     19#include <QNetworkRequest>
     20#include <QNetworkReply>
    1721
    1822#include "threadedfilewriter.h"
    1923#include "fileringbuffer.h"
    RingBuffer *RingBuffer::Create( 
    124128
    125129    if (httpurl)
    126130    {
     131        QNetworkAccessManager nm;
     132        //    QNetworkRequest request(QUrl("http://www.youtube.com/api/manifest/hls_variant/signature/704B0C491C9030488A19516970695CA0004B3663.08AD3BE0B00AC439E1B49AE896E9A7D214C1D762/upn/GkYPacD0XrU/key/yt1/ip/2001%3A470%3A36%3Ab1d%3A4890%3Adb63%3A698a%3Ad38/fexp/907724%2C914504%2C939111%2C915700%2C916611%2C901454%2C924616%2C924610%2C907231/sparams/id%2Cip%2Cipbits%2Cplaylist_type%2Cpmbypass%2Csource%2Cexpire/source/youtube/playlist_type/DVR/ipbits/0/sver/3/pmbypass/yes/expire/1381932962/id/d1a6296c9acfc83a/file/index.m3u8?cpn=YHVqJe0Oqx9Ec9FD&dnc=1&ibw=701401"));
     133        QNetworkRequest request(QUrl("http://www.youtube.com/api/manifest/hls_variant/pmbypass/yes/signature/B4C6C29D7C7F39F6D0A14C8FCA341E961B424E16.4ADBF6319A5C8B427F0A7101791208E56F476F96/id/d1a6296c9acfc83a/sparams/id%2Cip%2Cipbits%2Cplaylist_type%2Cpmbypass%2Csource%2Cexpire/source/youtube/sver/3/fexp/907724%2C914504%2C939111%2C915700%2C916611%2C914004%2C924616%2C924610%2C907231/ip/2001%3A470%3A36%3Ab1d%3A4890%3Adb63%3A698a%3Ad38/key/yt1/playlist_type/DVR/upn/wySlwlStqlA/ipbits/0/expire/1381990562/file/index.m3u8?cpn=w6KhEy3g4jF_9Nzw&dnc=1&ibw=701401"));
     134        //    QNetworkRequest request(QUrl("http://htpc.avenard.org/power/power"));
     135
     136        request.setRawHeader( "User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.69 Safari/537.36" );
     137        request.setRawHeader( "charset", "utf-8" );
     138        request.setRawHeader( "Connection", "keep-alive" );
     139
     140        QNetworkReply *reply= nm.get(request);
     141        QEventLoop loop;
     142        connect(reply, SIGNAL(finished()),&loop, SLOT(quit()));
     143        loop.exec();
     144
     145
     146        QByteArray buffer;
     147       
     148        buffer = reply->readAll();
     149        const char *content = buffer.constData();
     150
     151        delete reply;
     152
    127153        if (HLSRingBuffer::TestForHTTPLiveStreaming(lfilename))
    128154        {
    129155            return new HLSRingBuffer(lfilename);
  • mythtv/libs/libmythtv/ringbuffer.h

    diff --git a/mythtv/libs/libmythtv/ringbuffer.h b/mythtv/libs/libmythtv/ringbuffer.h
    index bb53944..a05ca57 100644
    a b enum RingBufferType 
    4242    kRingBuffer_MHEG
    4343};
    4444
    45 class MTV_PUBLIC RingBuffer : protected MThread
     45class MTV_PUBLIC RingBuffer : public QObject, protected MThread
    4646{
     47    Q_OBJECT
     48
    4749    friend class ICRingBuffer;
    4850
    4951  public: