• R/O
  • HTTP
  • SSH
  • HTTPS

common_source_project-fm7: Commit

Common Source Code Project for Qt (a.k.a for FM-7).


Commit MetaInfo

Revision5293ff06fb3ec7e1af33689907795af3dc34397a (tree)
Time2022-08-05 21:31:51
AuthorK.Ohta <whatisthis.sowhat@gmai...>
CommiterK.Ohta

Log Message

[OSD][SOUND][SOUND_BUFFER] Make sound buffer to RINGED BUFFER, and make shared pointer of based FIFO template (UNLOCKED_FIFO).

Change Summary

Incremental Difference

--- a/source/src/qt/sound_buffer_qt.cpp
+++ b/source/src/qt/sound_buffer_qt.cpp
@@ -5,7 +5,8 @@ SOUND_BUFFER_QT::SOUND_BUFFER_QT(uint64_t depth, QObject *parent) : QIODevice(pa
55 {
66 // printf("SOUND_BUFFER_QT(%d)\n", depth);
77 if((depth > 0) && (depth < INT_MAX)) {
8- m_buffer.reset(new FIFO_BASE::LOCKED_FIFO<uint8_t>((int)depth));
8+ //m_buffer.reset(new FIFO_BASE::LOCKED_FIFO<uint8_t>((int)depth));
9+ m_buffer.reset(new FIFO_BASE::LOCKED_RINGBUFFER<uint8_t>((int)depth));
910 }
1011 }
1112
@@ -26,7 +27,7 @@ bool SOUND_BUFFER_QT::open(QIODeviceBase::OpenMode flags)
2627 }
2728
2829 if ((flags & QIODeviceBase::Truncate) == QIODeviceBase::Truncate) {
29- std::shared_ptr<FIFO_BASE::LOCKED_FIFO<uint8_t>> p = m_buffer;
30+ std::shared_ptr<FIFO_BASE::UNLOCKED_FIFO<uint8_t>> p = m_buffer;
3031 p->clear();
3132 }
3233 //return QIODevice::open(flags | QIODevice::Unbuffered);
@@ -44,7 +45,7 @@ bool SOUND_BUFFER_QT::open(QIODevice::OpenMode flags)
4445 }
4546
4647 if ((flags & QIODevice::Truncate) == QIODevice::Truncate) {
47- std::shared_ptr<FIFO_BASE::LOCKED_FIFO<uint8_t>> p = m_buffer;
48+ std::shared_ptr<FIFO_BASE::UNLOCKED_FIFO<uint8_t>> p = m_buffer;
4849 p->clear();
4950 }
5051 //return QIODevice::open(flags | QIODevice::Unbuffered);
@@ -55,7 +56,7 @@ bool SOUND_BUFFER_QT::open(QIODevice::OpenMode flags)
5556 void SOUND_BUFFER_QT::close()
5657 {
5758 // //printf("close()\n");
58- std::shared_ptr<FIFO_BASE::LOCKED_FIFO<uint8_t>> p = m_buffer;
59+ std::shared_ptr<FIFO_BASE::UNLOCKED_FIFO<uint8_t>> p = m_buffer;
5960 if(p) {
6061 p->clear();
6162 }
@@ -65,7 +66,7 @@ void SOUND_BUFFER_QT::close()
6566 bool SOUND_BUFFER_QT::resize(qint64 sz)
6667 {
6768 // printf("resize()\n");
68- std::shared_ptr<FIFO_BASE::LOCKED_FIFO<uint8_t>> p = m_buffer;
69+ std::shared_ptr<FIFO_BASE::UNLOCKED_FIFO<uint8_t>> p = m_buffer;
6970 if((sz <= 0) || (sz >= INT_MAX) || !(p)) {
7071 return false;
7172 }
@@ -86,7 +87,7 @@ qint64 SOUND_BUFFER_QT::bytesToWrite() const
8687 {
8788 qint64 _n = (qint64)0;
8889
89- std::shared_ptr<FIFO_BASE::LOCKED_FIFO<uint8_t>> p = m_buffer;
90+ std::shared_ptr<FIFO_BASE::UNLOCKED_FIFO<uint8_t>> p = m_buffer;
9091 #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
9192 if((p) && ((openMode() & QIODeviceBase::Unbuffered) == 0)) {
9293 #else
@@ -103,7 +104,7 @@ qint64 SOUND_BUFFER_QT::bytesToWrite() const
103104 qint64 SOUND_BUFFER_QT::bytesAvailable() const
104105 {
105106 qint64 _size = QIODevice::bytesAvailable();
106- std::shared_ptr<FIFO_BASE::LOCKED_FIFO<uint8_t>> p = m_buffer;
107+ std::shared_ptr<FIFO_BASE::UNLOCKED_FIFO<uint8_t>> p = m_buffer;
107108 if(p) {
108109 _size += p->count();
109110 //_size += (qint64)(p->fifo_size() - p->count());
@@ -116,7 +117,7 @@ qint64 SOUND_BUFFER_QT::pos() const
116117 {
117118 qint64 _pos = (qint64)0;
118119 #if 0
119- std::shared_ptr<FIFO_BASE::LOCKED_FIFO<uint8_t>> p = m_buffer;
120+ std::shared_ptr<FIFO_BASE::UNLOCKED_FIFO<uint8_t>> p = m_buffer;
120121 if(p) {
121122 _pos = (p->count()) % (p->fifo_size());
122123 }
@@ -134,7 +135,7 @@ bool SOUND_BUFFER_QT::seek(qint64 pos)
134135 if(pos == 0) {
135136 return true;
136137 }
137- std::shared_ptr<FIFO_BASE::LOCKED_FIFO<uint8_t>> p = m_buffer;
138+ std::shared_ptr<FIFO_BASE::UNLOCKED_FIFO<uint8_t>> p = m_buffer;
138139 if(p) {
139140 if(pos < p->count()) {
140141 uint8_t* buf = new uint8_t[pos];
@@ -155,7 +156,7 @@ bool SOUND_BUFFER_QT::atEnd() const
155156 {
156157 // printf("atEnd()\n");
157158 const bool result = isOpen();
158- std::shared_ptr<FIFO_BASE::LOCKED_FIFO<uint8_t>> p = m_buffer;
159+ std::shared_ptr<FIFO_BASE::UNLOCKED_FIFO<uint8_t>> p = m_buffer;
159160 if(p) {
160161 return (!(result) || (p->empty()));
161162 }
@@ -166,7 +167,7 @@ bool SOUND_BUFFER_QT::atEnd() const
166167 bool SOUND_BUFFER_QT::reset()
167168 {
168169 //printf("reset()\n");
169- std::shared_ptr<FIFO_BASE::LOCKED_FIFO<uint8_t>> p = m_buffer;
170+ std::shared_ptr<FIFO_BASE::UNLOCKED_FIFO<uint8_t>> p = m_buffer;
170171 if(p) {
171172 p->clear();
172173 return true;
@@ -178,7 +179,7 @@ qint64 SOUND_BUFFER_QT::readData(char *data, qint64 len)
178179 {
179180 //printf("readData() called len=%lld\n", len);
180181 if(!(isReadable()) || !(isOpen())) return qint64(-1);
181- std::shared_ptr<FIFO_BASE::LOCKED_FIFO<uint8_t>> p = m_buffer;
182+ std::shared_ptr<FIFO_BASE::UNLOCKED_FIFO<uint8_t>> p = m_buffer;
182183
183184 if(p) {
184185 if ((len = qMin(len, qint64(p->count()))) <= 0) {
@@ -198,7 +199,7 @@ qint64 SOUND_BUFFER_QT::writeData(const char *data, qint64 len)
198199 {
199200 if(!(isWritable()) || !(isOpen())) return qint64(-1);
200201 //printf("writeData() called len=%lld\n", len);
201- std::shared_ptr<FIFO_BASE::LOCKED_FIFO<uint8_t>> p = m_buffer;
202+ std::shared_ptr<FIFO_BASE::UNLOCKED_FIFO<uint8_t>> p = m_buffer;
202203 if(p) {
203204 if ((len = qMin(len, qint64(p->left()))) <= 0) {
204205 return qint64(0);
--- a/source/src/qt/sound_buffer_qt.h
+++ b/source/src/qt/sound_buffer_qt.h
@@ -11,7 +11,8 @@ class DLL_PREFIX SOUND_BUFFER_QT : public QIODevice
1111 Q_OBJECT
1212
1313 protected:
14- std::shared_ptr<FIFO_BASE::LOCKED_FIFO<uint8_t>>m_buffer;
14+ //std::shared_ptr<FIFO_BASE::LOCKED_FIFO<uint8_t>>m_buffer;
15+ std::shared_ptr<FIFO_BASE::UNLOCKED_FIFO<uint8_t>>m_buffer;
1516 public:
1617 SOUND_BUFFER_QT(uint64_t depth = 0, QObject *parent = nullptr);
1718 ~SOUND_BUFFER_QT();
Show on old repository browser