I Use This!
Activity Not Available

News

Analyzed 3 months ago. based on code collected 4 months ago.
Posted almost 9 years ago
53rd VideoLAN report During the core of the hot European summer, here is a weekly report about the last 2 weeks in the VLC and VideoLAN communities! It was a bit calm, to be honest; and I'm a bit late to publish. Summer is the cause Features ... [More] VLC The week started by a lot of code cleanup and renaming for the Mac OS interface. We also had improvements focus on the Sierra release. On the decoding side, we've had some improvement for hardware decoding in Direct3D11, focused on HEVC decoding. We also had fixes for the OSX VideoToolbox decoder, notably to be able to restart the decoder when required. A module supporting the AV1 from the Alliance for Open Media was merged too. So far, it's only a decoder, and disabled by default. On the streaming side, the MP4 muxer timestamps were fixed. It was also backported to the 2.2.x branch. We now have ARM64 assembly for our deinterlacer, which will be very useful for iOS, Apple TV and Android TV. Finally, we had fixes for RTSP passwords saving in the keystore, improvements for RTSP support and the H264 packetizer, and we added support for UTF8 filenames in FTP directory listings, and support for DiscNumber and DiscTotal metadata in MP4, and DNxHR! Android On Android, we've mostly fixed crashes, updated translations and pushed 2.0.6 in production, on the play store. The work is mostly done now on the new media library code, that will be merged later. WinRT On UWP, the focus has been on the XBox 1, and mostly on how we can upload files on the box, since we don't have access to the filesystem. The current solution is using an HTTP webserver to upload the files from your browser, and support for USB disks. That's all for those weeks, see you next! [Less]
Posted almost 9 years ago
That's the second issue I had when playing with the LAVA log viewer. In the new versions of LAVA, the logs are formatted in YAML: - {"dt": "2016-08-18T14:24:01.096308", "lvl": "info", "msg": "start: 1 tftp-deploy (max 300s)"} - {"dt": "2016-08-18T14:24:01.099413", "lvl": "debug", "msg": "start: 1.1 download_retry …
Posted almost 9 years ago
That's the second issue I had when playing with the LAVA log viewer. In the new versions of LAVA, the logs are formatted in YAML: - {"dt": "2016-08-18T14:24:01.096308", "lvl": "info", "msg": "start: 1 tftp-deploy (max 300s)"} - {"dt": ... [More] "2016-08-18T14:24:01.099413", "lvl": "debug", "msg": "start: 1.1 download_retry (max 300s)"} - {"dt": "2016-08-18T14:24:01.100674", "lvl": "debug", "msg": "start: 1.1.1 file_download (max 300s)"} That's really convenient, but when a job is generating a lot of logs, loading this YAML files is becoming longer and longer: % time python -c "import yaml; y=yaml.load(open('output.yaml'));" 18,25s user 0,23s system 100% cpu 18,475 total % wc -l output.yaml 36817 output.yaml But 18s to load 36817 lines of text sounds unreasonable. I looked for some explanation and found that by default, the Python YAML parser, is using the Pure-Python loader instead of the (way) faster C implementation. So, in order to use the faster C implementation, you should use: % time python -c "import yaml; y=yaml.load(open('output.yaml'), Loader=yaml.CLoader);" 2,28s user 0,06s system 99% cpu 2,346 total That's still really slow, but we can live with that for the moment. [Less]
Posted almost 9 years ago
While working on improving the log viewer in LAVA I ran into an issue. The issue is really simple: how to add display: block or display: none to a list of nodes while another JS script is adding more of theses nodes to the page. The classical ... [More] approach is to select the right nodes and apply the CSS rule. When the second script is adding nodes, you have to redo the selection. As you have many nodes (one per line of log) the update will be really slow. Something like this would work: // Update the page $.ajax()({ ... }); // Update the css rule for the new blocks $("my_selector").css('display', 'block'); Creating a Style Sheet Instead of adding a CSS rule to every nodes, we can mark theses nodes with a class and change the CSS rules for this class whenever needed. I discovered in the Mozilla documentation that it's possible (in JavaScript) to create a Style Sheet and to add or remove rules in it. To create a new Style sheet, you just have to add a style section in the head with: var sheet = (function() { var style = document.createElement("style"); document.head.appendChild(style); return style.sheet; } It's then possible to insert rules into the Style Sheet with insertRule: // Insert at the top of the Style Sheet sheet.insertRule(".mylabel { display: block }", 0); // Or better, at the end sheet.insertRule(".mylabel { display: none}", sheet.cssRules.length); It's also possible to remove rules from the Style Sheet by using their indexes with deleteRule: // Remove the first rule sheet.deleteRule(0); // Remove the last one added sheet.deleteRule(sheet.cssRules.length - 1); With theses two function, you have everything you need to create a specific rule and update it whenever needed. You just have to keep track of his index. [Less]
Posted almost 9 years ago
While working on improving the log viewer in LAVA I ran into an issue. The issue is really simple: how to add display: block or display: none to a list of nodes while another JS script is adding more of theses nodes to the page. The classical approach is to …
Posted almost 9 years ago
52nd VideoLAN report Another summer week passes by and here is a new weekly report about the VLC and VideoLAN communities! Features VLC The week started with numerous additions to the Direct3D video accelerations and video outputs, to ... [More] continue the support for 10bits decoding and HDR. Related to those improvements, we added support for hardware decoding of HEVC decoding inside the TS format, by improving our HEVC packetizer. We fixed (actually added) the support of QuickTime Videos inside MKV, aka MP4-inside-MKV; and also the support for QuickTime Audio inside MKV. We improved again the ChromeCast support, by fixing small issues, notably when reloading and stopping the stream. In the core, an important deadlock was killed, that was affecting Windows and Android platforms. Finally, we also did a fix for hidden chapters in MKV, and improved the MIDI integration for Windows, and reworked a bit our contrib system. Android On Android, we finally fixed the support for old x86 Phones like the ZenPhone that claimed to be ARM phones. Those phones lie about their CPU with CPU_ABI, CPU_ABI AND they expose a fake /proc/cpuinfo to the applications! Thanks to a contact at ASUS, we got a phone and coded a work-around. We also added support for saving audio-delay when using your Bluetooth headphones, so that you have a different audio-delay when using those headphones than without headphones. Finally, we fixed a few crashes and regressions that were reported against the last release. WinRT On UWP, the biggest focus was on cleaning the code and on the Xbox 1 interface. More to come soon, I hope! libbluray We've had a lot of small fixes for libbluray, mostly on fixing issues and crashes reported by static analyzers, but also build issues, Windows issues, and crashes reported by the users. That's all for this summer week! See you next! [Less]
Posted almost 9 years ago
51st VideoLAN report So, after a few crazy weeks, I'm coming back to a more regular schedule for my weekly reports about VLC and VideoLAN. Features VLC Decoder fallback The major change, during last week, was the possibility to restart the ... [More] audio decoders when the audio device changes. This is very useful when you switch from normal decoders to SPDIF/HDMI pass-through for DTS, Dolby and related codecs. In the past, VLC could only restart the filters, not the decoders, so our Dolby and DTS decoders were actually filters. This was finally changed and now decoders are decoders. For those who don't understand what all this means, it means that it will help us support more formats for pass-through over HDMI, like DolbyDigital+ or DTS-HD. Modules We've fixed the green line that appears only on AMD GPUs on Windows. This is scheduled for the next Windows update. I've implemented the support for browsing FTP remote directories, so that it behaves similarly to SFTP or SMB. On Windows, we've added the support for hardware decoding of 10bits HEVC , using DxVA and D3D11. We also pushed improvements to the prefetcher module and to our TTML support; and we've fixed issues for DVD menus, SAT>IP protocol and HLS protocol. Finally, please note that the license of the UPnP module was switched from GPL to LGPL. Android On Android, we've fixed a few issues related to old devices, and we've improved the libVLC Java bindings to support statistics. WinRT Last week on WinRT, we've removed all the code that was focusing on older versions of Windows. The codebase now support only Windows 10 Universal with its Anniversary Edition version. That's all for this week! Thanks for the support and see you soon! [Less]
Posted almost 9 years ago
51st VideoLAN report So, after a few crazy weeks, I'm coming back to a more regular schedule for my weekly reports about VLC and VideoLAN. Features VLC Decoder fallback The major change, during last week, was the possibility to restart the ... [More] audio decoders when the audio device changes. This is very useful when you switch from normal decoders to SPDIF/HDMI pass-through for DTS, Dolby and related codecs. In the past, VLC could only restart the filters, not the decoders, so our Dolby and DTS decoders were actually filters. This was finally changed and now decoders are decoders. For those who don't understand what all this means, it means that it will help us support more formats for pass-through over HDMI, like DolbyDigital+ or DTS-HD. Modules We've fixed the green line that appears only on AMD GPUs on Windows. This is scheduled for the next Windows update. I've implemented the support for browsing FTP remote directories, so that it behaves similarly to SFTP or SMB. On Windows, we've added the support for hardware decoding of 10bits HEVC , using DxVA and D3D11. We also pushed improvements to the prefetcher module and to our TTML support; and we've fixed issues for DVD menus, SAT>IP protocol and HLS protocol. Finally, please note that the license of the UPnP module from GPL to LGPL. Android On Android, we've fixed a few issues related to old devices, and we've improved the libVLC Java bindings to support statistics. WinRT Last week on WinRT, we've removed all the code that was focusing on older versions of Windows. The codebase now support only Windows 10 Universal with its Anniversay Edition version. That's all for this week! Thanks for the support and see you soon! [Less]
Posted almost 9 years ago
50th VideoLAN report So, after a few crazy weeks, I was taken a bit by RealLife©®, and we've had 3 weeks without report. And this one is late. Therefore, here is a new report about the VLC and VideoLAN communities, covering the last 3 weeks! ... [More] The report will be a bit more summarized that usual, and more dense in information, for obvious reasons. Features VLC We've added support for codecs with colors in 12bit-depth, in YUV 4:2:0, 4:2:2 and 4:4:4. Of course, nothing can display that yet, but it can happen in some HEVC samples. It will be dithered down before displaying. The Windows users will be happy, because we're reintroducing the MIDI support, using a new library called FluidLite, in order to replace FluidSynth. A new protocol to control and distribute satellite signals on a LAN called SAT>IP was implemented in a new access module. There was a lot of work and rework on our adaptive support, notably to change timings and drain, but also to start supporting HLS using mp4 fragments. Some work on URL and URI was done to support more cases and improve test coverage. 2 new functions called vlc_uri_resolve() and vlc_uri_compose() were introduced. At the same time, modifications on the HTTP redirections were merged. On Windows, we merged the VP9 hardware decoding, using the DxVA APIs. This code requires very recent video cards to be usable. Finally, an important work was done to merge the access and stream-filter behavior and semantics. The 2 type of modules still exist, but a large part of the code is now common. This allows now block-based stream filters. To achieve this, we now have introduced the vlc_stream_Eof(), vlc_stream_ReadBlock() and vlc_stream_ReadPartial() functions. Finally, we added support for MP4 chapters in Unicode, and we fixed some Qt sizing issues with Qt5, a DLL loading potential security issue for Win32, MP4 subtitles size, a WMV integer overflow, a crash in smem, the Qt right-click menu on the playlist, SFTP browsing, and the audio fingerprinter. We also improved the HTTP/2 stack, our TS demuxer when dealing with scrambled content, and a few other minor things I forgot. Android On Android, we've pushed 2.0.3, 2.0.4 and 2.0.5 to fix the most important issues and regressions reported. However, we also added a few features notably: Support for HTTP proxies, Support for HTTPS self-signed certificates, Subtitles style modification in preferences, Improvements for SMB browsing, Support for more ARMv8 devices. And we also added, in the main branch, some modifications about preferences, and adding new ones. iOS The iOS buildsystem was modified to support full cocoapod building, so you can compile just the application, without compiling VLC and libVLC. This important change introduced quite a bit of cleaning of the code and of the project. :D WinRT On WinRT, we've prepared a MediaCenter Mode for the Xbox 1. We fixed numerous interface issues and crashes, that were reported in 2.0.1. A few fixes where pushed also to address issues happening with specific themes or specific resolutions in responsive mode. That's all for those weeks! There is probably a bit more I forgot about, but you should have the important parts. See you soon! [Less]
Posted almost 9 years ago
49th VideoLAN report So, after two busy weeks, you can get a new weekly report about the VLC and VideoLAN communities! Releases Android 10 days ago, we released VLC for Android 2.0. After a long period of development, we're finally at a ... [More] release that supports more features than the old 0.9.x versions and the 1.7.x versions. UWP And last week, we released the new VLC for Windows 10, numbered 2.0 too. It is a continuation of the work we did for WinRT, the kickstarter, focused on Windows 8.1, Windows Phone 8.1 and Windows RT. The new application should supersede the old one. Features VLC In the last 2 weeks, we improved the ChromeCast support, notably to work on transmitting the pause status and the title between the device and VLC, and we also changed the interface to scan for devices, since it was a bit confusing. We added support for some uncompressed video format inside MKV, for the AlbumArtist meta-tag inside mp4 and we now support more MicroDVD subtitles styles. Our new Kwallet module was transitioned from using libKwallet to DBus. This will be better to support both Qt4 and Qt5 applications with libVLC, because those versions are not ABI compatible. The core gained a new stream FIFO API, with functions like vlc_stream_fifo_New, vlc_stream_fifo_Queue, vlc_stream_fifo_Write and vlc_stream_fifo_Close. This change, in addition to the new chained_demux implementation in the core, removes the need for stream_Demux (now removed). We also improved the security when loading of DLLs on Windows. And for Android, AudioTrack DTS pass-through was implemented. Finally, numerous fixes were pushed, notably for Direct3D11, our contribs, some in the core, youtube playback regressions, the Mac OS interface, crashes for MMDevice device, and for the MediaCodec decoders. And more that I forget... Android As I said, we released 2.0, and we also pushed 2.0.1 and 2.0.2 to fix the most important crashes reported. WinRT Same, we released 2.0, the first beta version of the UWP application. Fixup releases are coming soon! iOS On iOS, we pushed the promised update and we had a few refactoring, notably on the network login view. libbluray The libbluray code was modified to support 8.3 filenames, like in AVCHD directories we see in camcorders. This is the first step for full AVCHD support in VLC That's all for those weeks! Not too bad See you soon! [Less]