Modify

Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#6851 closed defect (fixed)

Regression: Voice Files (*.wav) not playing

Reported by: anonymous Owned by: team
Priority: major Milestone:
Component: Core Version: tested
Keywords: wav Cc: jttt

Description (last modified by bastiK)

For multiple wav file referenced by a gpx file, only the first is playing.

Attachments (1)

OSM Tracker zu bearbeiten.7z (1.1 MB ) - added by luebkert@… 13 years ago.
Recordet with OSM Tracker 0.8.1 : JOSM Ver 4487 is only able to play the file "VER4487can play.wav". JOSM ver 4279 can play all files. This occures also with other data when the GPX Files are loaded with no errors. I sent the whole set of data for more investigation. JOSM ver 4279 was the last version where the *.wav Playing was working fine. :-) Rudi

Download all attachments as: .zip

Change History (15)

comment:1 by anonymous, 13 years ago

Summary: Voice Files not playing in version 4399Voice Files (*.wav) not playing in version 4399

comment:2 by Don-vip, 13 years ago

Ticket #6915 has been marked as a duplicate of this ticket.

comment:3 by skyper, 13 years ago

Summary: Voice Files (*.wav) not playing in version 4399Voice Files (*.wav) not playing

by luebkert@…, 13 years ago

Recordet with OSM Tracker 0.8.1 : JOSM Ver 4487 is only able to play the file "VER4487can play.wav". JOSM ver 4279 can play all files. This occures also with other data when the GPX Files are loaded with no errors. I sent the whole set of data for more investigation. JOSM ver 4279 was the last version where the *.wav Playing was working fine. :-) Rudi

comment:4 by Don-vip, 13 years ago

Can someone reproduce ? All these files are playing fine on my machine.

comment:5 by anonymous, 13 years ago

Strange, I get warnings about file was only partly opened with r4512 and r4279.

The files show up though and I can reproduce the behaviour of #6915 with 20111003_121216-wp.gpx.

  • The first audio plays.
  • clicking on the second one kills JOSM
Repository Root: http://josm.openstreetmap.de/svn
Build-Date: 2011-10-10 01:31:57
Last Changed Author: stoecker
Revision: 4512
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
URL: http://josm.openstreetmap.de/svn/trunk
Last Changed Date: 2011-10-10 00:16:18 +0200 (Mon, 10 Oct 2011)
Last Changed Rev: 4512

Identification: JOSM/1.5 (4512 en)
Memory Usage: 105 MB / 1820 MB (27 MB allocated, but free)
Java version: 1.6.0_20, Sun Microsystems Inc., OpenJDK 64-Bit Server VM
Operating system: Linux
Using /usr/lib/jvm/java-6-openjdk/bin/java to execute josm.
Repository Root: http://josm.openstreetmap.de/svn
Build-Date: 2011-10-10 01:31:57
Last Changed Author: stoecker
Revision: 4512
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
URL: http://josm.openstreetmap.de/svn/trunk
Last Changed Date: 2011-10-10 00:16:18 +0200 (Mon, 10 Oct 2011)
Last Changed Rev: 4512

Error parsing gtk-icon-sizes string: ''
GET http://api.openstreetmap.org/api/capabilities... OK
Communications with http://api.openstreetmap.org/api established using protocol version 0.6.
loading plugin 'undelete' (version 26606)
loading plugin 'public_transport' (version 26606)
Silent shortcut conflict: 'menu:Public Transport' moved by 'menu:Presets' to 'Alt+A'.
loading plugin 'buildings_tools' (version 26606)
loading plugin 'utilsplugin2' (version 26804)
loading plugin 'terracer' (version 26606)
Silent shortcut conflict: 'tools:ReverseTerrace' moved by 'tools:tagbuffer' to 'Alt+Umschalt+R'.
RemoteControl::Accepting connections on port 8111
Open file: /home/colliar/Desktop/OSM Tracker zu bearbeiten/20111003_121216-wp.gpx (1745 bytes)
Silent shortcut conflict: 'properties:add' moved by 'menu:Public Transport' to 'Alt+B'.
Silent shortcut conflict: 'subwindow:relations' moved by 'tools:ReverseTerrace' to 'Alt+C'.
Silent shortcut conflict: 'subwindow:conflict' moved by 'subwindow:relations' to 'Alt+Umschalt+C'.
2011-10-10 13:07:31
Full thread dump OpenJDK 64-Bit Server VM (19.0-b09 mixed mode):

