Ticket #68 (closed defect: fixed)

Opened 3 years ago

Last modified 1 year ago

Lost header logical packets

Reported by: alban@tryphon.org Assigned to: alban@tryphon.org
Priority: normal Milestone: 20060515
Component: default Version: 20060315
Severity: critical Keywords:
Cc:

Description

The new UDP transport cannot transmit reliably the header packets. When the logical header page is incompleted or missing, the pipe consumers cannot make up a valid Ogg stream.

ERROR  [AudioPlayer$PlayRunnable]: Sound stream error
java.lang.IllegalArgumentException: Read page isn't first page: DefaultLogicalPage[descriptor=DefaultLogicalPageDescriptor[sequenceNumber=1142454266859,timestamp=1142454360107,count=4,firstPage=false],packets.count=4]
        at org.apache.commons.lang.Validate.isTrue(Validate.java:155)
        at org.kolaka.freecast.pipe.ConsumerInputStreamFactory$Stream.<init>(ConsumerInputStreamFactory.java:79)
        at org.kolaka.freecast.pipe.ConsumerInputStreamFactory.next(ConsumerInputStreamFactory.java:52)
        at org.kolaka.freecast.player.AudioPlayer$PlayRunnable.run(AudioPlayer.java:172)
        at java.lang.Thread.run(Thread.java:595)

For the moment, the loss occurs especially when a new connection is initiated and the sender sends the available packets in the pipe (lack of sending flow control to be fixed in another issue).

Attachments

Change History

03/16/06 08:48:27 changed by alban@tryphon.org

  • blocked set to 11.

03/16/06 09:01:14 changed by alban@tryphon.org

  • status changed from new to assigned.
Several options to avoid the problem:

- throw an exception to the producer when the pipe have no available header page. The PeerReceiver using this producer will be able to request a new header packet (with a UNACTIVATED (unsupported) /ACTIVATED sequence)
- flag the MessagePacket which contains header packets and implement an automatic resending (after a few seconds) until an receiver acknowledgement. Requires a specific acknowlegdement message.

03/18/06 08:55:47 changed by alban@tryphon.org

  • status changed from assigned to closed.
  • resolution set to fixed.
the second solution has been implemented. The consumer pipe logic has been modified to "wait" a valid header when needed.

05/25/06 19:43:51 changed by alban@tryphon.org

  • milestone changed from next to 20060515.
released into 20060515

11/27/07 19:15:58 changed by alban

  • priority changed from high to normal.

Add/Change #68 (Lost header logical packets)




Change Properties
Action