Daniel wrote:How on earth did you manage to get WMP to play M4V files? My attempts were not successful.
K-Lite_Codec_Pack_604_Standard.exe (an ffdshow etc. distribution) helped a lot

Daniel wrote:I followed your instructions to best I could with a playlist containing a mixture of MP3, MP4, MPG, and WMV files. With these file types, the correct information is always displayed. If a field is not available, it will be left blank and not show any left over information from the previous track.
I suspect the problem may be isolated to M4V files. Plugin version 2.0.3 may have worked because it was always polling for information from WMP. Because WMP doesn't natively support M4V, it may not be firing a "New Media" event when an M4V file is loaded.
If you have the time, it would be really useful if you could repeat the test with no M4V files in your playlist. If we can say for sure the problem only happens for M4V files, it will help find a solution. It would also be useful to know if Vectir shows correct information for all items in a playlist only holding MP3 files.
So you did get cases where bitrate and duration only were blank, yet the remaining fields were displayed correctly, with 2.0.4? That wouldn't make any sense to me!
I'll try update the steps to reproduce, but in the meantime some more information:
This WMP behaviour of updating fields only happens when playing a playlist. WMP does not update fields when playing from a video collection such as All Video
.
The Vectir behaviour of not displaying any fields when some are empty seems to be governed by both bitrate and duration. When bitrate (which in some cases comes from the audio track!) and duration are available, everything works as with 2.0.3. Ditto, when only bitrate is available. However, when BOTH are unavailable which is usually the case when bitrate is missing, nothing is shown until WMP has played the track and populated DURATION in the Now Playing view.
I've seen this behaviour with M4V, MP4 and MPG. The machine where I saw this behaviour with MPG uses ffdshow for decoding. On the other machine with the CyberLink MPEG-2 decoder, exactly the same MPG file behaved like a WMV file - all information displayed all the time
.
So it's clear that the extent to which WMP populates fields prior to feedback is determined by how well it understands the format, and Vectir 2.0.4's behaviour seems determined by at least bitrate (possibly in combination with duration).
I attach a MP4 file encoded for a Nokia smartphone that causes this behaviour on both my machines. If you have Nokia PC Suite 7.x or any of its video components installed, your WMP should be able to play this (and only populate duration in the Now Playing view once played). You should get the same behaviour with ffdshow.
The test file is at
http://www.mediafire.com/file/smsnd6msrvm8j6p/Test.mp4.
Steps to reproduce:With 2.0.4. and WMP9:
Other than volume and playback progress, no playlist item or position data bindings are displayed ever.
With 2.0.4 and WMP11:
1. Find a file for which WMP does not display duration and bitrate in Library collections (hopefully the attached file does the trick)
2. Add that file and a native WMV file to the same playlist
3. Close and restart WMP (this removes any cached bitrate/duration data for "non-native" files)
4. In the Library view, click the playlist's name and select Add to Now Playing
5. Open the Now Playing view and verify that only the WMV file's duration is shown
To show that data bindings are displayed when all are available:
6. Using
WMP's Next/Previous controls, ensure the play selection is on the WMV file
7. Open the Generic WMP profile and verify that all data bindings are shown
8. Disconnect the Vectir remote and restart Vectir on the PC (to flush cached data)
To show that no data bindings are displayed when bitrate and/or duration are unavailable:
9. Using
WMP's Next/Previous controls, ensure the play selection is on the other file
10. Open the Generic WMP profile and verify that no playlist item or position data bindings are shown (duration is also shown as 00.00)
To show that cached data binding data is displayed when bitrate and/or duration are unavailable:
11. Use any Next/Previous controls to move the play selection to the WMV file
12. Verify that all its data bindings are shown
13. Use any Next/Previous controls to move the play selection to the other file
14. Verify in WMP that the selection has moved to the other file, but that the previous selection's data bindings are shown
To show that data bindings are displayed once duration/bitrate become available:
15. Using any controls play the other file
16. Verify that WMP has populated its duration in the Now Playing view, but that Vectir remote still displays the previous selection's data
17. Using any Next/Previous controls, move the play selection to the WMV file and back to the other file
18. Verify that - now that duration/bitrate are available - all data bindings are shown
These steps work! The trick is to make sure you get a file that has both duration and bitrate missing when viewed in a Library collection such as All Video.
On the topic of performance and the logging textbox, as you suggested I dragged the slider up and down. Although I'm unsure how much movement is required to simulate a typical remote event rate, the performance hit was similar to that seen with command processing, as you suggested!
I also did some comparative testing with Nokia Wireless Presenter (only keypress commands available). I compared it against a keypress-only Vectir profile on my 900 MHz netbook where CPU load changes are better visible.
As reported previously, with Vectir WMP 2.0.4:
Static Vectir CPU usage: 0 - 2% (sometimes 3%)
Command processing CPU usage: 22 - 45%
Static NWP CPU usage: 0 - 2%
Command processing usage: 0% (not possible to detect any additional CPU load from command processing)
I hope this helps!
Kind regards,
Francois