"PulseAudio Eventloop Thread" daemon prio=10 tid=0x0000000000da1800 nid=0xf4d runnable [0x00007f48ea62d000]
   java.lang.Thread.State: RUNNABLE
        at org.classpath.icedtea.pulseaudio.EventLoop.native_iterate(Native Method)
        at org.classpath.icedtea.pulseaudio.EventLoop.run(EventLoop.java:141)
        - locked <0x00000007d722f5b8> (a java.lang.Object)
        at java.lang.Thread.run(Thread.java:636)

"Thread-3" prio=10 tid=0x0000000001c72000 nid=0xf47 waiting on condition [0x00007f48eae1f000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at org.openstreetmap.josm.tools.AudioPlayer.run(AudioPlayer.java:238)

"Map Status Collector" daemon prio=10 tid=0x00000000015a7000 nid=0xf44 in Object.wait() [0x00007f48f23d4000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000007d6181790> (a java.awt.EventQueue$1AWTInvocationLock)
        at java.lang.Object.wait(Object.java:502)
        at java.awt.EventQueue.invokeAndWait(EventQueue.java:1040)
        - locked <0x00000007d6181790> (a java.awt.EventQueue$1AWTInvocationLock)        
        at org.openstreetmap.josm.gui.MapStatus$Collector.run(MapStatus.java:163)
        at java.lang.Thread.run(Thread.java:636)

"pool-1-thread-1" prio=10 tid=0x00007f4900bc4000 nid=0xf42 waiting on condition [0x00007f48fdfb0000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x0000000780580eb8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
        at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:636)

"Timer-0" daemon prio=10 tid=0x0000000000bb4000 nid=0xf3f in Object.wait() [0x00007f48f1c68000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000007d95b2890> (a java.util.TaskQueue)
        at java.util.TimerThread.mainLoop(Timer.java:531)
        - locked <0x00000007d95b2890> (a java.util.TaskQueue)
        at java.util.TimerThread.run(Timer.java:484)

"DestroyJavaVM" prio=10 tid=0x00007f4900229000 nid=0xf18 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"RemoteControl HTTP Server" daemon prio=10 tid=0x00007f49009e5800 nid=0xf3e runnable [0x00007f48f1eca000]
   java.lang.Thread.State: RUNNABLE
        at java.net.PlainSocketImpl.socketAccept(Native Method)
        at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:375)
        at java.net.ServerSocket.implAccept(ServerSocket.java:470)
        at java.net.ServerSocket.accept(ServerSocket.java:438)
        at org.openstreetmap.josm.io.remotecontrol.RemoteControlHttpServer.run(RemoteControlHttpServer.java:74)

"TimerQueue" daemon prio=10 tid=0x000000000177e000 nid=0xf30 waiting on condition [0x00007f48f24d5000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000007d94c54e0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2081)
        at java.util.concurrent.DelayQueue.take(DelayQueue.java:193)
        at javax.swing.TimerQueue.run(TimerQueue.java:167)
        at java.lang.Thread.run(Thread.java:636)

"pool-2-thread-1" prio=10 tid=0x00007f490053b800 nid=0xf2f waiting on condition [0x00007f48fc946000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x0000000780b414b0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
        at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:386)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:636)

"AWT-EventQueue-0" prio=10 tid=0x00007f4900245800 nid=0xf2d waiting on condition [0x00007f48fe0af000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at org.openstreetmap.josm.tools.AudioPlayer$Execute.send(AudioPlayer.java:69)
        at org.openstreetmap.josm.tools.AudioPlayer$Execute.play(AudioPlayer.java:60)
        at org.openstreetmap.josm.tools.AudioPlayer.play(AudioPlayer.java:119)
        at org.openstreetmap.josm.gui.layer.markerlayer.AudioMarker.play(AudioMarker.java:53)
        at org.openstreetmap.josm.gui.layer.markerlayer.AudioMarker.play(AudioMarker.java:65)
        at org.openstreetmap.josm.gui.layer.markerlayer.AudioMarker.actionPerformed(AudioMarker.java:33)
        at org.openstreetmap.josm.gui.layer.markerlayer.MarkerLayer$1$1.mouseReleased(MarkerLayer.java:116)
        at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:290)
        at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
        at java.awt.Component.processMouseEvent(Component.java:6203)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
        at java.awt.Component.processEvent(Component.java:5968)
        at java.awt.Container.processEvent(Container.java:2105)
        at java.awt.Component.dispatchEventImpl(Component.java:4564)
        at java.awt.Container.dispatchEventImpl(Container.java:2163)
        at java.awt.Component.dispatchEvent(Component.java:4390)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4461)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4125)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4055)
        at java.awt.Container.dispatchEventImpl(Container.java:2149)
        at java.awt.Window.dispatchEventImpl(Window.java:2478)
        at java.awt.Component.dispatchEvent(Component.java:4390)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:649)
        at java.awt.EventQueue.access$000(EventQueue.java:96)
        at java.awt.EventQueue$1.run(EventQueue.java:608)
        at java.awt.EventQueue$1.run(EventQueue.java:606)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:116)
        at java.awt.EventQueue$2.run(EventQueue.java:622)
        at java.awt.EventQueue$2.run(EventQueue.java:620)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:619)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)

