Revision: 2791
Author: seba.wagner
Date: Sat Jan 16 07:10:17 2010
Log: Some Audio Debug
http://code.google.com/p/openmeetings/source/detail?r=2791

Modified:
/trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/listener/ListenerAdapter.java /trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/listener/StreamAudioListener.java /trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/listener/StreamTranscodingListener.java /trunk/singlewebapp/src/app/org/openmeetings/app/hibernate/beans/flvrecord/FlvRecordingMetaDelta.hbm.xml /trunk/singlewebapp/src/app/org/openmeetings/app/hibernate/beans/flvrecord/FlvRecordingMetaDelta.java /trunk/singlewebapp/src/app/org/openmeetings/app/remote/FLVRecorderService.java

=======================================
--- /trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/listener/ListenerAdapter.java Sat Jan 16 03:12:39 2010 +++ /trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/listener/ListenerAdapter.java Sat Jan 16 07:10:17 2010
@@ -35,6 +35,8 @@

        protected boolean isScreenData = false;

+       protected Long offset = 0L;
+
        protected String streamName = "";

        public ListenerAdapter(String streamName, IScope scope,
@@ -93,6 +95,6 @@
                IStreamableFile flv = service.getStreamableFile(this.file);
                this.writer = flv.getWriter();

-       }
+       }

 }
=======================================
--- /trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/listener/StreamAudioListener.java Sat Jan 16 03:16:13 2010 +++ /trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/listener/StreamAudioListener.java Sat Jan 16 07:10:17 2010
@@ -33,6 +33,8 @@

        private int duration = 0;

+       private int purePacketLastTimeStamp = 0;
+
private static final Logger log = Red5LoggerFactory.getLogger(StreamAudioListener.class, "openmeetings");

        public StreamAudioListener(String streamName, IScope scope,
@@ -40,10 +42,101 @@
                // Auto-generated method stub
                super(streamName, scope, flvRecordingMetaDataId, isScreenData);
        }
+
+
+
+       public void streamResetEvent() {
+
+               try {
+
+ FlvRecordingMetaDelta flvRecordingMetaDelta = new FlvRecordingMetaDelta();
+
+                       flvRecordingMetaDelta.setDeltaTime(0L);
+ flvRecordingMetaDelta.setFlvRecordingMetaDataId(this.flvRecordingMetaDataId);
+                       flvRecordingMetaDelta.setTimeStamp(0);
+                       flvRecordingMetaDelta.setDebugStatus("RESET TYPE :: ");
+                       flvRecordingMetaDelta.setIsStartPadding(true);
+                       flvRecordingMetaDelta.setIsEndPadding(false);
+                       flvRecordingMetaDelta.setDataLengthPacket(0);
+                       
flvRecordingMetaDelta.setReceivedAudioDataLength(this.byteCount);
+                       
flvRecordingMetaDelta.setStartTime(this.startedSessionTimeDate);
+                       flvRecordingMetaDelta.setStreamCreationTime(null);
+                       flvRecordingMetaDelta.setStreamCreationTimeDate(null);
+                       flvRecordingMetaDelta.setPacketTimeStamp(lastTimeStamp);
+
+                       Date current_date = new Date();
+ Long deltaTimeStamp = current_date.getTime() - this.startedSessionTimeDate.getTime();
+
+                       //this.duration = Math.max(this.duration, 0 + 
this.writer.getOffset());
+                       flvRecordingMetaDelta.setDuration(0);
+
+                       Long missingTime = deltaTimeStamp - 0;
+
+                       flvRecordingMetaDelta.setMissingTime(missingTime);
+
+                       flvRecordingMetaDelta.setCurrentTime(current_date);
+                       flvRecordingMetaDelta.setDeltaTimeStamp(deltaTimeStamp);
+                       flvRecordingMetaDelta.setStartTimeStamp(startTimeStamp);
+
+                       this.flvRecordingMetaDeltas.add(flvRecordingMetaDelta);
+
+ FlvRecordingMetaDeltaDaoImpl.getInstance().addFlvRecordingMetaDelta(flvRecordingMetaDelta);
+
+                       this.offset += lastTimeStamp;
+
+               } catch (Exception e) {
+                       log.error("[packetReceived]",e);
+               }
+
+       }
+
+

        @Override
