~ubuntu-branches/ubuntu/wily/sflphone/wily

« back to all changes in this revision

Viewing changes to daemon/src/audio/mainbuffer.h

  • Committer: Package Import Robot
  • Author(s): Mark Purcell
  • Date: 2014-01-28 18:23:36 UTC
  • mfrom: (1.1.11)
  • mto: This revision was merged to the branch mainline in revision 24.
  • Revision ID: package-import@ubuntu.com-20140128182336-3xenud1kbnwmf3mz
* New upstream release 
  - Fixes "New Upstream Release" (Closes: #735846)
  - Fixes "Ringtone does not stop" (Closes: #727164)
  - Fixes "[sflphone-kde] crash on startup" (Closes: #718178)
  - Fixes "sflphone GUI crashes when call is hung up" (Closes: #736583)
* Build-Depends: ensure GnuTLS 2.6
  - libucommon-dev (>= 6.0.7-1.1), libccrtp-dev (>= 2.0.6-3)
  - Fixes "FTBFS Build-Depends libgnutls{26,28}-dev" (Closes: #722040)
* Fix "boost 1.49 is going away" unversioned Build-Depends: (Closes: #736746)
* Add Build-Depends: libsndfile-dev, nepomuk-core-dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
 
 *  Copyright (C) 2004-2012 Savoir-Faire Linux Inc.
 
2
 *  Copyright (C) 2004-2013 Savoir-Faire Linux Inc.
3
3
 *  Author : Alexandre Savard <alexandre.savard@savoirfairelinux.com>
4
4
 *
5
5
 *  This program is free software; you can redistribute it and/or modify
34
34
#include <map>
35
35
#include <set>
36
36
#include <string>
37
 
#include <pthread.h>
 
37
#include <mutex>
 
38
 
 
39
#include "audiobuffer.h"
 
40
#include "mainbuffer.h"
 
41
#include "noncopyable.h"
38
42
 
39
43
class RingBuffer;
40
44
 
80
84
 
81
85
        void unBindAll(const std::string &call_id);
82
86
 
83
 
        void putData(void *buffer, size_t toCopy, const std::string &call_id);
 
87
        void putData(AudioBuffer& buffer, const std::string &call_id);
84
88
 
85
 
        size_t getData(void *buffer, size_t toCopy, const std::string &call_id);
 
89
        size_t getData(AudioBuffer& buffer, const std::string &call_id);
86
90
 
87
91
        size_t availableForGet(const std::string &call_id);
88
92
 
92
96
 
93
97
        void flushAllBuffers();
94
98
 
95
 
        void dumpInfo();
96
 
 
97
99
    private:
 
100
        NON_COPYABLE(MainBuffer);
98
101
 
99
102
        CallIDSet* getCallIDSet(const std::string &call_id);
100
103
 
119
122
        RingBuffer* getRingBuffer(const std::string &call_id);
120
123
        const RingBuffer* getRingBuffer(const std::string & call_id) const;
121
124
 
122
 
        size_t getDataByID(void *buffer, size_t toCopy, const std::string &call_id, const std::string &reader_id);
 
125
        size_t getDataByID(AudioBuffer& buffer, const std::string &call_id, const std::string &reader_id);
123
126
 
124
127
        size_t availableForGetByID(const std::string &call_id, const std::string &reader_id) const;
125
128
 
133
136
        typedef std::map<std::string, CallIDSet*> CallIDMap;
134
137
        CallIDMap callIDMap_;
135
138
 
136
 
        pthread_mutex_t mutex_;
 
139
        std::mutex mutex_;
137
140
 
138
141
        int internalSamplingRate_;
139
142