"AWT-Shutdown" prio=10 tid=0x00007f4900580800 nid=0xf2c in Object.wait() [0x00007f48fe1b2000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0000000780b419a8> (a java.lang.Object)
        at java.lang.Object.wait(Object.java:502)
        at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:281)
        - locked <0x0000000780b419a8> (a java.lang.Object)
        at java.lang.Thread.run(Thread.java:636)

"AWT-XAWT" daemon prio=10 tid=0x00007f4900730800 nid=0xf26 runnable [0x00007f48fe2b3000]
   java.lang.Thread.State: RUNNABLE
        at sun.awt.X11.XToolkit.waitForEvents(Native Method)
        at sun.awt.X11.XToolkit.run(XToolkit.java:568)
        at sun.awt.X11.XToolkit.run(XToolkit.java:543)
        at java.lang.Thread.run(Thread.java:636)

"Java2D Disposer" daemon prio=10 tid=0x00007f4900058800 nid=0xf25 in Object.wait() [0x00007f4904210000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000007d93cb7c8> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:133)
        - locked <0x00000007d93cb7c8> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:149)
        at sun.java2d.Disposer.run(Disposer.java:143)
        at java.lang.Thread.run(Thread.java:636)

"Low Memory Detector" daemon prio=10 tid=0x00007f4900003800 nid=0xf23 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"CompilerThread1" daemon prio=10 tid=0x00007f4900001000 nid=0xf22 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"CompilerThread0" daemon prio=10 tid=0x0000000000ca4000 nid=0xf21 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=10 tid=0x0000000000ca3000 nid=0xf20 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=10 tid=0x0000000000c7e800 nid=0xf1f in Object.wait() [0x00007f49051b3000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0000000780c3fc90> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:133)
        - locked <0x0000000780c3fc90> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:149)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:177)

"Reference Handler" daemon prio=10 tid=0x0000000000c7c800 nid=0xf1e in Object.wait() [0x00007f49052b4000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x0000000780c3fc28> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:502)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133)
        - locked <0x0000000780c3fc28> (a java.lang.ref.Reference$Lock)

"VM Thread" prio=10 tid=0x0000000000c75800 nid=0xf1d runnable 

"GC task thread#0 (ParallelGC)" prio=10 tid=0x0000000000bbf000 nid=0xf19 runnable 

"GC task thread#1 (ParallelGC)" prio=10 tid=0x0000000000bc0800 nid=0xf1a runnable 

"GC task thread#2 (ParallelGC)" prio=10 tid=0x0000000000bc2800 nid=0xf1b runnable 

