Hi, i'am trying to create python interface to QtAV project https://github.com/wang-bin/QtAV (AvPlayer.h). Currently wrote this sip file, but after executing got this "sip: syntax error" and no other hint is provided.
Please help to parse this file, thank you. %Module AVPlayer %Import QtCore/QtCoremod.sip %Import QtGui/QtGuimod.sip namespace QtAV { %TypeHeaderCode #include <../src/QtAV/AVClock.h> #include <../src/QtAV/AVDemuxer.h> %End class AudioOutput; class AudioThread; class VideoThread; class AudioDecoder; class VideoDecoder; class VideoRenderer; class AVClock; class AVDemuxThread; class VideoCapture; class OSDFilter; class AVPlayer : QObject { public: explicit AVPlayer(QObject *parent = 0); ~AVPlayer(); //NOT const. This is the only way to access the clock. AVClock* masterClock(); void setFile(const QString& path); QString file() const; bool load(const QString& path); bool load(); bool isLoaded() const; qreal duration() const; //This function may be removed in the future. /* * default: [fmt: PNG, dir: capture, name: basename] * replace the existing capture; return the replaced one * set 0 will disable the capture */ VideoCapture* setVideoCapture(VideoCapture* cap); VideoCapture *videoCapture(); void setCaptureName(const QString& name);//TODO: remove. base name void setCaptureSaveDir(const QString& dir); //TODO: remove bool captureVideo(); OSDFilter* setOSDFilter(OSDFilter* osd); OSDFilter* osdFilter(); bool play(const QString& path); bool isPlaying() const; bool isPaused() const; //this will install the default EventFilter. To use customized filter, register after this VideoRenderer* setRenderer(VideoRenderer* renderer); VideoRenderer* renderer(); AudioOutput* audio(); void setMute(bool mute); bool isMute() const; /*only 1 event filter is available. the previous one will be removed. setPlayerEventFilter(0) will remove the event filter*/ void setPlayerEventFilter(QObject *obj); signals: void started(); void stopped(); public slots: void pause(bool p); void play(); //replay void stop(); void playNextFrame(); void seek(qreal pos); void seekForward(); void seekBackward(); void updateClock(qint64 msecs); //update AVClock's external clock protected slots: void resizeRenderer(const QSize& size); public: //original was protected, but SIP complained that classes must be public bool loaded; AVFormatContext *formatCtx; //changed when reading a packet AVCodecContext *aCodecCtx; //set once and not change AVCodecContext *vCodecCtx; //set once and not change QString path; QString capture_name; QString capture_dir; //the following things are required and must be setted not null AVDemuxer demuxer; AVDemuxThread *demuxer_thread; AVClock *clock; VideoRenderer *_renderer; //list? AudioOutput *_audio; AudioDecoder *audio_dec; VideoDecoder *video_dec; AudioThread *audio_thread; VideoThread *video_thread; //tODO: (un)register api QObject *event_filter; VideoCapture *video_capture; OSDFilter *osd; }; } //namespace QtAV
_______________________________________________ PyQt mailing list PyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt