I can't open any Videos with Signal, neither those sent by myself nor those I have received. Images work fine though; I haven't tested other media yet. I assume the problem is that Signal sends garbage to the video player which then obviously can't play it. Or maybe both the Gallery Video Player and VLC can't handle content:// URIs? Unfortunately I'm not very experienced with Android / Intents, but this should be the code VLC uses to handle intents, I think.
Steps to reproduce
Click on a Video in any chat
Confirm View secure media? dialog
(pick Video player to open the video with)
Video can't be played
Device info
Model: Google Nexus 4 'mako'
Android version: 5.1.1 (CyanogenMod 12.1)
Signal version: 3.9.1-websocket
Logs
Intent
intent://org.thoughtcrime.provider.securesms/part/xxxxxxxxxxxxx/yyy#Intent;scheme=content;type=video/*;launchFlags=0x3000000;end
Last result:3Data:intent:#Intent;action=org.videolan.vlc.player.result;end
ACTION:android.intent.action.VIEW
DATA:content://org.thoughtcrime.provider.securesms/part/xxxxxxxxxxxxx/yyy
TYPE:video/*
FLAGS:
FLAG_ACTIVITY_FORWARD_RESULT
FLAG_ACTIVITY_PREVIOUS_IS_TOP
2 ACTIVITIES MATCH THIS INTENT
Video player(com.android.gallery3d-com.android.gallery3d.app.MovieActivity)
VLC(org.videolan.vlc-org.videolan.vlc.gui.video.VideoPlayerActivity)
VLC
D/VLC/VideoPlayerActivity(25009): MediaRouter information : android.media.MediaRouter@3bba06d6
I/VLC/VideoPlayerActivity(25009): No secondary display detected
D/PlaybackService.Client(25009): Service Connected
E/VLC/VideoPlayerActivity(25009): Invalid surface size
E/ActivityThread(25009): Failed to find provider info for org.thoughtcrime.provider.securesms
E/VLC/VideoPlayerActivity(25009): Couldn't understand the intent
I/AppCompatDelegate(25009): The Activity's LayoutInflater already has a Factory installed so we can not install AppCompat's
I/Timeline(25009): Timeline: Activity_idle id: android.os.BinderProxy@3a12e9b7 time:67818003
D/OpenGLRenderer(25009): endAllStagingAnimators on 0xb8dc6b70 (RippleDrawable) with handle 0xb8d3d3d8
D/VLC/VideoPlayerActivity(25009): Video paused - saving flag
D/VLC (25009): [b8b9ae98] core audio output: removing module "android_audiotrack"
I/Timeline(25009): Timeline: Activity_idle id: android.os.BinderProxy@125b82c9 time:67820948
Signal
Device : LGE Nexus 4 (occam)
Android : 5.1.1 (5cc85cd080, cm_mako-userdebug 5.1.1 LMY48B 5cc85cd080 test-keys)
Memory : 31M (0.03% used, 192M max)
Memclass: 192
OS Host : cyanogenmod
App : LibreSignal 3.9.1-websocket
...
W/ConversationActivity( 6291): onCreate()
W/QuickAttachmentDrawer( 6291): updateControlsView()
W/PassphraseRequiredActionBarActivity( 6291): onResume()
W/MmsSmsDatabase( 6291): Executing query: SELECT _id, unique_row_id, body, type, thread_id, address, address_device_id, subject, date_sent, date_received, m_type, msg_box, status, part_count, ct_l, tr_id, m_size, exp, st, delivery_receipt_count, mismatched_identities, network_failures, transport_type, attachment_id, unique_id, mid, data_size, _data, ct, cl, cd, name, pending_push FROM (SELECT DISTINCT date_sent AS date_sent, date AS date_received, _id, 'SMS::' || _id || '::' || date_sent AS unique_row_id, NULL AS attachment_id, body, read, thread_id, type, address, address_device_id, subject, NULL AS m_type, NULL AS msg_box, status, NULL AS part_count, NULL AS ct_l, NULL AS tr_id, NULL AS m_size, NULL AS exp, NULL AS st, delivery_receipt_count, mismatched_identities, NULL AS network_failures, 'sms' AS transport_type, NULL AS unique_id, NULL AS mid, NULL AS data_size, NULL AS _data, NULL AS ct, NULL AS cl, NULL AS cd, NULL AS name, NULL AS pending_push FROM sms WHERE (thread_id = 8) UNION ALL SELECT DISTINCT date AS date_sent, date_received AS date_received, mms._id AS _id, 'MMS::' || mms._id || '::' || date AS unique_row_id, part._id AS attachment_id, body, read, thread_id, NULL AS type, address, address_device_id, NULL AS subject, m_type, msg_box, NULL AS status, part_count, ct_l, tr_id, m_size, exp, st, delivery_receipt_count, mismatched_identities, network_failures, 'mms' AS transport_type, unique_id, NULL AS mid, data_size, NULL AS _data, ct, cl, cd, name, pending_push FROM mms LEFT OUTER JOIN part ON part._id = (SELECT part._id FROM part WHERE part.mid = mms._id LIMIT 1) WHERE (thread_id = 8) ORDER BY date_received DESC LIMIT 500)
W/KeyCachingService( 6291): onStartCommand, org.thoughtcrime.securesms.service.action.ACTIVITY_START_EVENT
W/KeyCachingService( 6291): Incrementing activity count...
W/MessageRetrievalService( 6291): Active Count: 1
W/KeyboardAwareLinearLayout( 6291): rotation changed
W/KeyboardAwareLinearLayout( 6291): onKeyboardClose()
W/CameraView( 6291): skipping layout due to zero-width/height preview size
W/MmsSmsDatabase( 6291): Executing query: SELECT _id, unique_row_id, body, type, thread_id, address, address_device_id, subject, date_sent, date_received, m_type, msg_box, status, part_count, ct_l, tr_id, m_size, exp, st, delivery_receipt_count, mismatched_identities, network_failures, transport_type, attachment_id, unique_id, mid, data_size, _data, ct, cl, cd, name, pending_push FROM (SELECT DISTINCT date_sent AS date_sent, date AS date_received, _id, 'SMS::' || _id || '::' || date_sent AS unique_row_id, NULL AS attachment_id, body, read, thread_id, type, address, address_device_id, subject, NULL AS m_type, NULL AS msg_box, status, NULL AS part_count, NULL AS ct_l, NULL AS tr_id, NULL AS m_size, NULL AS exp, NULL AS st, delivery_receipt_count, mismatched_identities, NULL AS network_failures, 'sms' AS transport_type, NULL AS unique_id, NULL AS mid, NULL AS data_size, NULL AS _data, NULL AS ct, NULL AS cl, NULL AS cd, NULL AS name, NULL AS pending_push FROM sms WHERE (read = 0) UNION ALL SELECT DISTINCT date AS date_sent, date_received AS date_received, mms._id AS _id, 'MMS::' || mms._id || '::' || date AS unique_row_id, part._id AS attachment_id, body, read, thread_id, NULL AS type, address, address_device_id, NULL AS subject, m_type, msg_box, NULL AS status, part_count, ct_l, tr_id, m_size, exp, st, delivery_receipt_count, mismatched_identities, network_failures, 'mms' AS transport_type, unique_id, NULL AS mid, data_size, NULL AS _data, ct, cl, cd, name, pending_push FROM mms LEFT OUTER JOIN part ON part._id = (SELECT part._id FROM part WHERE part.mid = mms._id LIMIT 1) WHERE (read = 0) ORDER BY date_received ASC)
W/ThumbnailView( 6291): loading part with id content://org.thoughtcrime.securesms/part/xxxxxxxxxxxxx/yyy, progress 0
I/Timeline( 6291): Timeline: Activity_idle id: android.os.BinderProxy@deadbeef time:12865533
I/AppCompatDelegate( 6291): The Activity's LayoutInflater already has a Factory installed so we can not install AppCompat's
W/ConversationItem( 6291): Clicked: content://org.thoughtcrime.securesms/part/xxxxxxxxxxxxx/yyy , video/*
D/OpenGLRenderer( 6291): endAllStagingAnimators on 0xbada55 (RippleDrawable) with handle 0xb16b00b5
W/PassphraseRequiredActionBarActivity( 6291): onPause()
W/KeyCachingService( 6291): onStartCommand, org.thoughtcrime.securesms.service.action.ACTIVITY_STOP_EVENT
W/KeyCachingService( 6291): Decrementing activity count...
W/MessageRetrievalService( 6291): Active Count: 0
W/IInputConnectionWrapper( 6291): showStatusIcon on inactive InputConnection
W/PassphraseRequiredActionBarActivity( 6291): onResume()
W/MmsSmsDatabase( 6291): Executing query: SELECT _id, unique_row_id, body, type, thread_id, address, address_device_id, subject, date_sent, date_received, m_type, msg_box, status, part_count, ct_l, tr_id, m_size, exp, st, delivery_receipt_count, mismatched_identities, network_failures, transport_type, attachment_id, unique_id, mid, data_size, _data, ct, cl, cd, name, pending_push FROM (SELECT DISTINCT date_sent AS date_sent, date AS date_received, _id, 'SMS::' || _id || '::' || date_sent AS unique_row_id, NULL AS attachment_id, body, read, thread_id, type, address, address_device_id, subject, NULL AS m_type, NULL AS msg_box, status, NULL AS part_count, NULL AS ct_l, NULL AS tr_id, NULL AS m_size, NULL AS exp, NULL AS st, delivery_receipt_count, mismatched_identities, NULL AS network_failures, 'sms' AS transport_type, NULL AS unique_id, NULL AS mid, NULL AS data_size, NULL AS _data, NULL AS ct, NULL AS cl, NULL AS cd, NULL AS name, NULL AS pending_push FROM sms WHERE (read = 0) UNION ALL SELECT DISTINCT date AS date_sent, date_received AS date_received, mms._id AS _id, 'MMS::' || mms._id || '::' || date AS unique_row_id, part._id AS attachment_id, body, read, thread_id, NULL AS type, address, address_device_id, NULL AS subject, m_type, msg_box, NULL AS status, part_count, ct_l, tr_id, m_size, exp, st, delivery_receipt_count, mismatched_identities, network_failures, 'mms' AS transport_type, unique_id, NULL AS mid, data_size, NULL AS _data, ct, cl, cd, name, pending_push FROM mms LEFT OUTER JOIN part ON part._id = (SELECT part._id FROM part WHERE part.mid = mms._id LIMIT 1) WHERE (read = 0) ORDER BY date_received ASC)
W/CameraView( 6291): skipping layout due to zero-width/height preview size
W/ThumbnailView( 6291): Not re-loading slide content://org.thoughtcrime.securesms/part/xxxxxxxxxxxxx/yyy
W/KeyCachingService( 6291): onStartCommand, org.thoughtcrime.securesms.service.action.ACTIVITY_START_EVENT
W/KeyCachingService( 6291): Incrementing activity count...
W/MessageRetrievalService( 6291): Active Count: 1
W/CameraView( 6291): skipping layout due to zero-width/height preview size
I/Timeline( 6291): Timeline: Activity_idle id: android.os.BinderProxy@deadbeef time:12872880
W/ConversationActivity( 6291): onBackPressed()
W/PassphraseRequiredActionBarActivity( 6291): onPause()
I have:
Bug description
I can't open any Videos with Signal, neither those sent by myself nor those I have received. Images work fine though; I haven't tested other media yet. I assume the problem is that Signal sends garbage to the video player which then obviously can't play it. Or maybe both the Gallery Video Player and VLC can't handle
content://
URIs? Unfortunately I'm not very experienced with Android / Intents, but this should be the code VLC uses to handle intents, I think.Steps to reproduce
View secure media?
dialogDevice info
Model: Google Nexus 4 'mako'
Android version: 5.1.1 (CyanogenMod 12.1)
Signal version: 3.9.1-websocket
Logs
Intent
VLC
Signal