public void packetReceived(IBroadcastStream broadcastStream, IStreamPacket streampacket) {
                try {
+
+
+//                     //Here we handle Reseted timestamps!
+//                     if (startTimeStamp != -1) {
+//
+// long deltaTimeBetweenTimeStampes = purePacketLastTimeStamp - streampacket.getTimestamp();
+//
+// System.out.println("deltaTimeBetweenTimeStampes "+deltaTimeBetweenTimeStampes);
+//
+//                             if (deltaTimeBetweenTimeStampes < -100) {
+//
+//                                     
log.debug("############################################");
+//                                     
log.debug("############################################");
+//                                     
log.debug("############################################");
+//                                     
log.debug("############################################");
+//                                     
log.debug("############################################");
+//                                     
log.debug("############################################");
+//                                     
log.debug("############################################");
+//                                     log.debug("We have detected a Reset in the 
TimeStamps!");
+//
+// System.out.println("streampacket.getTimestamp() :: "+streampacket.getTimestamp()); +// System.out.println("purePacketLastTimeStamp :: "+purePacketLastTimeStamp);
+//                                     System.out.println("startTimeStamp :: 
"+startTimeStamp);
+//
+//                                     int debugTimeStamp = 
purePacketLastTimeStamp - startTimeStamp;
+//
+//                                     System.out.println("debugTimeStamp :: 
"+debugTimeStamp);
+//                                     System.out.println("offset :: "+offset);
+//
+//                                     
log.debug("############################################");
+//                                     
log.debug("############################################");
+//                                     
log.debug("############################################");
+//                                     
log.debug("############################################");
+//                                     
log.debug("############################################");
+//                                     
log.debug("############################################");
+//                                     
log.debug("############################################");
+//
+//                                     this.offset += debugTimeStamp;
+//
+//                             }
+//                             purePacketLastTimeStamp = 
streampacket.getTimestamp();
+//                     }

                        //We only care about audio at this moment
                        if (streampacket.getDataType() == 8) {
@@ -78,6 +171,7 @@
flvRecordingMetaDelta.setFlvRecordingMetaDataId(this.flvRecordingMetaDataId);
                                        flvRecordingMetaDelta.setTimeStamp(0);
                                        flvRecordingMetaDelta.setDebugStatus("INIT 
AUDIO");
+                                       
flvRecordingMetaDelta.setOffset(this.offset);
                                        
flvRecordingMetaDelta.setIsStartPadding(true);
                                        
flvRecordingMetaDelta.setIsEndPadding(false);
                                        
flvRecordingMetaDelta.setDataLengthPacket(data.limit());
@@ -85,6 +179,7 @@
                                        
flvRecordingMetaDelta.setStartTime(this.startedSessionTimeDate);
flvRecordingMetaDelta.setStreamCreationTime(broadcastStream.getCreationTime()); flvRecordingMetaDelta.setStreamCreationTimeDate(new Date(broadcastStream.getCreationTime()));
+                                       
flvRecordingMetaDelta.setPacketTimeStamp(streampacket.getTimestamp());

                                        Date current_date = new Date();
Long deltaTimeStamp = current_date.getTime() - this.startedSessionTimeDate.getTime();
@@ -102,6 +197,8 @@

                                        
this.flvRecordingMetaDeltas.add(flvRecordingMetaDelta);

+ FlvRecordingMetaDeltaDaoImpl.getInstance().addFlvRecordingMetaDelta(flvRecordingMetaDelta);
+
                                        //That will be not bigger then long 
value
                                        startTimeStamp = (int) 
(streampacket.getTimestamp() - delta);

@@ -136,6 +233,8 @@

                                timeStamp -= startTimeStamp;

+                               timeStamp += this.offset;
+
                                if (lastTimeStamp == -1) {
                                        deltaTime = timeStamp;
                                } else {
@@ -153,11 +252,14 @@
                                        
flvRecordingMetaDelta.setTimeStamp(timeStamp);
                                        flvRecordingMetaDelta.setDebugStatus("RUN 
AUDIO");
                                        
flvRecordingMetaDelta.setIsStartPadding(false);
+                                       
flvRecordingMetaDelta.setOffset(this.offset);
                                        
flvRecordingMetaDelta.setIsEndPadding(false);
                                        
flvRecordingMetaDelta.setDataLengthPacket(data.limit());
                                        
flvRecordingMetaDelta.setReceivedAudioDataLength(this.byteCount);
                                        
flvRecordingMetaDelta.setStartTime(this.startedSessionTimeDate);
-
+ flvRecordingMetaDelta.setStreamCreationTime(broadcastStream.getCreationTime()); + flvRecordingMetaDelta.setStreamCreationTimeDate(new Date(broadcastStream.getCreationTime()));
+                                       
flvRecordingMetaDelta.setPacketTimeStamp(streampacket.getTimestamp());

                                        Date current_date = new Date();
Long deltaTimeStamp = current_date.getTime() - this.startedSessionTimeDate.getTime();
@@ -175,6 +277,8 @@

                                        
this.flvRecordingMetaDeltas.add(flvRecordingMetaDelta);

+ FlvRecordingMetaDeltaDaoImpl.getInstance().addFlvRecordingMetaDelta(flvRecordingMetaDelta);
+
                                }

                    ITag tag = new Tag();
@@ -242,7 +346,7 @@

for (FlvRecordingMetaDelta flvRecordingMetaDeltaLoop : this.flvRecordingMetaDeltas) {

- FlvRecordingMetaDeltaDaoImpl.getInstance().addFlvRecordingMetaDelta(flvRecordingMetaDeltaLoop); + //FlvRecordingMetaDeltaDaoImpl.getInstance().addFlvRecordingMetaDelta(flvRecordingMetaDeltaLoop);

                                }

=======================================
--- /trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/listener/StreamTranscodingListener.java Sat Jan 16 03:12:39 2010 +++ /trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/listener/StreamTranscodingListener.java Sat Jan 16 07:10:17 2010
@@ -413,5 +413,10 @@
log.debug("#################### -end- closeStream ########################");
                }
        }
+
+       public void streamResetEvent() {
+               // TODO Auto-generated method stub
+
+       }

 }
=======================================
--- /trunk/singlewebapp/src/app/org/openmeetings/app/hibernate/beans/flvrecord/FlvRecordingMetaDelta.hbm.xml Sat Jan 16 03:12:39 2010 +++ /trunk/singlewebapp/src/app/org/openmeetings/app/hibernate/beans/flvrecord/FlvRecordingMetaDelta.hbm.xml Sat Jan 16 07:10:17 2010
@@ -9,19 +9,20 @@
<property name="flvRecordingMetaDataId" type="long" column="flvrecording_metadata_id"/>
     <property name="timeStamp" type="int" column="time_stamp"/>
     <property name="deltaTime" type="long" column="delta_time"/>
- <property name="waveOutPutName" type="string" column="wave_out_put_name"/> - <property name="dataLengthPacket" type="int" column="data_length_packet"/> - <property name="receivedAudioDataLength" type="long" column="received_audio_data_length"/>
-    <property name="startTime" type="java.util.Date" column="start_time"/>
- <property name="currentTime" type="java.util.Date" column="current_event_time"/>
     <property name="deltaTimeStamp" type="long" column="delta_time_stamp"/>
+ <property name="packetTimeStamp" type="int" column="packet_time_stamp"/>
+    <property name="startTimeStamp" type="int" column="start_time_stamp"/>
     <property name="missingTime" type="long" column="missing_time"/>
     <property name="duration" type="int" column="duration"/>
-    <property name="startTimeStamp" type="int" column="start_time_stamp"/>
+    <property name="startTime" type="java.util.Date" column="start_time"/>
+ <property name="currentTime" type="java.util.Date" column="current_event_time"/>
     <property name="isEndPadding" type="boolean" column="is_end_padding"/>
<property name="isStartPadding" type="boolean" column="is_start_padding"/>
     <property name="debugStatus" type="string" column="debug_status"/>
<property name="streamCreationTime" type="long" column="stream_creation_time"/> <property name="streamCreationTimeDate" type="java.util.Date" column="stream_creation_time_date"/> + <property name="waveOutPutName" type="string" column="wave_out_put_name"/> + <property name="dataLengthPacket" type="int" column="data_length_packet"/> + <property name="receivedAudioDataLength" type="long" column="received_audio_data_length"/>
   </class>
 </hibernate-mapping>
=======================================
--- /trunk/singlewebapp/src/app/org/openmeetings/app/hibernate/beans/flvrecord/FlvRecordingMetaDelta.java Sat Jan 16 03:12:39 2010 +++ /trunk/singlewebapp/src/app/org/openmeetings/app/hibernate/beans/flvrecord/FlvRecordingMetaDelta.java Sat Jan 16 07:10:17 2010
@@ -17,9 +17,11 @@
        private Date startTime;
        private Date currentTime;
        private Long deltaTimeStamp;
+       private Long offset;
        private Long missingTime;
        private Integer duration;
        private Integer startTimeStamp;
+       private Integer packetTimeStamp;
        private String waveOutPutName;
        private Integer dataLengthPacket;
        private Long receivedAudioDataLength;
@@ -80,74 +82,49 @@

        /**
      * @hibernate.property
-     *  column="wave_out_put_name"
-     *  type="string"
-     */
-       public String getWaveOutPutName() {
-               return waveOutPutName;
-       }
-       public void setWaveOutPutName(String waveOutPutName) {
-               this.waveOutPutName = waveOutPutName;
+     *  column="delta_time_stamp"
+     *  type="long"
+     */
+       public Long getDeltaTimeStamp() {
+               return deltaTimeStamp;
+       }
+       public void setDeltaTimeStamp(Long deltaTimeStamp) {
+               this.deltaTimeStamp = deltaTimeStamp;
        }

        /**
      * @hibernate.property
-     *  column="data_length_packet"
+     *  column="packet_time_stamp"
      *  type="int"
-     */
-       public Integer getDataLengthPacket() {
-               return dataLengthPacket;
-       }
-       public void setDataLengthPacket(Integer dataLengthPacket) {
-               this.dataLengthPacket = dataLengthPacket;
+     */
+       public Integer getPacketTimeStamp() {
+               return packetTimeStamp;
+       }
+       public void setPacketTimeStamp(Integer packetTimeStamp) {
+               this.packetTimeStamp = packetTimeStamp;
        }

        /**
      * @hibernate.property
-     *  column="received_audio_data_length"
+     *  column="packet_time_stamp"
      *  type="long"
-     */
-       public Long getReceivedAudioDataLength() {
-               return receivedAudioDataLength;
-       }
-       public void setReceivedAudioDataLength(Long receivedAudioDataLength) {
-               this.receivedAudioDataLength = receivedAudioDataLength;
-       }
-
-       /**
-     * @hibernate.property
-     *  column="start_time"
-     *  type="java.util.Date"
      */
-       public Date getStartTime() {
-               return startTime;
-       }
-       public void setStartTime(Date startTime) {
-               this.startTime = startTime;
-       }
-
+       public Long getOffset() {
+               return offset;
+       }
+       public void setOffset(Long offset) {
+               this.offset = offset;
+       }
        /**
      * @hibernate.property
-     *  column="current_event_time"
-     *  type="java.util.Date"
-     */
-       public Date getCurrentTime() {
-               return currentTime;
-       }
-       public void setCurrentTime(Date currentTime) {
-               this.currentTime = currentTime;
-       }
-
-       /**
-     * @hibernate.property
-     *  column="delta_time_stamp"
-     *  type="long"
+     *  column="start_time_stamp"
+     *  type="int"
      */
-       public Long getDeltaTimeStamp() {
-               return deltaTimeStamp;
-       }
-       public void setDeltaTimeStamp(Long deltaTimeStamp) {
-               this.deltaTimeStamp = deltaTimeStamp;
+       public Integer getStartTimeStamp() {
+               return startTimeStamp;
+       }
+       public void setStartTimeStamp(Integer startTimeStamp) {
+               this.startTimeStamp = startTimeStamp;
        }

        /**
@@ -176,14 +153,26 @@

        /**
      * @hibernate.property
-     *  column="start_time_stamp"
-     *  type="int"
-     */
-       public Integer getStartTimeStamp() {
-               return startTimeStamp;
-       }
-       public void setStartTimeStamp(Integer startTimeStamp) {
-               this.startTimeStamp = startTimeStamp;
+     *  column="start_time"
+     *  type="java.util.Date"
+     */
+       public Date getStartTime() {
+               return startTime;
+       }
+       public void setStartTime(Date startTime) {
+               this.startTime = startTime;
+       }
+
+       /**
+     * @hibernate.property
+     *  column="current_event_time"
+     *  type="java.util.Date"
+     */
+       public Date getCurrentTime() {
+               return currentTime;
+       }
+       public void setCurrentTime(Date currentTime) {
+               this.currentTime = currentTime;
        }

        /**
@@ -246,6 +235,40 @@
                this.streamCreationTimeDate = streamCreationTimeDate;
        }

-
+       /**
+     * @hibernate.property
+     *  column="wave_out_put_name"
+     *  type="string"
+     */
+       public String getWaveOutPutName() {
+               return waveOutPutName;
+       }
+       public void setWaveOutPutName(String waveOutPutName) {
+               this.waveOutPutName = waveOutPutName;
+       }
+
+       /**
+     * @hibernate.property
+     *  column="data_length_packet"
+     *  type="int"
+     */
+       public Integer getDataLengthPacket() {
+               return dataLengthPacket;
+       }
+       public void setDataLengthPacket(Integer dataLengthPacket) {
+               this.dataLengthPacket = dataLengthPacket;
+       }
+
+       /**
+     * @hibernate.property
+     *  column="received_audio_data_length"
+     *  type="long"
+     */
+       public Long getReceivedAudioDataLength() {
+               return receivedAudioDataLength;
+       }
+       public void setReceivedAudioDataLength(Long receivedAudioDataLength) {
+               this.receivedAudioDataLength = receivedAudioDataLength;
+       }

 }
=======================================
--- /trunk/singlewebapp/src/app/org/openmeetings/app/remote/FLVRecorderService.java Sat Jan 16 03:12:39 2010 +++ /trunk/singlewebapp/src/app/org/openmeetings/app/remote/FLVRecorderService.java Sat Jan 16 07:10:17 2010
@@ -282,6 +282,7 @@
ClientBroadcastStream stream = (ClientBroadcastStream) ScopeApplicationAdapter.getInstance()
                                        .getBroadcastStream(conn.getScope(), 
broadcastid);

+
                        // Save the stream to disk.
                        if (isScreenData) {
stream.addStreamListener(new StreamScreenListener(streamName, conn.getScope(), flvRecordingMetaDataId, isScreenData));
-- 
You received this message because you are subscribed to the Google Groups 
"OpenMeetings developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/openmeetings-dev?hl=en.


Reply via email to