From c2e4b064e7ccdc36b89fa1dece1a6511d24ba264 Mon Sep 17 00:00:00 2001 From: Lysine Date: Wed, 21 May 2014 13:33:50 +0800 Subject: [PATCH] msvc2013 --- .gitignore | 11 +++++++++++ BiliLocal.pro | 1 - src/Config.cpp | 4 ++-- src/Load.cpp | 12 ++++++------ src/Utils.cpp | 6 +++--- src/VPlayer.cpp | 40 ++++++++++++++++++++++++++++++---------- 6 files changed, 52 insertions(+), 22 deletions(-) diff --git a/.gitignore b/.gitignore index 30f57daa..ae88bce2 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,14 @@ *.user *.sh *.qm +build +debug +release +Win32 +GeneratedFiles +*.sln +*.sdf +*.suo +*.vcxproj +*.rc +*.filters \ No newline at end of file diff --git a/BiliLocal.pro b/BiliLocal.pro index 9be77327..51dc7dc7 100644 --- a/BiliLocal.pro +++ b/BiliLocal.pro @@ -52,7 +52,6 @@ LIBS += \ -lvlc \ -lvlccore \ -lswscale \ - -lavcodec \ -lavutil RESOURCES += \ diff --git a/src/Config.cpp b/src/Config.cpp index 9d23aa59..a71597da 100644 --- a/src/Config.cpp +++ b/src/Config.cpp @@ -738,7 +738,7 @@ Config::Config(QWidget *parent,int index): d->info->setAlignment(Qt::AlignCenter); d->info->setText(tr("waiting")); l->addWidget(d->info,0,3,Qt::AlignCenter); - auto loadValid=[d](){ + auto loadValid=[=](){ QString url=QString("https://secure.bilibili.tv/captcha?r=%1").arg(qrand()/(double)RAND_MAX); QNetworkReply *reply=d->manager->get(QNetworkRequest(url)); connect(reply,&QNetworkReply::finished,[=](){ @@ -799,7 +799,7 @@ Config::Config(QWidget *parent,int index): reply->deleteLater(); }); }; - auto setLogout=[d,setLogged](){ + auto setLogout=[=](){ d->click->setEnabled(false); QString url="https://secure.bilibili.tv/login?act=exit"; QNetworkReply *reply=d->manager->get(QNetworkRequest(url)); diff --git a/src/Load.cpp b/src/Load.cpp index fd663f9f..25177e83 100644 --- a/src/Load.cpp +++ b/src/Load.cpp @@ -46,7 +46,7 @@ Load::Load(QObject *parent): manager=new QNetworkAccessManager(this); Config::setManager(manager); connect(manager,&QNetworkAccessManager::finished,[this](QNetworkReply *reply){ - auto error=[this](int code=203){ + auto error=[this](int code){ if(code!=QNetworkReply::OperationCanceledError){ emit stateChanged(code); } @@ -119,7 +119,7 @@ Load::Load(QObject *parent): getReply(QNetworkRequest(QUrl(api.arg(id))),""); } else{ - error(); + error(203); } } } @@ -133,7 +133,7 @@ Load::Load(QObject *parent): emit stateChanged(Code); } else{ - error(); + error(203); } } else{ @@ -160,7 +160,7 @@ Load::Load(QObject *parent): getReply(QNetworkRequest(model->item(i)->data(Qt::UserRole).toUrl()),""); } else{ - error(); + error(203); } } } @@ -189,12 +189,12 @@ Load::Load(QObject *parent): getReply(QNetworkRequest(model->item(i)->data(Qt::UserRole).toUrl()),""); } else{ - error(); + error(203); } } } else{ - error(); + error(203); } } else{ diff --git a/src/Utils.cpp b/src/Utils.cpp index 9cb2f50b..f814e156 100644 --- a/src/Utils.cpp +++ b/src/Utils.cpp @@ -1,4 +1,4 @@ -/*======================================================================= +/*======================================================================= * * Copyright (C) 2013 Lysine. * @@ -346,7 +346,7 @@ QStringList Utils::getSuffix(int type,QString format) if(type&Video){ set<<"3g2"<<"3gp"<<"3gp2"<<"3gpp"<<"amv"<<"asf"<<"avi"<<"divx"<<"drc"<<"dv"<< "f4v"<<"flv"<<"gvi"<<"gxf"<<"iso"<< - "m1v"<<"m2v"<<"m2t"<<"m2ts"<<"m4v"<<"mkv"<<"mov"<< + "m1v"<<"m2t"<<"m2ts"<<"m2v"<<"m4v"<<"mkv"<<"mov"<< "mp2"<<"mp2v"<<"mp4"<<"mp4v"<<"mpe"<<"mpeg"<<"mpeg1"<< "mpeg2"<<"mpeg4"<<"mpg"<<"mpv2"<<"mts"<<"mtv"<<"mxf"<<"mxg"<<"nsv"<<"nuv"<< "ogg"<<"ogm"<<"ogv"<<"ogx"<<"ps"<< @@ -357,7 +357,7 @@ QStringList Utils::getSuffix(int type,QString format) int size=set.size(); set<<"3ga"<<"669"<<"a52"<<"aac"<<"ac3"<<"adt"<<"adts"<<"aif"<<"aifc"<<"aiff"<< "amr"<<"aob"<<"ape"<<"awb"<<"caf"<<"dts"<<"flac"<<"it"<<"kar"<< - "m4a"<<"m4p"<<"m5p"<<"mka"<<"mlp"<<"mod"<<"mpa"<<"mp1"<<"mp2"<<"mp3"<<"mpc"<<"mpga"<< + "m4a"<<"m4p"<<"m5p"<<"mka"<<"mlp"<<"mod"<<"mp1"<<"mp2"<<"mp3"<<"mpa"<<"mpc"<<"mpga"<< "oga"<<"ogg"<<"oma"<<"opus"<<"qcp"<<"ra"<<"rmi"<<"s3m"<<"spx"<<"thd"<<"tta"<< "voc"<<"vqf"<<"w64"<<"wav"<<"wma"<<"wv"<<"xa"<<"xm"; std::inplace_merge(set.begin(),set.begin()+size,set.end()); diff --git a/src/VPlayer.cpp b/src/VPlayer.cpp index 7214993a..513b10de 100644 --- a/src/VPlayer.cpp +++ b/src/VPlayer.cpp @@ -77,11 +77,11 @@ static AVPixelFormat getFormat(char *chroma) QString c=QString(chroma).toUpper(); if(!f.contains(c)){ if(c=="NV61"){ - strcpy(chroma,"NV16"); + memcpy(chroma,"NV16",4); } else if(c=="YV12"|| c=="IYUV"){ - strcpy(chroma,"I420"); + memcpy(chroma,"I420",4); } else if(c=="UYNV"|| c=="UYNY"|| @@ -91,7 +91,7 @@ static AVPixelFormat getFormat(char *chroma) c=="UYV1"|| c=="2VUY"|| c=="2VU1"){ - strcpy(chroma,"UYVY"); + memcpy(chroma,"UYVY",4); } else if(c=="VYUY"|| c=="YUYV"|| @@ -100,16 +100,31 @@ static AVPixelFormat getFormat(char *chroma) c=="YVYU"|| c=="Y211"|| c=="CYUV"){ - strcpy(chroma,"YUY2"); + memcpy(chroma,"YUY2",4); } else{ - strcpy(chroma,"RV32"); + memcpy(chroma,"RV32",4); } c=chroma; } return f[c]; } +int avpicture_alloc(AVPicture *picture,enum AVPixelFormat pix_fmt,int width,int height) +{ + int ret=av_image_alloc(picture->data,picture->linesize,width,height,pix_fmt,1); + if(ret<0){ + memset(picture,0,sizeof(AVPicture)); + return ret; + } + return 0; +} + +void avpicture_free(AVPicture *picture) +{ + av_free(picture->data[0]); +} + class RasterPlayer:public VPlayer { public: @@ -319,7 +334,7 @@ class OpenGLPlayer:public VPlayer,protected QOpenGLFunctions void setBuffer(char *chroma,unsigned *width,unsigned *height,unsigned *pitches,unsigned *lines) { - strcpy(chroma,"I420"); + memcpy(chroma,"I420",4); int w=*width,h=*height; inner=QSize(w,h); for(auto *iter:buffer){ @@ -487,11 +502,16 @@ VPlayer::VPlayer(QObject *parent): for(QJsonValue arg:Config::getValue("/Playing/Arguments")){ args.append(arg.toString().toUtf8()); } - const char *argv[args.size()]; - for(int i=0;i