"GC task thread#3 (ParallelGC)" prio=10 tid=0x0000000000bc4800 nid=0xf1c runnable 

"VM Periodic Task Thread" prio=10 tid=0x00007f4900006800 nid=0xf24 waiting on condition 

JNI global references: 2363

Heap
 PSYoungGen      total 66112K, used 52437K [0x00000007d5560000, 0x00000007de680000, 0x0000000800000000)
  eden space 63488K, 78% used [0x00000007d5560000,0x00000007d8605f58,0x00000007d9360000)
  from space 2624K, 99% used [0x00000007d9360000,0x00000007d95ef578,0x00000007d95f0000)
  to   space 10816K, 0% used [0x00000007ddbf0000,0x00000007ddbf0000,0x00000007de680000)
 PSOldGen        total 42304K, used 24821K [0x0000000780000000, 0x0000000782950000, 0x00000007d5560000)
  object space 42304K, 58% used [0x0000000780000000,0x000000078183d6b8,0x0000000782950000)
 PSPermGen       total 34688K, used 34517K [0x0000000775a00000, 0x0000000777be0000, 0x0000000780000000)
  object space 34688K, 99% used [0x0000000775a00000,0x0000000777bb5488,0x0000000777be0000)


I also have found #5628.

comment:6 by skyper, 13 years ago

Got logged out.

Forgot to say that this was on ubuntu, can test it later on debian.

comment:7 by Kilt, 13 years ago

Priority: normalmajor

Audiomapping for OSM Tracker is not possible since 09/2011. It would be great if this problem could be fixed.

comment:8 by markus128, 13 years ago

I can confirm the problem. Only the first *.wav of my tracks is playable. All others not ("Ende der Aufzeichnung überschritten" in english maybe end of recording overrun).
The last working snapshot is 4281. The next downloadable 4303 shows this bug. The changelog between these versions did not give me a hint what happened there.

Tested with Opensuse 12.1, sun jre and openjdk and Windows7. So the above mentioned bug #5628 seems to be a different one.

No erros on console, no plugins installed.

comment:9 by bastiK, 13 years ago

Cc: jttt added
Description: modified (diff)

Caused by [4282]. (To reproduce open 20111003_121216-wp.gpx click first audio, then second.)

Last edited 13 years ago by bastiK (previous) (diff)

comment:10 by bastiK, 13 years ago

Description: modified (diff)

comment:11 by skyper, 13 years ago

Keywords: wav added
Summary: Voice Files (*.wav) not playingRegression: Voice Files (*.wav) not playing

There exists a description on #6912 which seems to be a duplicate.

Sorry should have checked better.

comment:12 by bastiK, 13 years ago

Resolution: fixed
Status: newclosed

In [4831/josm]:

fixed #6851 - Regression: Voice Files (*.wav) not playing

comment:13 by bastiK, 13 years ago

No idea what's going on, but I've reverted a simplification from [4282].

in reply to:  13 comment:14 by skyper, 13 years ago

Replying to bastiK:

No idea what's going on, but I've reverted a simplification from [4282].

That is why I pointed to #6912

mdk:

ColumbusCSV uses a separate audio file for each Marker. While debugging I found, that the Markers (in Marker.java) are created with a offfset. Only the first Marker has (the correct) offset of 0.0. The following (in my example) have increasing offsets (313, 338, 369, 413, 468, ...). Because the offset is in seconds and my recordings are NOT 5min.+ long, this cause the seen errors.
The offset calculation makes only sense, if I have ONE audio file for all markers. If there are separate offset files for each Marker, the offset must always be 0.0.

Possible solutions:

1) A hack in ColumbusCSV.java after creating the new MarkerLayer in line 88:
loop over all markers and set offset to 0.0.

2) A little bit shaky solution in the MarkerLayer constructor (line 79) where the individual markers are created (Marker.createMarker()):
Reset firstTime to time if indata.storageFile changes (this did not handle alternate re-usage of some files)

3) A new MarkerLayer constructor (or a new parameter in GPXData) specially for the case that indata has separate audio files for each Marker.

3) seems to be the propper solution.

Columbus-Plugin was hacked to work again, cause this is/was a bug in core.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.