summaryrefslogtreecommitdiff
path: root/src/mov_encoder_writer.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/mov_encoder_writer.cc')
-rw-r--r--src/mov_encoder_writer.cc267
1 files changed, 0 insertions, 267 deletions
diff --git a/src/mov_encoder_writer.cc b/src/mov_encoder_writer.cc
index 83530ac..717998a 100644
--- a/src/mov_encoder_writer.cc
+++ b/src/mov_encoder_writer.cc
@@ -111,273 +111,6 @@ void MovEncoderWriter::thread_main()
audio_queue, audio_mutex, audio_sem);
multiplexer.multiplex();
-#if 0
- int wrote = 0;
- while(running ) {
- sem_wait(audio_sem);
-
- // Lock output mutex
- pthread_mutex_lock(audio_mutex);
- audio_frame = audio_queue->top();
- if(audio_frame && audio_frame->number == audio_frame_number) audio_queue->pop();
- pthread_mutex_unlock(audio_mutex);
- // Unlock output mutex
-
- while(audio_frame && (audio_frame->number == audio_frame_number)) {
- if(file->Write(audio_frame->data, audio_frame->size) == -1) {
- info->error("File write returned -1.");
- return;
- }
-
- delete audio_frame;
- audio_frame = NULL;
-
- wrote ++;
- audio_frame_number++;
-
- // Lock output mutex
- pthread_mutex_lock(audio_mutex);
- audio_frame = audio_queue->top();
- if(audio_frame && audio_frame->number == audio_frame_number) audio_queue->pop();
- pthread_mutex_unlock(audio_mutex);
- // Unlock output mutex
- }
- }
-#endif/*0*/
-
- // info->info("Wrote %d mpeg packets.", wrote);
info->info("MovEncoderWriter::stop");
}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#if 0
-void MovEncoderWriter::write_system_header(unsigned int audio_size, unsigned int video_size)
-{
- /*
- Sys_header_struc sys_header;
-
- unsigned int mux_rate = (audio_size + video_size) * 25;
-
- create_sys_header(&sys_header,
- mux_rate, //unsigned int rate_bound,
- 1, //unsigned char audio_bound,
- 1, //unsigned char fixed,
- 1, //unsigned char CSPS,
- 1, //unsigned char audio_lock,
- 1, //unsigned char video_lock,
- 1, //unsigned char video_bound,
-
- AUDIO_STR_0, //unsigned char stream1,
- 0, //unsigned char buffer1_scale,
- audio_size, //unsigned int buffer1_size,
- // audio_size/128, //unsigned int buffer1_size,
-
- VIDEO_STR_0, //unsigned char stream2,
- 1, //unsigned char buffer2_scale,
- // video_size/1024, //unsigned int buffer2_size,
- video_size, //unsigned int buffer2_size,
-
- // We both have audio *and* video
- STREAMS_BOTH);//unsigned int which_streams
-
-// create_sys_header (sys_header, mux_rate, 1, 1, 1, 1, 1, 1,
-// AUDIO_STR_0, 0, audio_size/128,
-// VIDEO_STR_0, 1, video_size/1024, STREAMS_BOTH );
-
- file->Write(sys_header.buf, sizeof(sys_header.buf));
-*/
- /**
- * My shot at a valid system header
- */
- /*
- // PACK
- char pack_start_code[] = {
- 0x00, 0x00, 0x01, 0xBA,
- };
-
- file->Write(pack_start_code, sizeof(pack_start_code));
-
- char pack_data[] = {
- 0x21, // SCR-32 thru 30, marker bit
- 0x00, 0x01, // SCR-29 thru 15, marker bit
- 0x80, 0xF5, // SCR-14 thru 0, marker bit
- 0x80, 0x1B, 0x83 // Marker bit, mux_rate, marker_bit
- };
-
- file->Write(pack_data, sizeof(pack_data));
- */
- /*
- // SYSTEM
- char system_header_start_code[] = {
- 0x00, 0x00, 0x01, 0xBB,
- };
-
- file->Write(system_header_start_code, sizeof(system_header_start_code));
-
- char system_data[] = {
- 0x00, 0x0C, // Header length
- 0x80, 0x1B, 0x83, // Marker bit, rate_bound,marker_bit
- 0x07, // Audio bound, fixed_flag, CSPS_flag
- 0xA1, // system_audio_lock_flag, system_video_lock_flag
- 0xFF, // Reserved byte
- 0xC0, // Stream id (audio)
- // 0xC0, 0x20, // '11', STD_buffer_bound_scale, STD_buffer_size_bound
- 0xFF, 0xFF, // '11', STD_buffer_bound_scale, STD_buffer_size_bound
- 0xE0, // Stream id (video)
- // 0xE0, 0x2E // '11', STD_buffer_bound_scale, STD_buffer_size_bound
- 0xFF, 0xFF // '11', STD_buffer_bound_scale, STD_buffer_size_bound
- };
-
- file->Write(system_data, sizeof(system_data));
-
- char padding_header_start_code[] = {
- 0x00, 0x00, 0x01, 0xBE
- };
-
- file->Write(padding_header_start_code, sizeof(padding_header_start_code));
-
- char padding_data[] = {
- 0x00, 0x04, // Padding length
- 0x0F, 0xFF, 0xFF, 0xFF // Padding
- };
-
- file->Write(padding_data, sizeof(padding_data));
- */
-}
-
-void MovEncoderWriter::write_packet_header(unsigned int audio_size, unsigned int video_size)
-{
- /*
- Pack_struc pack;
- timestamp += 1.0;
- make_timecode(timestamp, &SCR);
- // Timecode_struc SCR;
- unsigned int mux_rate = (audio_size + video_size) * 25;
- // SCR.
-
- create_pack(&pack, mux_rate, &SCR);
-
- file->Write(pack.buf, sizeof(pack.buf));
-
- unsigned char timestampbuf[32];
- unsigned char *i = timestampbuf;
- buffer_timecode (&SCR, MARKER_JUST_PTS, &i);
-
- file->Write(timestampbuf, (int)i - (int)timestampbuf);
- */
-}
-
-void MovEncoderWriter::write_video_header(unsigned short int psize)
-{
- // PES Header startcode
- char startcode[] = {
- 0x00, 0x00, 0x01
- };
-
- // Video stream, index = 0
- char streamID[] = {
- 0xE0
- };
-
- char packetsize[] = { 0x00, 0x00 };
-
- char stuffing_bytes[] = {
- 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0x0F
- };
-
- file->Write(startcode, sizeof(startcode));
-
- file->Write(streamID, sizeof(streamID));
-
- psize +=
- sizeof(stuffing_bytes);
- packetsize[0] = ((char*)&psize)[1];
- packetsize[1] = ((char*)&psize)[0];
- file->Write(packetsize, sizeof(packetsize));
-
- file->Write(stuffing_bytes, sizeof(stuffing_bytes));
-}
-
-void MovEncoderWriter::write_audio_header(unsigned short int psize)
-{
- // PES Header startcode
- char startcode[] = {
- 0x00, 0x00, 0x01
- };
-
- // Audio stream, index = 0
- char streamID[] = {
- 0xC0
- };
-
- char packetsize[] = { 0x00, 0x00 };
-
- char stuffing_bytes[] = {
- 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF
- };
-
- char std_buffer[] = {
- 0x40, // STD_buffer_scale
- 0x20 // STD_buffer_size
- };
-
- char PTS[] = {
- 0x21, // SCR-32 thru 30, marker bit
- 0x00, 0x01, // SCR-29 thru 15, marker bit
- 0xCE, 0x37 // SCR-14 thru 0, marker bit
- };
-
- file->Write(startcode, sizeof(startcode));
-
- file->Write(streamID, sizeof(streamID));
-
- psize += sizeof(stuffing_bytes) + sizeof(std_buffer) + sizeof(PTS);
- packetsize[0] = ((char*)&psize)[1];
- packetsize[1] = ((char*)&psize)[0];
- file->Write(packetsize, sizeof(packetsize));
-
- file->Write(stuffing_bytes, sizeof(stuffing_bytes));
-
- file->Write(std_buffer, sizeof(std_buffer));
-
- file->Write(PTS, sizeof(PTS));
-
-}
-
-#endif /*0*/