44 explicit RtpAudioFile(
bool use_disk_for_temp,
bool use_disk_for_frames);
48 void setFrameWriteStage();
49 void frameWriteSilence(uint32_t frame_num, qint64 samples);
50 qint64 frameWriteSamples(uint32_t frame_num,
const char *data, qint64 max_size);
53 void setFrameReadStage(qint64 prepend_samples);
54 bool readFrameSamples(int32_t *read_buff_bytes, SAMPLE **read_buff, spx_uint32_t *read_len, uint32_t *frame_num, rtp_frame_type *type);
57 void setDataReadStage();
58 bool open(QIODevice::OpenMode mode)
override;
59 qint64 size()
const override;
60 qint64 pos()
const override;
61 bool seek(qint64 off)
override;
62 qint64 sampleFileSize();
63 void seekSample(qint64 samples);
64 qint64 readSample(SAMPLE *sample);
65 qint64 getTotalSamples();
66 qint64 getEndOfSilenceSample();
70 qint64 readData(
char *data, qint64 maxSize)
override;
71 qint64 writeData(
const char *data, qint64 maxSize)
override;
74 QIODevice *sample_file_;
75 QIODevice *sample_file_frame_;
83 qint64 frameWriteFrame(uint32_t frame_num, qint64 real_pos, qint64 sample_pos, qint64 len, rtp_frame_type type);
84 void frameUpdateRealCounters(qint64 written_bytes);
85 void frameUpdateSampleCounters(qint64 written_bytes);
90 qint64 readFrameData(
char *data , qint64 want_read);