Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
J
jami-daemon
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
129
Issues
129
List
Boards
Labels
Service Desk
Milestones
Iterations
Requirements
Requirements
List
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Operations
Operations
Incidents
Analytics
Analytics
Insights
Issue
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
savoirfairelinux
jami-daemon
Commits
9963c8ff
Commit
9963c8ff
authored
May 18, 2012
by
Tristan Matthews
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* #11269: merged master into video
parent
1cbb4291
Changes
285
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
285 changed files
with
24559 additions
and
10761 deletions
+24559
-10761
NEWS
NEWS
+2
-0
daemon/Makefile.am
daemon/Makefile.am
+1
-2
daemon/configure.ac
daemon/configure.ac
+1
-1
daemon/src/account.cpp
daemon/src/account.cpp
+17
-16
daemon/src/account.h
daemon/src/account.h
+5
-5
daemon/src/audio/alsa/alsalayer.cpp
daemon/src/audio/alsa/alsalayer.cpp
+19
-18
daemon/src/audio/audiolayer.cpp
daemon/src/audio/audiolayer.cpp
+2
-11
daemon/src/audio/audiolayer.h
daemon/src/audio/audiolayer.h
+4
-4
daemon/src/audio/audioloop.cpp
daemon/src/audio/audioloop.cpp
+2
-2
daemon/src/audio/audiorecord.cpp
daemon/src/audio/audiorecord.cpp
+35
-31
daemon/src/audio/audiorecorder.cpp
daemon/src/audio/audiorecorder.cpp
+9
-7
daemon/src/audio/audiorecorder.h
daemon/src/audio/audiorecorder.h
+2
-0
daemon/src/audio/audiortp/audio_rtp_factory.cpp
daemon/src/audio/audiortp/audio_rtp_factory.cpp
+48
-17
daemon/src/audio/audiortp/audio_rtp_factory.h
daemon/src/audio/audiortp/audio_rtp_factory.h
+21
-5
daemon/src/audio/audiortp/audio_rtp_record_handler.cpp
daemon/src/audio/audiortp/audio_rtp_record_handler.cpp
+85
-43
daemon/src/audio/audiortp/audio_rtp_record_handler.h
daemon/src/audio/audiortp/audio_rtp_record_handler.h
+18
-16
daemon/src/audio/audiortp/audio_rtp_session.cpp
daemon/src/audio/audiortp/audio_rtp_session.cpp
+21
-22
daemon/src/audio/audiortp/audio_srtp_session.cpp
daemon/src/audio/audiortp/audio_srtp_session.cpp
+129
-83
daemon/src/audio/audiortp/audio_srtp_session.h
daemon/src/audio/audiortp/audio_srtp_session.h
+91
-32
daemon/src/audio/audiortp/audio_symmetric_rtp_session.cpp
daemon/src/audio/audiortp/audio_symmetric_rtp_session.cpp
+5
-9
daemon/src/audio/audiortp/audio_zrtp_session.cpp
daemon/src/audio/audiortp/audio_zrtp_session.cpp
+7
-16
daemon/src/audio/audiortp/zrtp_session_callback.cpp
daemon/src/audio/audiortp/zrtp_session_callback.cpp
+8
-18
daemon/src/audio/audiortp/zrtp_session_callback.h
daemon/src/audio/audiortp/zrtp_session_callback.h
+1
-1
daemon/src/audio/codecs/alaw.cpp
daemon/src/audio/codecs/alaw.cpp
+23
-33
daemon/src/audio/codecs/audiocodec.cpp
daemon/src/audio/codecs/audiocodec.cpp
+22
-33
daemon/src/audio/codecs/audiocodec.h
daemon/src/audio/codecs/audiocodec.h
+10
-31
daemon/src/audio/codecs/audiocodecfactory.cpp
daemon/src/audio/codecs/audiocodecfactory.cpp
+28
-23
daemon/src/audio/codecs/g722.cpp
daemon/src/audio/codecs/g722.cpp
+199
-249
daemon/src/audio/codecs/g722.h
daemon/src/audio/codecs/g722.h
+7
-61
daemon/src/audio/codecs/gsmcodec.cpp
daemon/src/audio/codecs/gsmcodec.cpp
+10
-12
daemon/src/audio/codecs/speexcodec.h
daemon/src/audio/codecs/speexcodec.h
+14
-41
daemon/src/audio/codecs/speexcodec_nb.cpp
daemon/src/audio/codecs/speexcodec_nb.cpp
+1
-1
daemon/src/audio/codecs/speexcodec_ub.cpp
daemon/src/audio/codecs/speexcodec_ub.cpp
+1
-1
daemon/src/audio/codecs/speexcodec_wb.cpp
daemon/src/audio/codecs/speexcodec_wb.cpp
+1
-1
daemon/src/audio/codecs/ulaw.cpp
daemon/src/audio/codecs/ulaw.cpp
+22
-31
daemon/src/audio/echosuppress.cpp
daemon/src/audio/echosuppress.cpp
+2
-2
daemon/src/audio/gaincontrol.cpp
daemon/src/audio/gaincontrol.cpp
+1
-1
daemon/src/audio/mainbuffer.cpp
daemon/src/audio/mainbuffer.cpp
+9
-9
daemon/src/audio/pulseaudio/audiostream.cpp
daemon/src/audio/pulseaudio/audiostream.cpp
+13
-13
daemon/src/audio/pulseaudio/pulselayer.cpp
daemon/src/audio/pulseaudio/pulselayer.cpp
+87
-69
daemon/src/audio/recordable.cpp
daemon/src/audio/recordable.cpp
+1
-1
daemon/src/audio/ringbuffer.cpp
daemon/src/audio/ringbuffer.cpp
+1
-1
daemon/src/audio/samplerateconverter.cpp
daemon/src/audio/samplerateconverter.cpp
+11
-5
daemon/src/audio/samplerateconverter.h
daemon/src/audio/samplerateconverter.h
+1
-1
daemon/src/audio/sound/audiofile.cpp
daemon/src/audio/sound/audiofile.cpp
+2
-2
daemon/src/audio/speexechocancel.cpp
daemon/src/audio/speexechocancel.cpp
+1
-1
daemon/src/config/sfl_config.cpp
daemon/src/config/sfl_config.cpp
+1
-2
daemon/src/config/yamlemitter.cpp
daemon/src/config/yamlemitter.cpp
+1
-1
daemon/src/config/yamlnode.cpp
daemon/src/config/yamlnode.cpp
+15
-10
daemon/src/config/yamlparser.cpp
daemon/src/config/yamlparser.cpp
+6
-5
daemon/src/dbus/callmanager-introspec.xml
daemon/src/dbus/callmanager-introspec.xml
+19
-0
daemon/src/dbus/callmanager.cpp
daemon/src/dbus/callmanager.cpp
+39
-24
daemon/src/dbus/callmanager.h
daemon/src/dbus/callmanager.h
+11
-11
daemon/src/dbus/configurationmanager-introspec.xml
daemon/src/dbus/configurationmanager-introspec.xml
+6
-4
daemon/src/dbus/configurationmanager.cpp
daemon/src/dbus/configurationmanager.cpp
+3
-3
daemon/src/history/history.cpp
daemon/src/history/history.cpp
+3
-3
daemon/src/iax/iaxaccount.cpp
daemon/src/iax/iaxaccount.cpp
+2
-2
daemon/src/iax/iaxvoiplink.cpp
daemon/src/iax/iaxvoiplink.cpp
+5
-8
daemon/src/iax/iaxvoiplink.h
daemon/src/iax/iaxvoiplink.h
+2
-1
daemon/src/logger.h
daemon/src/logger.h
+10
-7
daemon/src/managerimpl.cpp
daemon/src/managerimpl.cpp
+211
-198
daemon/src/managerimpl.h
daemon/src/managerimpl.h
+12
-4
daemon/src/numbercleaner.cpp
daemon/src/numbercleaner.cpp
+0
-1
daemon/src/sip/sdes_negotiator.cpp
daemon/src/sip/sdes_negotiator.cpp
+2
-4
daemon/src/sip/sdes_negotiator.h
daemon/src/sip/sdes_negotiator.h
+4
-4
daemon/src/sip/sdp.cpp
daemon/src/sip/sdp.cpp
+2
-2
daemon/src/sip/sip_utils.cpp
daemon/src/sip/sip_utils.cpp
+1
-2
daemon/src/sip/sipaccount.cpp
daemon/src/sip/sipaccount.cpp
+50
-32
daemon/src/sip/sipaccount.h
daemon/src/sip/sipaccount.h
+15
-0
daemon/src/sip/siptransport.cpp
daemon/src/sip/siptransport.cpp
+42
-42
daemon/src/video/libav_utils.cpp
daemon/src/video/libav_utils.cpp
+4
-4
daemon/src/video/video_v4l2_list.cpp
daemon/src/video/video_v4l2_list.cpp
+3
-3
daemon/src/voiplink.cpp
daemon/src/voiplink.cpp
+1
-1
daemon/test/Makefile.am
daemon/test/Makefile.am
+3
-1
daemon/test/resamplertest.cpp
daemon/test/resamplertest.cpp
+230
-0
daemon/test/resamplertest.h
daemon/test/resamplertest.h
+153
-0
daemon/test/test_utils.h
daemon/test/test_utils.h
+1
-2
gnome/INSTALL
gnome/INSTALL
+0
-365
gnome/configure.ac
gnome/configure.ac
+2
-2
gnome/src/Makefile.am
gnome/src/Makefile.am
+5
-4
gnome/src/actions.c
gnome/src/actions.c
+111
-102
gnome/src/callable_obj.c
gnome/src/callable_obj.c
+37
-4
gnome/src/callable_obj.h
gnome/src/callable_obj.h
+11
-2
gnome/src/conference_obj.c
gnome/src/conference_obj.c
+11
-24
gnome/src/config/accountconfigdialog.c
gnome/src/config/accountconfigdialog.c
+19
-12
gnome/src/config/accountlistconfigdialog.c
gnome/src/config/accountlistconfigdialog.c
+1
-3
gnome/src/config/addressbook-config.c
gnome/src/config/addressbook-config.c
+5
-4
gnome/src/config/assistant.c
gnome/src/config/assistant.c
+58
-73
gnome/src/config/audioconf.c
gnome/src/config/audioconf.c
+1
-0
gnome/src/contacts/addrbookfactory.c
gnome/src/contacts/addrbookfactory.c
+2
-3
gnome/src/contacts/calllist.c
gnome/src/contacts/calllist.c
+30
-46
gnome/src/contacts/calllist.h
gnome/src/contacts/calllist.h
+1
-13
gnome/src/contacts/calltab.c
gnome/src/contacts/calltab.c
+4
-4
gnome/src/contacts/calltree.c
gnome/src/contacts/calltree.c
+490
-770
gnome/src/contacts/calltree.h
gnome/src/contacts/calltree.h
+14
-15
gnome/src/contacts/conferencelist.c
gnome/src/contacts/conferencelist.c
+19
-23
gnome/src/contacts/history.c
gnome/src/contacts/history.c
+10
-21
gnome/src/dbus/callmanager-introspec.xml
gnome/src/dbus/callmanager-introspec.xml
+20
-1
gnome/src/dbus/configurationmanager-introspec.xml
gnome/src/dbus/configurationmanager-introspec.xml
+6
-4
gnome/src/dbus/dbus.c
gnome/src/dbus/dbus.c
+127
-120
gnome/src/dbus/dbus.h
gnome/src/dbus/dbus.h
+6
-0
gnome/src/logger.h
gnome/src/logger.h
+7
-4
gnome/src/main.c
gnome/src/main.c
+2
-2
gnome/src/mainwindow.c
gnome/src/mainwindow.c
+1
-0
gnome/src/sflphone_const.h
gnome/src/sflphone_const.h
+4
-4
gnome/src/sliders.c
gnome/src/sliders.c
+7
-9
gnome/src/uimanager.c
gnome/src/uimanager.c
+64
-56
gnome/src/widget/imwidget.c
gnome/src/widget/imwidget.c
+1
-0
kde/CMakeLists.txt
kde/CMakeLists.txt
+4
-3
kde/data/sflphone-client-kdeui.rc
kde/data/sflphone-client-kdeui.rc
+42
-41
kde/doc/index.docbook
kde/doc/index.docbook
+1
-1
kde/plasma/CMakeLists.txt
kde/plasma/CMakeLists.txt
+1
-2
kde/plasma/dataengine/sflphonEngine.cpp
kde/plasma/dataengine/sflphonEngine.cpp
+0
-173
kde/plasma/plasmoid-qml/CMakeLists.txt
kde/plasma/plasmoid-qml/CMakeLists.txt
+11
-0
kde/plasma/plasmoid-qml/package/contents/images/configure.svgz
...lasma/plasmoid-qml/package/contents/images/configure.svgz
+0
-0
kde/plasma/plasmoid-qml/package/contents/images/contact.svg
kde/plasma/plasmoid-qml/package/contents/images/contact.svg
+542
-0
kde/plasma/plasmoid-qml/package/contents/images/favorites.svg
...plasma/plasmoid-qml/package/contents/images/favorites.svg
+1286
-0
kde/plasma/plasmoid-qml/package/contents/images/history.svgz
kde/plasma/plasmoid-qml/package/contents/images/history.svgz
+0
-0
kde/plasma/plasmoid-qml/package/contents/images/phone.svg
kde/plasma/plasmoid-qml/package/contents/images/phone.svg
+66
-0
kde/plasma/plasmoid-qml/package/contents/images/state/.directory
...sma/plasmoid-qml/package/contents/images/state/.directory
+3
-0
kde/plasma/plasmoid-qml/package/contents/images/state/busy.svg
...lasma/plasmoid-qml/package/contents/images/state/busy.svg
+781
-0
kde/plasma/plasmoid-qml/package/contents/images/state/call.svg
...lasma/plasmoid-qml/package/contents/images/state/call.svg
+488
-0
kde/plasma/plasmoid-qml/package/contents/images/state/current.svg
...ma/plasmoid-qml/package/contents/images/state/current.svg
+737
-0
kde/plasma/plasmoid-qml/package/contents/images/state/dial.svg
...lasma/plasmoid-qml/package/contents/images/state/dial.svg
+546
-0
kde/plasma/plasmoid-qml/package/contents/images/state/fail.svg
...lasma/plasmoid-qml/package/contents/images/state/fail.svg
+111
-0
kde/plasma/plasmoid-qml/package/contents/images/state/hang_up.svg
...ma/plasmoid-qml/package/contents/images/state/hang_up.svg
+772
-0
kde/plasma/plasmoid-qml/package/contents/images/state/hold.svg
...lasma/plasmoid-qml/package/contents/images/state/hold.svg
+818
-0
kde/plasma/plasmoid-qml/package/contents/images/state/icon_accept.svg
...lasmoid-qml/package/contents/images/state/icon_accept.svg
+412
-0
kde/plasma/plasmoid-qml/package/contents/images/state/icon_unhold.svg
...lasmoid-qml/package/contents/images/state/icon_unhold.svg
+441
-0
kde/plasma/plasmoid-qml/package/contents/images/state/incoming.svg
...a/plasmoid-qml/package/contents/images/state/incoming.svg
+184
-0
kde/plasma/plasmoid-qml/package/contents/images/state/new_call.svg
...a/plasmoid-qml/package/contents/images/state/new_call.svg
+844
-0
kde/plasma/plasmoid-qml/package/contents/images/state/rec_call.svg
...a/plasmoid-qml/package/contents/images/state/rec_call.svg
+1406
-0
kde/plasma/plasmoid-qml/package/contents/images/state/record.svg
...sma/plasmoid-qml/package/contents/images/state/record.svg
+1057
-0
kde/plasma/plasmoid-qml/package/contents/images/state/ring.svg
...lasma/plasmoid-qml/package/contents/images/state/ring.svg
+999
-0
kde/plasma/plasmoid-qml/package/contents/images/state/transfert.svg
.../plasmoid-qml/package/contents/images/state/transfert.svg
+892
-0
kde/plasma/plasmoid-qml/package/contents/images/state/unhold.svg
...sma/plasmoid-qml/package/contents/images/state/unhold.svg
+980
-0
kde/plasma/plasmoid-qml/package/contents/images/transfertarrow.svg
...a/plasmoid-qml/package/contents/images/transfertarrow.svg
+133
-0
kde/plasma/plasmoid-qml/package/contents/ui/.TabBar.qml.kate-swp
...sma/plasmoid-qml/package/contents/ui/.TabBar.qml.kate-swp
+0
-0
kde/plasma/plasmoid-qml/package/contents/ui/BookmarkTab.qml
kde/plasma/plasmoid-qml/package/contents/ui/BookmarkTab.qml
+153
-0
kde/plasma/plasmoid-qml/package/contents/ui/CallTab.qml
kde/plasma/plasmoid-qml/package/contents/ui/CallTab.qml
+399
-0
kde/plasma/plasmoid-qml/package/contents/ui/ContactTab.qml
kde/plasma/plasmoid-qml/package/contents/ui/ContactTab.qml
+303
-0
kde/plasma/plasmoid-qml/package/contents/ui/DialPad.qml
kde/plasma/plasmoid-qml/package/contents/ui/DialPad.qml
+37
-0
kde/plasma/plasmoid-qml/package/contents/ui/HistoryTab.qml
kde/plasma/plasmoid-qml/package/contents/ui/HistoryTab.qml
+257
-0
kde/plasma/plasmoid-qml/package/contents/ui/ListSectiondelegate.qml
.../plasmoid-qml/package/contents/ui/ListSectiondelegate.qml
+24
-0
kde/plasma/plasmoid-qml/package/contents/ui/NumberOverlay.qml
...plasma/plasmoid-qml/package/contents/ui/NumberOverlay.qml
+83
-0
kde/plasma/plasmoid-qml/package/contents/ui/Settingstab.qml
kde/plasma/plasmoid-qml/package/contents/ui/Settingstab.qml
+154
-0
kde/plasma/plasmoid-qml/package/contents/ui/TabBar.qml
kde/plasma/plasmoid-qml/package/contents/ui/TabBar.qml
+99
-0
kde/plasma/plasmoid-qml/package/contents/ui/TransferOverlay.qml
...asma/plasmoid-qml/package/contents/ui/TransferOverlay.qml
+124
-0
kde/plasma/plasmoid-qml/package/contents/ui/main.qml
kde/plasma/plasmoid-qml/package/contents/ui/main.qml
+125
-0
kde/plasma/plasmoid-qml/package/metadata.desktop
kde/plasma/plasmoid-qml/package/metadata.desktop
+21
-0
kde/plasma/plasmoid/CMakeLists.txt
kde/plasma/plasmoid/CMakeLists.txt
+0
-61
kde/plasma/plasmoid/CallItem.cpp
kde/plasma/plasmoid/CallItem.cpp
+0
-110
kde/plasma/plasmoid/CallItem.h
kde/plasma/plasmoid/CallItem.h
+0
-39
kde/plasma/plasmoid/ConferenceItem.cpp
kde/plasma/plasmoid/ConferenceItem.cpp
+0
-39
kde/plasma/plasmoid/ConferenceItem.h
kde/plasma/plasmoid/ConferenceItem.h
+0
-28
kde/plasma/plasmoid/DialPage.cpp
kde/plasma/plasmoid/DialPage.cpp
+0
-75
kde/plasma/plasmoid/DialPage.h
kde/plasma/plasmoid/DialPage.h
+0
-49
kde/plasma/plasmoid/MainWidget.cpp
kde/plasma/plasmoid/MainWidget.cpp
+0
-160
kde/plasma/plasmoid/MainWidget.h
kde/plasma/plasmoid/MainWidget.h
+0
-59
kde/plasma/plasmoid/SFLPhonePlasmoid.cpp
kde/plasma/plasmoid/SFLPhonePlasmoid.cpp
+0
-172
kde/plasma/plasmoid/SFLPhonePlasmoid.h
kde/plasma/plasmoid/SFLPhonePlasmoid.h
+0
-63
kde/plasma/plasmoid/ViewItem.h
kde/plasma/plasmoid/ViewItem.h
+0
-12
kde/plasma/plasmoid/sflphone-plasmoid.desktop
kde/plasma/plasmoid/sflphone-plasmoid.desktop
+0
-15
kde/src/AccountListModel.cpp
kde/src/AccountListModel.cpp
+2
-1
kde/src/AccountView.cpp
kde/src/AccountView.cpp
+8
-8
kde/src/AccountWizard.cpp
kde/src/AccountWizard.cpp
+12
-11
kde/src/AccountWizard.h
kde/src/AccountWizard.h
+1
-0
kde/src/ActionSetAccountFirst.cpp
kde/src/ActionSetAccountFirst.cpp
+1
-1
kde/src/CMakeLists.txt
kde/src/CMakeLists.txt
+55
-50
kde/src/CallView.cpp
kde/src/CallView.cpp
+19
-33
kde/src/CallView.h
kde/src/CallView.h
+2
-2
kde/src/SFLPhone.cpp
kde/src/SFLPhone.cpp
+11
-4
kde/src/SFLPhone.h
kde/src/SFLPhone.h
+2
-1
kde/src/SFLPhoneView.cpp
kde/src/SFLPhoneView.cpp
+56
-3
kde/src/SFLPhoneView.h
kde/src/SFLPhoneView.h
+7
-1
kde/src/SFLPhoneapplication.h
kde/src/SFLPhoneapplication.h
+21
-0
kde/src/conf/ConfigAccountList.cpp
kde/src/conf/ConfigAccountList.cpp
+23
-3
kde/src/conf/ConfigAccountList.h
kde/src/conf/ConfigAccountList.h
+20
-0
kde/src/conf/ConfigurationDialog.cpp
kde/src/conf/ConfigurationDialog.cpp
+24
-21
kde/src/conf/ConfigurationDialog.h
kde/src/conf/ConfigurationDialog.h
+21
-21
kde/src/conf/dlgaccounts.cpp
kde/src/conf/dlgaccounts.cpp
+63
-44
kde/src/conf/dlgaccounts.h
kde/src/conf/dlgaccounts.h
+20
-20
kde/src/conf/dlgaccountsbase.ui
kde/src/conf/dlgaccountsbase.ui
+26
-30
kde/src/conf/dlgaddressbook.cpp
kde/src/conf/dlgaddressbook.cpp
+58
-21
kde/src/conf/dlgaddressbook.h
kde/src/conf/dlgaddressbook.h
+32
-21
kde/src/conf/dlgaddressbookbase.ui
kde/src/conf/dlgaddressbookbase.ui
+13
-164
kde/src/conf/dlgaudio.cpp
kde/src/conf/dlgaudio.cpp
+31
-24
kde/src/conf/dlgaudio.h
kde/src/conf/dlgaudio.h
+21
-21
kde/src/conf/dlgdisplay.cpp
kde/src/conf/dlgdisplay.cpp
+20
-20
kde/src/conf/dlgdisplay.h
kde/src/conf/dlgdisplay.h
+20
-20
kde/src/conf/dlggeneral.cpp
kde/src/conf/dlggeneral.cpp
+34
-21
kde/src/conf/dlggeneral.h
kde/src/conf/dlggeneral.h
+25
-20
kde/src/conf/dlghooks.cpp
kde/src/conf/dlghooks.cpp
+20
-20
kde/src/conf/dlghooks.h
kde/src/conf/dlghooks.h
+20
-20
kde/src/dbus/configurationmanager-introspec.xml
kde/src/dbus/configurationmanager-introspec.xml
+18
-3
kde/src/klib/AkonadiBackend.cpp
kde/src/klib/AkonadiBackend.cpp
+97
-37
kde/src/klib/AkonadiBackend.h
kde/src/klib/AkonadiBackend.h
+87
-0
kde/src/klib/CMakeLists.txt
kde/src/klib/CMakeLists.txt
+67
-0
kde/src/klib/ConfigurationSkeleton.cpp
kde/src/klib/ConfigurationSkeleton.cpp
+59
-75
kde/src/klib/ConfigurationSkeleton.h
kde/src/klib/ConfigurationSkeleton.h
+23
-23
kde/src/klib/HelperFunctions.cpp
kde/src/klib/HelperFunctions.cpp
+47
-0
kde/src/klib/HelperFunctions.h
kde/src/klib/HelperFunctions.h
+42
-0
kde/src/klib/SortableDockCommon.cpp
kde/src/klib/SortableDockCommon.cpp
+73
-0
kde/src/klib/SortableDockCommon.h
kde/src/klib/SortableDockCommon.h
+128
-0
kde/src/klib/SortableDockCommon.hpp
kde/src/klib/SortableDockCommon.hpp
+231
-0
kde/src/klib/dataengine.h
kde/src/klib/dataengine.h
+0
-0
kde/src/klib/dataengine/CMakeLists.txt
kde/src/klib/dataengine/CMakeLists.txt
+8
-2
kde/src/klib/dataengine/plasma-engine-sflphone.desktop
kde/src/klib/dataengine/plasma-engine-sflphone.desktop
+0
-0
kde/src/klib/dataengine/plasma-engine-testtime.desktop
kde/src/klib/dataengine/plasma-engine-testtime.desktop
+0
-0
kde/src/klib/dataengine/sflphonEngine.cpp
kde/src/klib/dataengine/sflphonEngine.cpp
+349
-0
kde/src/klib/dataengine/sflphonEngine.h
kde/src/klib/dataengine/sflphonEngine.h
+78
-0
kde/src/klib/dataengine/sflphone.operations
kde/src/klib/dataengine/sflphone.operations
+41
-0
kde/src/klib/dataengine/sflphoneService.cpp
kde/src/klib/dataengine/sflphoneService.cpp
+58
-0
kde/src/klib/dataengine/sflphoneService.h
kde/src/klib/dataengine/sflphoneService.h
+166
-0
kde/src/klib/kcfg_settings.kcfgc
kde/src/klib/kcfg_settings.kcfgc
+2
-0
kde/src/klib/sflphone-client-kde.kcfg
kde/src/klib/sflphone-client-kde.kcfg
+140
-0
kde/src/lib/Account.cpp
kde/src/lib/Account.cpp
+34
-25
kde/src/lib/Account.h
kde/src/lib/Account.h
+19
-20
kde/src/lib/AccountList.cpp
kde/src/lib/AccountList.cpp
+23
-24
kde/src/lib/AccountList.h
kde/src/lib/AccountList.h
+19
-21
kde/src/lib/CMakeLists.txt
kde/src/lib/CMakeLists.txt
+4
-1
kde/src/lib/COPYING
kde/src/lib/COPYING
+138
-0
kde/src/lib/Call.cpp
kde/src/lib/Call.cpp
+45
-23
kde/src/lib/Call.h
kde/src/lib/Call.h
+28
-24
kde/src/lib/CallModel.cpp
kde/src/lib/CallModel.cpp
+29
-23
kde/src/lib/CallModel.h
kde/src/lib/CallModel.h
+65
-59
kde/src/lib/CallModel.hpp
kde/src/lib/CallModel.hpp
+218
-155
kde/src/lib/Contact.cpp
kde/src/lib/Contact.cpp
+62
-21
kde/src/lib/Contact.h
kde/src/lib/Contact.h
+40
-30
kde/src/lib/ContactBackend.cpp
kde/src/lib/ContactBackend.cpp
+19
-20
kde/src/lib/ContactBackend.h
kde/src/lib/ContactBackend.h
+24
-21
kde/src/lib/Item.cpp
kde/src/lib/Item.cpp
+19
-20
kde/src/lib/Item.h
kde/src/lib/Item.h
+74
-74
kde/src/lib/callmanager_interface_singleton.cpp
kde/src/lib/callmanager_interface_singleton.cpp
+19
-19
kde/src/lib/callmanager_interface_singleton.h
kde/src/lib/callmanager_interface_singleton.h
+19
-19
kde/src/lib/configurationmanager_interface_singleton.cpp
kde/src/lib/configurationmanager_interface_singleton.cpp
+20
-21
kde/src/lib/configurationmanager_interface_singleton.h
kde/src/lib/configurationmanager_interface_singleton.h
+19
-20
kde/src/lib/dbus/callmanager-introspec.xml
kde/src/lib/dbus/callmanager-introspec.xml
+777
-821
kde/src/lib/dbus/configurationmanager-introspec.xml
kde/src/lib/dbus/configurationmanager-introspec.xml
+467
-686
kde/src/lib/instance_interface_singleton.cpp
kde/src/lib/instance_interface_singleton.cpp
+20
-21
kde/src/lib/instance_interface_singleton.h
kde/src/lib/instance_interface_singleton.h
+22
-23
kde/src/lib/sflphone_const.h
kde/src/lib/sflphone_const.h
+191
-100
kde/src/lib/typedefs.h
kde/src/lib/typedefs.h
+20
-0
kde/src/main.cpp
kde/src/main.cpp
+2
-3
kde/src/ui/SFLPhoneView_base.ui
kde/src/ui/SFLPhoneView_base.ui
+32
-0
kde/src/widgets/BookmarkDock.cpp
kde/src/widgets/BookmarkDock.cpp
+57
-11
kde/src/widgets/BookmarkDock.h
kde/src/widgets/BookmarkDock.h
+11
-4
kde/src/widgets/CallTreeItem.cpp
kde/src/widgets/CallTreeItem.cpp
+6
-6
kde/src/widgets/CategorizedTreeWidget.cpp
kde/src/widgets/CategorizedTreeWidget.cpp
+158
-0
kde/src/widgets/CategorizedTreeWidget.h
kde/src/widgets/CategorizedTreeWidget.h
+87
-0
kde/src/widgets/CategoryDrawer.cpp
kde/src/widgets/CategoryDrawer.cpp
+273
-0
kde/src/widgets/CategoryDrawer.h
kde/src/widgets/CategoryDrawer.h
+45
-0
kde/src/widgets/ContactDock.cpp
kde/src/widgets/ContactDock.cpp
+115
-33
kde/src/widgets/ContactDock.h
kde/src/widgets/ContactDock.h
+21
-12
kde/src/widgets/ContactItemWidget.cpp
kde/src/widgets/ContactItemWidget.cpp
+1
-1
kde/src/widgets/HistoryDock.cpp
kde/src/widgets/HistoryDock.cpp
+77
-44
kde/src/widgets/HistoryDock.h
kde/src/widgets/HistoryDock.h
+7
-14
kde/src/widgets/HistoryTreeItem.cpp
kde/src/widgets/HistoryTreeItem.cpp
+286
-23
kde/src/widgets/HistoryTreeItem.h
kde/src/widgets/HistoryTreeItem.h
+70
-25
plugins/configure.ac
plugins/configure.ac
+1
-1
tools/asterisk/keys/500.crt
tools/asterisk/keys/500.crt
+21
-0
tools/asterisk/keys/500.csr
tools/asterisk/keys/500.csr
+10
-0
tools/asterisk/keys/500.key
tools/asterisk/keys/500.key
+15
-0
tools/asterisk/keys/500.pem
tools/asterisk/keys/500.pem
+36
-0
tools/asterisk/keys/600.crt
tools/asterisk/keys/600.crt
+21
-0
tools/asterisk/keys/600.csr
tools/asterisk/keys/600.csr
+10
-0
tools/asterisk/keys/600.key
tools/asterisk/keys/600.key
+15
-0
tools/asterisk/keys/600.pem
tools/asterisk/keys/600.pem
+36
-0
tools/build-system/launch-build-machine-2.sh
tools/build-system/launch-build-machine-2.sh
+4
-4
tools/build-system/launchpad/sflphone-client-kde/debian/changelog
...ild-system/launchpad/sflphone-client-kde/debian/changelog
+9
-3103
tools/build-system/launchpad/sflphone-client-kde/debian/control
...build-system/launchpad/sflphone-client-kde/debian/control
+8
-15
tools/build-system/launchpad/sflphone-client-kde/debian/control.lucid
...system/launchpad/sflphone-client-kde/debian/control.lucid
+0
-20
tools/build-system/launchpad/sflphone-client-kde/debian/control.natty
...system/launchpad/sflphone-client-kde/debian/control.natty
+0
-20
tools/build-system/launchpad/sflphone-client-kde/debian/control.oneiric
...stem/launchpad/sflphone-client-kde/debian/control.oneiric
+0
-20
tools/build-system/launchpad/sflphone-client-kde/debian/copyright
...ild-system/launchpad/sflphone-client-kde/debian/copyright
+5
-25
tools/build-system/launchpad/sflphone-client-kde/debian/cron.d
.../build-system/launchpad/sflphone-client-kde/debian/cron.d
+0
-4
tools/build-system/launchpad/sflphone-client-kde/debian/dirs
tools/build-system/launchpad/sflphone-client-kde/debian/dirs
+0
-7
tools/build-system/launchpad/sflphone-client-kde/debian/docs
tools/build-system/launchpad/sflphone-client-kde/debian/docs
+0
-5
tools/build-system/launchpad/sflphone-client-kde/debian/manpages
...uild-system/launchpad/sflphone-client-kde/debian/manpages
+0
-2
tools/build-system/launchpad/sflphone-client-kde/debian/menu
tools/build-system/launchpad/sflphone-client-kde/debian/menu
+6
-0
tools/build-system/launchpad/sflphone-client-kde/debian/postinst
...uild-system/launchpad/sflphone-client-kde/debian/postinst
+0
-9
tools/build-system/launchpad/sflphone-client-kde/debian/preinst
...build-system/launchpad/sflphone-client-kde/debian/preinst
+0
-15
tools/build-system/launchpad/sflphone-client-kde/debian/prerm
...s/build-system/launchpad/sflphone-client-kde/debian/prerm
+0
-7
tools/build-system/launchpad/sflphone-client-kde/debian/rules
...s/build-system/launchpad/sflphone-client-kde/debian/rules
+8
-117
tools/build-system/launchpad/sflphone-client-kde/debian/source/format
...system/launchpad/sflphone-client-kde/debian/source/format
+1
-0
No files found.
NEWS
View file @
9963c8ff
...
...
@@ -2,6 +2,8 @@
# SFLphone
################################################
* 2012-05-17: 1.1.0 has been released
* 2011-11-18: 1.0.1 has been released
* 2011-09-30: 1.0.0 has been released
...
...
daemon/Makefile.am
View file @
9963c8ff
...
...
@@ -21,8 +21,7 @@ endif
ACLOCAL_AMFLAGS
=
-I
m4
SUBDIRS
=
libs src ringtones man
$(TESTS_DIR)
doc
EXTRA_DIST
=
README.gentoo
\
m4/libtool.m4
\
EXTRA_DIST
=
m4/libtool.m4
\
m4/lt~obsolete.m4
\
m4/ltoptions.m4
\
m4/ltsugar.m4
\
...
...
daemon/configure.ac
View file @
9963c8ff
...
...
@@ -2,7 +2,7 @@ dnl SFLPhone - configure.ac for automake 1.9 and autoconf 2.59
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ([2.65])
AC_INIT([sflphone],[1.
0.2
],[sflphoneteam@savoirfairelinux.com],[sflphone])
AC_INIT([sflphone],[1.
1.0
],[sflphoneteam@savoirfairelinux.com],[sflphone])
AC_COPYRIGHT([[Copyright (c) Savoir-Faire Linux 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012]])
AC_REVISION([$Revision$])
...
...
daemon/src/account.cpp
View file @
9963c8ff
...
...
@@ -56,7 +56,7 @@ Account::Account(const std::string &accountID, const std::string &type) :
,
userAgent_
(
"SFLphone"
)
,
mailBox_
()
{
// Initialize the codec
list
, used when creating a new account
// Initialize the codec
order
, used when creating a new account
loadDefaultCodecs
();
}
...
...
@@ -77,23 +77,23 @@ void Account::setRegistrationState(const RegistrationState &state)
void
Account
::
loadDefaultCodecs
()
{
// Initialize codec
std
::
vector
<
std
::
string
>
codecLis
t
;
codecLis
t
.
push_back
(
"0"
);
codecLis
t
.
push_back
(
"3"
);
codecLis
t
.
push_back
(
"8"
);
codecLis
t
.
push_back
(
"9"
);
codecLis
t
.
push_back
(
"110"
);
codecLis
t
.
push_back
(
"111"
);
codecLis
t
.
push_back
(
"112"
);
std
::
vector
<
std
::
string
>
resul
t
;
resul
t
.
push_back
(
"0"
);
resul
t
.
push_back
(
"3"
);
resul
t
.
push_back
(
"8"
);
resul
t
.
push_back
(
"9"
);
resul
t
.
push_back
(
"110"
);
resul
t
.
push_back
(
"111"
);
resul
t
.
push_back
(
"112"
);
setActiveCodecs
(
codecLis
t
);
setActiveCodecs
(
resul
t
);
#ifdef SFL_VIDEO
setActiveVideoCodecs
(
sfl_video
::
getCodecList
());
#endif
}
#ifdef SFL_VIDEO
void
Account
::
setActiveVideoCodecs
(
const
std
::
vector
<
std
::
string
>
&
list
)
void
Account
::
setActiveVideoCodecs
(
const
std
::
vector
<
std
::
string
>
&
list
)
{
videoCodecList_
=
!
list
.
empty
()
?
list
:
sfl_video
::
getCodecList
();
}
...
...
@@ -105,14 +105,15 @@ void Account::setActiveCodecs(const std::vector <std::string> &list)
codecList_
.
clear
();
// list contains the ordered payload of active codecs picked by the user for this account
// we used the CodecList vector to save the order.
for
(
std
::
vector
<
std
::
string
>::
const_iterator
i
=
list
.
begin
();
i
!=
list
.
end
();
++
i
)
{
int
payload
=
std
::
atoi
(
i
->
c_str
());
// we used the CodecOrder vector to save the order.
for
(
std
::
vector
<
std
::
string
>::
const_iterator
iter
=
list
.
begin
();
iter
!=
list
.
end
();
++
iter
)
{
int
payload
=
std
::
atoi
(
iter
->
c_str
());
codecList_
.
push_back
(
static_cast
<
int
>
(
payload
));
}
// update the codec string according to new codec selection
codecStr_
=
ManagerImpl
::
serialize
(
list
);
codecStr_
=
ManagerImpl
::
join_string
(
list
);
}
std
::
string
Account
::
mapStateNumberToString
(
RegistrationState
state
)
...
...
daemon/src/account.h
View file @
9963c8ff
...
...
@@ -76,10 +76,14 @@ static const char *const CONFIG_ACCOUNT_ALIAS = "Account.alias";
static
const
char
*
const
CONFIG_ACCOUNT_MAILBOX
=
"Account.mailbox"
;
static
const
char
*
const
CONFIG_ACCOUNT_ENABLE
=
"Account.enable"
;
static
const
char
*
const
CONFIG_ACCOUNT_REGISTRATION_EXPIRE
=
"Account.registrationExpire"
;
static
const
char
*
const
CONFIG_ACCOUNT_REGISTRATION_STATUS
=
"Account.registrationStatus"
;
static
const
char
*
const
CONFIG_ACCOUNT_REGISTRATION_STATE_CODE
=
"Account.registrationCode"
;
static
const
char
*
const
CONFIG_ACCOUNT_REGISTRATION_STATE_DESC
=
"Account.registrationDescription"
;
static
const
char
*
const
CONFIG_CREDENTIAL_NUMBER
=
"Credential.count"
;
static
const
char
*
const
CONFIG_ACCOUNT_DTMF_TYPE
=
"Account.dtmfType"
;
static
const
char
*
const
CONFIG_RINGTONE_PATH
=
"Account.ringtonePath"
;
static
const
char
*
const
CONFIG_RINGTONE_ENABLED
=
"Account.ringtoneEnabled"
;
static
const
char
*
const
CONFIG_KEEP_ALIVE_ENABLED
=
"Account.keepAliveEnabled"
;
static
const
char
*
const
CONFIG_ACCOUNT_HOSTNAME
=
"Account.hostname"
;
static
const
char
*
const
CONFIG_ACCOUNT_USERNAME
=
"Account.username"
;
...
...
@@ -128,10 +132,6 @@ static const char *const CONFIG_TLS_REQUIRE_CLIENT_CERTIFICATE = "TLS.requireCli
static
const
char
*
const
CONFIG_TLS_NEGOTIATION_TIMEOUT_SEC
=
"TLS.negotiationTimeoutSec"
;
static
const
char
*
const
CONFIG_TLS_NEGOTIATION_TIMEOUT_MSEC
=
"TLS.negotiationTimemoutMsec"
;
static
const
char
*
const
CONFIG_REGISTRATION_STATUS
=
"Registration.Status"
;
static
const
char
*
const
CONFIG_REGISTRATION_STATE_CODE
=
"Registration.code"
;
static
const
char
*
const
CONFIG_REGISTRATION_STATE_DESCRIPTION
=
"Registration.description"
;
// General configuration keys for accounts
static
const
char
*
const
ALIAS_KEY
=
"alias"
;
static
const
char
*
const
TYPE_KEY
=
"type"
;
...
...
@@ -295,7 +295,7 @@ class Account : public Serializable {
/**
* Helper function used to load the default codec order from the codec factory
* setActiveCodecs is called to sync both codec
Order
_ and codecStr_
* setActiveCodecs is called to sync both codec
List
_ and codecStr_
*/
void
loadDefaultCodecs
();
...
...
daemon/src/audio/alsa/alsalayer.cpp
View file @
9963c8ff
...
...
@@ -219,7 +219,7 @@ AlsaLayer::stopStream()
#define ALSA_CALL(call, error) ({ \
int err_code = call; \
if (err_code < 0) \
ERROR(
"ALSA: "error
": %s", snd_strerror(err_code)); \
ERROR(
error
": %s", snd_strerror(err_code)); \
err_code; \
})
...
...
@@ -314,16 +314,16 @@ bool AlsaLayer::alsa_set_params(snd_pcm_t *pcm_handle)
TRY
(
snd_pcm_hw_params_any
(
HW
),
"hwparams init"
);
TRY
(
snd_pcm_hw_params_set_access
(
HW
,
SND_PCM_ACCESS_RW_INTERLEAVED
),
"access type"
);
TRY
(
snd_pcm_hw_params_set_format
(
HW
,
SND_PCM_FORMAT_S16_LE
),
"sample format"
);
TRY
(
snd_pcm_hw_params_set_rate_near
(
HW
,
&
audioS
ampleRate_
,
NULL
),
"sample rate"
);
TRY
(
snd_pcm_hw_params_set_rate_near
(
HW
,
&
s
ampleRate_
,
NULL
),
"sample rate"
);
TRY
(
snd_pcm_hw_params_set_channels
(
HW
,
1
),
"channel count"
);
TRY
(
snd_pcm_hw_params_set_period_size_near
(
HW
,
&
periodSize
,
NULL
),
"period time"
);
TRY
(
snd_pcm_hw_params_set_periods_near
(
HW
,
&
periods
,
NULL
),
"periods number"
);
TRY
(
snd_pcm_hw_params
(
HW
),
"hwparams"
);
#undef HW
DEBUG
(
"
ALSA:
%s using sampling rate %dHz"
,
DEBUG
(
"%s using sampling rate %dHz"
,
(
snd_pcm_stream
(
pcm_handle
)
==
SND_PCM_STREAM_PLAYBACK
)
?
"playback"
:
"capture"
,
audioS
ampleRate_
);
s
ampleRate_
);
snd_pcm_sw_params_t
*
swparams
=
NULL
;
snd_pcm_sw_params_alloca
(
&
swparams
);
...
...
@@ -370,7 +370,7 @@ AlsaLayer::write(void* buffer, int length, snd_pcm_t * handle)
}
default:
ERROR
(
"
ALSA: u
nknown write error, dropping frames: %s"
,
snd_strerror
(
err
));
ERROR
(
"
U
nknown write error, dropping frames: %s"
,
snd_strerror
(
err
));
stopPlaybackStream
();
break
;
}
...
...
@@ -405,12 +405,12 @@ AlsaLayer::read(void* buffer, int toCopy)
startCaptureStream
();
}
ERROR
(
"
ALSA:
XRUN capture ignored (%s)"
,
snd_strerror
(
err
));
ERROR
(
"XRUN capture ignored (%s)"
,
snd_strerror
(
err
));
break
;
}
case
EPERM
:
ERROR
(
"
ALSA:
Can't capture, EPERM (%s)"
,
snd_strerror
(
err
));
ERROR
(
"Can't capture, EPERM (%s)"
,
snd_strerror
(
err
));
prepareCaptureStream
();
startCaptureStream
();
break
;
...
...
@@ -456,7 +456,7 @@ AlsaLayer::getAudioDeviceIndexMap(AudioStreamDirection dir) const
snd_ctl_card_info_alloca
(
&
info
);
snd_pcm_info_alloca
(
&
pcminfo
);
int
numCard
=
-
1
;
int
numCard
=
-
1
;
std
::
vector
<
HwIDPair
>
audioDevice
;
...
...
@@ -541,7 +541,7 @@ AlsaLayer::getAudioDeviceIndex(const std::string &description) const
void
AlsaLayer
::
capture
()
{
unsigned
int
mainBufferSampleRate
=
Manager
::
instance
().
getMainBuffer
()
->
getInternalSamplingRate
();
bool
resample
=
audioS
ampleRate_
!=
mainBufferSampleRate
;
bool
resample
=
s
ampleRate_
!=
mainBufferSampleRate
;
int
toGetSamples
=
snd_pcm_avail_update
(
captureHandle_
);
...
...
@@ -567,10 +567,11 @@ void AlsaLayer::capture()
AudioLayer
::
applyGain
(
&
(
*
in
.
begin
()),
toGetSamples
,
getCaptureGain
());
if
(
resample
)
{
int
outSamples
=
toGetSamples
*
((
double
)
audioS
ampleRate_
/
mainBufferSampleRate
);
int
outSamples
=
toGetSamples
*
((
double
)
s
ampleRate_
/
mainBufferSampleRate
);
std
::
vector
<
SFLDataFormat
>
rsmpl_out
(
outSamples
);
converter_
->
resample
(
&
(
*
in
.
begin
()),
&
(
*
rsmpl_out
.
begin
()),
mainBufferSampleRate
,
audioSampleRate_
,
toGetSamples
);
converter_
.
resample
(
&
(
*
in
.
begin
()),
&
(
*
rsmpl_out
.
begin
()),
rsmpl_out
.
size
(),
mainBufferSampleRate
,
sampleRate_
,
toGetSamples
);
dcblocker_
.
process
(
&
(
*
rsmpl_out
.
begin
()),
&
(
*
rsmpl_out
.
begin
()),
outSamples
);
Manager
::
instance
().
getMainBuffer
()
->
putData
(
&
(
*
rsmpl_out
.
begin
()),
rsmpl_out
.
size
()
*
sizeof
(
rsmpl_out
[
0
]),
MainBuffer
::
DEFAULT_ID
);
...
...
@@ -585,7 +586,7 @@ void AlsaLayer::playback(int maxSamples)
{
unsigned
int
mainBufferSampleRate
=
Manager
::
instance
().
getMainBuffer
()
->
getInternalSamplingRate
();
bool
resample
=
audioS
ampleRate_
!=
mainBufferSampleRate
;
bool
resample
=
s
ampleRate_
!=
mainBufferSampleRate
;
int
toGet
=
Manager
::
instance
().
getMainBuffer
()
->
availForGet
(
MainBuffer
::
DEFAULT_ID
);
int
toPut
=
maxSamples
*
sizeof
(
SFLDataFormat
);
...
...
@@ -617,7 +618,7 @@ void AlsaLayer::playback(int maxSamples)
double
resampleFactor
=
1.0
;
if
(
resample
)
{
resampleFactor
=
(
double
)
audioS
ampleRate_
/
mainBufferSampleRate
;
resampleFactor
=
(
double
)
s
ampleRate_
/
mainBufferSampleRate
;
maxNbBytesToGet
=
(
double
)
toGet
/
resampleFactor
;
}
...
...
@@ -631,10 +632,10 @@ void AlsaLayer::playback(int maxSamples)
if
(
resample
)
{
int
inSamples
=
toGet
/
sizeof
(
SFLDataFormat
);
int
outSamples
=
inSamples
*
resampleFactor
;
SFLDataFormat
*
rsmpl_out
=
(
SFLDataFormat
*
)
malloc
(
outSamples
*
sizeof
(
SFLDataFormat
)
);
converter_
->
resample
(
out
,
rsmpl_out
,
mainBufferSampleRate
,
audioSampleRate_
,
inSamples
);
write
(
rsmpl_out
,
outSamples
*
sizeof
(
SFLDataFormat
),
playbackHandle_
);
free
(
rsmpl_out
);
std
::
vector
<
SFLDataFormat
>
rsmpl_out
(
outSamples
);
converter_
.
resample
(
out
,
&
(
*
rsmpl_out
.
begin
()),
rsmpl_out
.
size
(),
mainBufferSampleRate
,
sampleRate_
,
inSamples
);
write
(
&
(
*
rsmpl_out
.
begin
()),
outSamples
*
sizeof
(
SFLDataFormat
),
playbackHandle_
);
}
else
{
write
(
out
,
toGet
,
playbackHandle_
);
}
...
...
daemon/src/audio/audiolayer.cpp
View file @
9963c8ff
...
...
@@ -40,25 +40,16 @@ unsigned int AudioLayer::playbackGain_ = 100;
AudioLayer
::
AudioLayer
()
:
isStarted_
(
false
)
,
urgentRingBuffer_
(
SIZEBUF
,
MainBuffer
::
DEFAULT_ID
)
,
audioS
ampleRate_
(
Manager
::
instance
().
getMainBuffer
()
->
getInternalSamplingRate
())
,
s
ampleRate_
(
Manager
::
instance
().
getMainBuffer
()
->
getInternalSamplingRate
())
,
mutex_
()
,
dcblocker_
()
,
audioPref
(
Manager
::
instance
().
audioPreference
)
,
converter_
(
new
SamplerateConverter
(
audioSampleRate_
)
)
,
converter_
(
sampleRate_
)
,
lastNotificationTime_
(
0
)
{
urgentRingBuffer_
.
createReadPointer
(
MainBuffer
::
DEFAULT_ID
);
}
AudioLayer
::~
AudioLayer
()
{
if
(
converter_
)
{
delete
converter_
;
converter_
=
NULL
;
}
}
void
AudioLayer
::
flushMain
()
{
ost
::
MutexLock
guard
(
mutex_
);
...
...
daemon/src/audio/audiolayer.h
View file @
9963c8ff
...
...
@@ -62,7 +62,7 @@ class AudioLayer {
public:
AudioLayer
();
virtual
~
AudioLayer
()
;
virtual
~
AudioLayer
()
{}
virtual
std
::
vector
<
std
::
string
>
getAudioDeviceList
(
AudioStreamDirection
dir
)
const
=
0
;
...
...
@@ -158,7 +158,7 @@ class AudioLayer {
* default: 44100 HZ
*/
unsigned
int
getSampleRate
()
const
{
return
audioS
ampleRate_
;
return
s
ampleRate_
;
}
/**
...
...
@@ -199,7 +199,7 @@ class AudioLayer {
* Sample Rate SFLphone should send sound data to the sound card
* The value can be set in the user config file- now: 44100HZ
*/
unsigned
int
audioS
ampleRate_
;
unsigned
int
s
ampleRate_
;
/**
* Lock for the entire audio layer
...
...
@@ -219,7 +219,7 @@ class AudioLayer {
/**
* Manage sampling rate conversion
*/
SamplerateConverter
*
converter_
;
SamplerateConverter
converter_
;
private:
/**
...
...
daemon/src/audio/audioloop.cpp
View file @
9963c8ff
...
...
@@ -53,10 +53,10 @@ AudioLoop::getNext(SFLDataFormat* output, size_t total_samples, short volume)
size_t
pos
=
pos_
;
if
(
size_
==
0
)
{
ERROR
(
"Audio
Loop: Error: Audio
loop size is 0"
);
ERROR
(
"Audio loop size is 0"
);
return
;
}
else
if
(
pos
>=
size_
)
{
ERROR
(
"
AudioLoop: Error:
Invalid loop position %d"
,
pos
);
ERROR
(
"Invalid loop position %d"
,
pos
);
return
;
}
...
...
daemon/src/audio/audiorecord.cpp
View file @
9963c8ff
...
...
@@ -28,6 +28,10 @@
* as that of the covered work.
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "audiorecord.h"
#include <unistd.h>
#include <sstream> // for stringstream
...
...
@@ -98,16 +102,16 @@ void AudioRecord::setRecordingOption(FILE_TYPE type, int sndSmplRate, const std:
void
AudioRecord
::
initFilename
(
const
std
::
string
&
peerNumber
)
{
std
::
string
fName
(
filename_
);
fName
.
append
(
"-"
+
peerNumber
);
fName
.
append
(
"-"
+
peerNumber
+
"-"
PACKAGE
);
if
(
fileType_
==
FILE_RAW
)
{
if
(
filename_
.
find
(
".raw"
)
==
std
::
string
::
npos
)
{
DEBUG
(
"
AudioRecord: c
oncatenate .raw file extension: name : %s"
,
filename_
.
c_str
());
DEBUG
(
"
C
oncatenate .raw file extension: name : %s"
,
filename_
.
c_str
());
fName
.
append
(
".raw"
);
}
}
else
if
(
fileType_
==
FILE_WAV
)
{
if
(
filename_
.
find
(
".wav"
)
==
std
::
string
::
npos
)
{
DEBUG
(
"
AudioRecord: c
oncatenate .wav file extension: name : %s"
,
filename_
.
c_str
());
DEBUG
(
"
C
oncatenate .wav file extension: name : %s"
,
filename_
.
c_str
());
fName
.
append
(
".wav"
);
}
}
...
...
@@ -125,7 +129,7 @@ bool AudioRecord::openFile()
bool
result
=
false
;
if
(
not
fileExists
())
{
DEBUG
(
"
AudioRecord:
Filename does not exist, creating one"
);
DEBUG
(
"Filename does not exist, creating one"
);
byteCounter_
=
0
;
if
(
fileType_
==
FILE_RAW
)
...
...
@@ -133,7 +137,7 @@ bool AudioRecord::openFile()
else
if
(
fileType_
==
FILE_WAV
)
result
=
setWavFile
();
}
else
{
DEBUG
(
"
AudioRecord:
Filename already exists, opening it"
);
DEBUG
(
"Filename already exists, opening it"
);
if
(
fileType_
==
FILE_RAW
)
result
=
openExistingRawFile
();
else
if
(
fileType_
==
FILE_WAV
)
...
...
@@ -180,7 +184,7 @@ void AudioRecord::setRecording()
void
AudioRecord
::
stopRecording
()
{
DEBUG
(
"
AudioRecording:
Stop recording"
);
DEBUG
(
"Stop recording"
);
recordingEnabled_
=
false
;
}
...
...
@@ -227,7 +231,7 @@ void AudioRecord::createFilename()
out
<<
timeinfo
->
tm_sec
;
filename_
=
out
.
str
();
DEBUG
(
"
AudioRecord:
Generate filename for this call %s "
,
filename_
.
c_str
());
DEBUG
(
"Generate filename for this call %s "
,
filename_
.
c_str
());
}
bool
AudioRecord
::
setRawFile
()
...
...
@@ -235,11 +239,11 @@ bool AudioRecord::setRawFile()
fileHandle_
=
fopen
(
savePath_
.
c_str
(),
"wb"
);
if
(
!
fileHandle_
)
{
WARN
(
"
AudioRecord:
Could not create RAW file!"
);
WARN
(
"Could not create RAW file!"
);
return
false
;
}
DEBUG
(
"
AudioRecord:setRawFile() :
created RAW file."
);
DEBUG
(
"created RAW file."
);
return
true
;
}
...
...
@@ -267,12 +271,12 @@ namespace {
bool
AudioRecord
::
setWavFile
()
{
DEBUG
(
"
AudioRecord:
Create new wave file %s, sampling rate: %d"
,
savePath_
.
c_str
(),
sndSmplRate_
);
DEBUG
(
"Create new wave file %s, sampling rate: %d"
,
savePath_
.
c_str
(),
sndSmplRate_
);
fileHandle_
=
fopen
(
savePath_
.
c_str
(),
"wb"
);
if
(
!
fileHandle_
)
{
WARN
(
"
AudioRecord: Error: c
ould not create WAV file."
);
WARN
(
"
C
ould not create WAV file."
);
return
false
;
}
...
...
@@ -297,11 +301,11 @@ bool AudioRecord::setWavFile()
hdr
.
bytes_per_sec
=
hdr
.
sample_rate
*
hdr
.
bytes_per_samp
;
if
(
fwrite
(
&
hdr
,
4
,
11
,
fileHandle_
)
!=
11
)
{
WARN
(
"
AudioRecord: Error: c
ould not write WAV header for file. "
);
WARN
(
"
C
ould not write WAV header for file. "
);
return
false
;
}
DEBUG
(
"
AudioRecord:
Wrote wave header
\"
%s
\"
"
,
header_to_string
(
hdr
).
c_str
());
DEBUG
(
"Wrote wave header
\"
%s
\"
"
,
header_to_string
(
hdr
).
c_str
());
return
true
;
}
...
...
@@ -310,7 +314,7 @@ bool AudioRecord::openExistingRawFile()
fileHandle_
=
fopen
(
filename_
.
c_str
(),
"ab+"
);
if
(
!
fileHandle_
)
{
WARN
(
"
AudioRecord:
could not create RAW file!"
);
WARN
(
"could not create RAW file!"
);
return
false
;
}
...
...
@@ -319,37 +323,37 @@ bool AudioRecord::openExistingRawFile()
bool
AudioRecord
::
openExistingWavFile
()
{
DEBUG
(
"
%s(%s)
\n
"
,
__PRETTY_FUNCTION__
,
filename_
.
c_str
());
DEBUG
(
"
Opening %s"
,
filename_
.
c_str
());
fileHandle_
=
fopen
(
filename_
.
c_str
(),
"rb+"
);
if
(
!
fileHandle_
)
{
WARN
(
"
AudioRecord: Error: c
ould not open WAV file!"
);
WARN
(
"
C
ould not open WAV file!"
);
return
false
;
}
if
(
fseek
(
fileHandle_
,
40
,
SEEK_SET
)
!=
0
)
// jump to data length
WARN
(
"
AudioRecord: Error:
Couldn't seek offset 40 in the file "
);
WARN
(
"Couldn't seek offset 40 in the file "
);
if
(
fread
(
&
byteCounter_
,
4
,
1
,
fileHandle_
))
WARN
(
"
AudioRecord: Error:
bytecounter Read successfully "
);
WARN
(
"bytecounter Read successfully "
);
if
(
fseek
(
fileHandle_
,
0
,
SEEK_END
)
!=
0
)
WARN
(
"
AudioRecord: Error:
Couldn't seek at the en of the file "
);
WARN
(
"Couldn't seek at the en of the file "
);
if
(
fclose
(
fileHandle_
)
!=
0
)
WARN
(
"
AudioRecord: Error:
Can't close file r+ "
);
WARN
(
"Can't close file r+ "
);
fileHandle_
=
fopen
(
filename_
.
c_str
(),
"ab+"
);
if
(
!
fileHandle_
)
{
WARN
(
"
AudioRecord: Error:
Could not createopen WAV file ab+!"
);
WARN
(
"Could not createopen WAV file ab+!"
);
return
false
;
}
if
(
fseek
(
fileHandle_
,
4
,
SEEK_END
)
!=
0
)
WARN
(
"
AudioRecord: Error:
Couldn't seek at the en of the file "
);
WARN
(
"Couldn't seek at the en of the file "
);
return
true
;
...
...
@@ -358,50 +362,50 @@ bool AudioRecord::openExistingWavFile()
void
AudioRecord
::
closeWavFile
()
{
if
(
fileHandle_
==
0
)
{
DEBUG
(
"
AudioRecord:
Can't closeWavFile, a file has not yet been opened!"
);
DEBUG
(
"Can't closeWavFile, a file has not yet been opened!"
);
return
;
}
DEBUG
(
"
AudioRecord:
Close wave file"
);
DEBUG
(
"Close wave file"
);
SINT32
bytes
=
byteCounter_
*
channels_
;
fseek
(
fileHandle_
,
40
,
SEEK_SET
);
// jump to data length
if
(
ferror
(
fileHandle_
))
WARN
(
"
AudioRecord: Error: c
an't reach offset 40 while closing"
);
WARN
(
"
C
an't reach offset 40 while closing"
);
fwrite
(
&
bytes
,
sizeof
(
SINT32
),
1
,
fileHandle_
);
if
(
ferror
(
fileHandle_
))
WARN
(
"
AudioRecord: Error: c
an't write bytes for data length "
);
WARN
(
"
C
an't write bytes for data length "
);
bytes
=
byteCounter_
*
channels_
+
44
;
// + 44 for the wave header
fseek
(
fileHandle_
,
4
,
SEEK_SET
);
// jump to file size
if
(
ferror
(
fileHandle_
))
WARN
(
"
AudioRecord: Error: c
an't reach offset 4"
);
WARN
(
"
C
an't reach offset 4"
);
fwrite
(
&
bytes
,
4
,
1
,
fileHandle_
);
if
(
ferror
(
fileHandle_
))