mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-17 15:22:59 +01:00
Merge pull request #102164 from helsinki-systems/drop/skype-call-recorder
skype_call_recorder: drop
This commit is contained in:
commit
edce0de0d2
4 changed files with 1 additions and 178 deletions
|
@ -1,148 +0,0 @@
|
|||
From abd67f1d44eef81baf2e9729f95e002c4ecc7350 Mon Sep 17 00:00:00 2001
|
||||
From: jlh <jlh@gmx.ch>
|
||||
Date: Fri, 16 Oct 2009 17:40:54 +0200
|
||||
Subject: [PATCH] Rudimentary support for recording hosted conference calls
|
||||
|
||||
---
|
||||
call.cpp | 37 +++++++++++++++++++++++++++++++++++--
|
||||
call.h | 11 ++++++++++-
|
||||
2 files changed, 45 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/call.cpp b/call.cpp
|
||||
index c2b02f2..663c1c1 100644
|
||||
--- a/call.cpp
|
||||
+++ b/call.cpp
|
||||
@@ -90,9 +90,10 @@ void AutoSync::reset() {
|
||||
|
||||
// Call class
|
||||
|
||||
-Call::Call(QObject *p, Skype *sk, CallID i) :
|
||||
- QObject(p),
|
||||
+Call::Call(CallHandler *h, Skype *sk, CallID i) :
|
||||
+ QObject(h),
|
||||
skype(sk),
|
||||
+ handler(h),
|
||||
id(i),
|
||||
status("UNKNOWN"),
|
||||
writer(NULL),
|
||||
@@ -119,6 +120,13 @@ Call::Call(QObject *p, Skype *sk, CallID i) :
|
||||
debug(QString("Call %1: cannot get partner display name").arg(id));
|
||||
displayName = "Unnamed Caller";
|
||||
}
|
||||
+
|
||||
+ // Skype does not properly send updates when the CONF_ID property
|
||||
+ // changes. since we need this information, check it now on all calls
|
||||
+ handler->updateConfIDs();
|
||||
+ // this call isn't yet in the list of calls, thus we need to
|
||||
+ // explicitely check its CONF_ID
|
||||
+ updateConfID();
|
||||
}
|
||||
|
||||
Call::~Call() {
|
||||
@@ -134,6 +142,10 @@ Call::~Call() {
|
||||
// QT takes care of deleting servers and sockets
|
||||
}
|
||||
|
||||
+void Call::updateConfID() {
|
||||
+ confID = skype->getObject(QString("CALL %1 CONF_ID").arg(id)).toLong();
|
||||
+}
|
||||
+
|
||||
bool Call::okToDelete() const {
|
||||
// this is used for checking whether past calls may now be deleted.
|
||||
// when a past call hasn't been decided yet whether it should have been
|
||||
@@ -270,6 +282,11 @@ void Call::startRecording(bool force) {
|
||||
if (isRecording)
|
||||
return;
|
||||
|
||||
+ if (handler->isConferenceRecording(confID)) {
|
||||
+ debug(QString("Call %1: call is part of a conference that is already being recorded").arg(id));
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
if (force) {
|
||||
emit showLegalInformation();
|
||||
} else {
|
||||
@@ -589,6 +606,22 @@ CallHandler::~CallHandler() {
|
||||
delete legalInformationDialog;
|
||||
}
|
||||
|
||||
+void CallHandler::updateConfIDs() {
|
||||
+ QList<Call *> list = calls.values();
|
||||
+ for (int i = 0; i < list.size(); i++)
|
||||
+ list.at(i)->updateConfID();
|
||||
+}
|
||||
+
|
||||
+bool CallHandler::isConferenceRecording(CallID id) const {
|
||||
+ QList<Call *> list = calls.values();
|
||||
+ for (int i = 0; i < list.size(); i++) {
|
||||
+ Call *c = list.at(i);
|
||||
+ if (c->getConfID() == id && c->getIsRecording())
|
||||
+ return true;
|
||||
+ }
|
||||
+ return false;
|
||||
+}
|
||||
+
|
||||
void CallHandler::callCmd(const QStringList &args) {
|
||||
CallID id = args.at(0).toInt();
|
||||
|
||||
diff --git a/call.h b/call.h
|
||||
index cb8396d..b746f46 100644
|
||||
--- a/call.h
|
||||
+++ b/call.h
|
||||
@@ -43,6 +43,8 @@ class QTcpServer;
|
||||
class QTcpSocket;
|
||||
class LegalInformationDialog;
|
||||
|
||||
+class CallHandler;
|
||||
+
|
||||
typedef int CallID;
|
||||
|
||||
class AutoSync {
|
||||
@@ -68,18 +70,21 @@ private:
|
||||
class Call : public QObject {
|
||||
Q_OBJECT
|
||||
public:
|
||||
- Call(QObject *, Skype *, CallID);
|
||||
+ Call(CallHandler *, Skype *, CallID);
|
||||
~Call();
|
||||
void startRecording(bool = false);
|
||||
void stopRecording(bool = true);
|
||||
+ void updateConfID();
|
||||
bool okToDelete() const;
|
||||
void setStatus(const QString &);
|
||||
QString getStatus() const { return status; }
|
||||
bool statusDone() const;
|
||||
bool statusActive() const;
|
||||
CallID getID() const { return id; }
|
||||
+ CallID getConfID() const { return confID; }
|
||||
void removeFile();
|
||||
void hideConfirmation(int);
|
||||
+ bool getIsRecording() const { return isRecording; }
|
||||
|
||||
signals:
|
||||
void startedCall(int, const QString &);
|
||||
@@ -99,10 +104,12 @@ private:
|
||||
|
||||
private:
|
||||
Skype *skype;
|
||||
+ CallHandler *handler;
|
||||
CallID id;
|
||||
QString status;
|
||||
QString skypeName;
|
||||
QString displayName;
|
||||
+ CallID confID;
|
||||
AudioFileWriter *writer;
|
||||
bool isRecording;
|
||||
int stereo;
|
||||
@@ -140,6 +147,8 @@ class CallHandler : public QObject {
|
||||
public:
|
||||
CallHandler(QObject *, Skype *);
|
||||
~CallHandler();
|
||||
+ void updateConfIDs();
|
||||
+ bool isConferenceRecording(CallID) const;
|
||||
void callCmd(const QStringList &);
|
||||
|
||||
signals:
|
||||
--
|
||||
1.6.5.GIT
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
{ stdenv, fetchurl, cmake, lame, id3lib, libvorbis, qt4, libogg }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "skype-call-recorder-0.8";
|
||||
src = fetchurl {
|
||||
url = "https://atdot.ch/scr/files/0.8/skype-call-recorder-0.8.tar.gz";
|
||||
sha256 = "1iijkhq3aj9gr3bx6zl8ryvzkqcdhsm9yisimakwq0lnw0lgf5di";
|
||||
};
|
||||
|
||||
# Keep an rpath reference to the used libogg
|
||||
prePatch = ''
|
||||
sed -i -e '/ADD_EXECUTABLE/aSET(LIBRARIES ''${LIBRARIES} ogg)' CMakeLists.txt
|
||||
'';
|
||||
|
||||
# Better support for hosted conferences
|
||||
patches = [ ./conference.patch ];
|
||||
|
||||
buildInputs = [ cmake lame id3lib libvorbis qt4 libogg ];
|
||||
NIX_LDFLAGS = "-lvorbis";
|
||||
|
||||
meta = {
|
||||
homepage = "http://atdot.ch/scr/";
|
||||
description = "Open source tool to record your Skype calls on Linux";
|
||||
license = stdenv.lib.licenses.gpl2Plus;
|
||||
platforms = with stdenv.lib.platforms; linux;
|
||||
maintainers = with stdenv.lib.maintainers; [viric];
|
||||
};
|
||||
}
|
|
@ -528,6 +528,7 @@ mapAliases ({
|
|||
skrooge2 = skrooge; # added 2017-02-18
|
||||
sky = throw "sky has been removed from nixpkgs (2020-09-16)";
|
||||
skype = skypeforlinux; # added 2017-07-27
|
||||
skype_call_recorder = throw "skype_call_recorder has been removed from nixpkgs, because it stopped working when classic Skype was retired."; # added 2020-10-31
|
||||
skydive = throw "skydive has been removed from nixpkgs (2019-09-10)";
|
||||
slack-dark = slack; # added 2020-03-27
|
||||
slic3r-prusa3d = prusa-slicer; # added 2019-05-21
|
||||
|
|
|
@ -23347,8 +23347,6 @@ in
|
|||
|
||||
skype4pidgin = callPackage ../applications/networking/instant-messengers/pidgin-plugins/skype4pidgin { };
|
||||
|
||||
skype_call_recorder = callPackage ../applications/networking/instant-messengers/skype-call-recorder { };
|
||||
|
||||
SkypeExport = callPackage ../applications/networking/instant-messengers/SkypeExport { };
|
||||
|
||||
slmenu = callPackage ../applications/misc/slmenu {};
|
||||
|
|
Loading…
Reference in a new issue