{"action":"created","issue":{"url":"https://api.github.com/repos/EricssonResearch/openwebrtc-gst-plugins/issues/25","labels_url":"https://api.github.com/repos/EricssonResearch/openwebrtc-gst-plugins/issues/25/labels{/name}","comments_url":"https://api.github.com/repos/EricssonResearch/openwebrtc-gst-plugins/issues/25/comments","events_url":"https://api.github.com/repos/EricssonResearch/openwebrtc-gst-plugins/issues/25/events","html_url":"https://github.com/EricssonResearch/openwebrtc-gst-plugins/issues/25","id":57819418,"number":25,"title":"ercolorspace: incomplete colorspace transformations","user":{"login":"ijsf","id":123868,"avatar_url":"https://avatars.githubusercontent.com/u/123868?v=3","gravatar_id":"","url":"https://api.github.com/users/ijsf","html_url":"https://github.com/ijsf","followers_url":"https://api.github.com/users/ijsf/followers","following_url":"https://api.github.com/users/ijsf/following{/other_user}","gists_url":"https://api.github.com/users/ijsf/gists{/gist_id}","starred_url":"https://api.github.com/users/ijsf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ijsf/subscriptions","organizations_url":"https://api.github.com/users/ijsf/orgs","repos_url":"https://api.github.com/users/ijsf/repos","events_url":"https://api.github.com/users/ijsf/events{/privacy}","received_events_url":"https://api.github.com/users/ijsf/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-02-16T15:46:06Z","updated_at":"2015-02-16T16:51:30Z","closed_at":null,"body":"In case of the ercolorspace plugin, the sink/source pad capabilities are currently:\r\n\r\n* Input (sink pad): BGRA, RGBA, I420, NV21, NV21.\r\n* Output (source pad): BGRA, RGBA, I420.\r\n\r\nThe following transformations are currently implemented:\r\n\r\n* NV12 -> BGRA, RGBA, I420\r\n* NV21 -> BGRA, RGBA, I420\r\n* I420 -> BGRA, RGBA\r\n\r\nThe following transformation are possibly _missing_ and causing issues:\r\n\r\n* BGRA -> (BGRA), RGBA, I420\r\n* RGBA -> (RGBA), BGRA, I420\r\n* I420 -> (I420)\r\n\r\nTesting the current OpenWebRTC + Bowser master built with Cerbero on an iPad Mini 1 with iOS 8.1.3 yields the following error:\r\n\r\n    ==== Error message start ====\r\n    Error in element source-video-convert-1.\r\n    Error: Internal GStreamer error: code not implemented.  Please file a bug at http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer.\r\n    Debugging info: src/gstercolorspace.c(340): gst_ercolorspace_transform_frame (): /GstPipeline:transport-agent-1/GstBin:source-bin-1/GstERColorspace:source-video-convert-1:\r\n    colorspace conversion failed: unsupported formats\r\n    ==== Error message stop ====\r\n    ==== Error message start ====\r\n    Error in element source-1.\r\n    Error: Internal data flow error.\r\n    Debugging info: gstbasesrc.c(2943): void gst_base_src_loop(GstPad *) (): /GstPipeline:transport-agent-1/GstBin:source-bin-1/GstInterVideoSrc:source-1:\r\n    streaming task paused, reason not-negotiated (-4)\r\n    ==== Error message stop ====\r\n    ==== Error message start ====\r\n    Error in element source-queue-1.\r\n    Error: Internal data flow error.\r\n    Debugging info: gstqueue.c(873): gboolean gst_queue_handle_sink_event(GstPad *, GstObject *, GstEvent *) (): /GstPipeline:transport-agent-1/GstBin:source-bin-1/GstQueue:source-queue-1:\r\n    streaming task paused, reason not-negotiated (-4)\r\n    ==== Error message stop ====\r\n\r\nAlso see https://github.com/EricssonResearch/openwebrtc/issues/168"},"comment":{"url":"https://api.github.com/repos/EricssonResearch/openwebrtc-gst-plugins/issues/comments/74538143","html_url":"https://github.com/EricssonResearch/openwebrtc-gst-plugins/issues/25#issuecomment-74538143","issue_url":"https://api.github.com/repos/EricssonResearch/openwebrtc-gst-plugins/issues/25","id":74538143,"user":{"login":"superdump","id":302146,"avatar_url":"https://avatars.githubusercontent.com/u/302146?v=3","gravatar_id":"","url":"https://api.github.com/users/superdump","html_url":"https://github.com/superdump","followers_url":"https://api.github.com/users/superdump/followers","following_url":"https://api.github.com/users/superdump/following{/other_user}","gists_url":"https://api.github.com/users/superdump/gists{/gist_id}","starred_url":"https://api.github.com/users/superdump/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/superdump/subscriptions","organizations_url":"https://api.github.com/users/superdump/orgs","repos_url":"https://api.github.com/users/superdump/repos","events_url":"https://api.github.com/users/superdump/events{/privacy}","received_events_url":"https://api.github.com/users/superdump/received_events","type":"User","site_admin":false},"created_at":"2015-02-16T16:51:30Z","updated_at":"2015-02-16T16:51:30Z","body":"Libyuv has neon optimisations. But so does orc that is used for GStreamer's videoconvert element that can do colour space conversion. However, we currently should avoid any software colour space conversion on iOS due to the recent optimisation work in GStreamer to make avfvideosrc, vtenc, vtdec and glimagesink work better together. Android is another question but it is planned. However, the question may have to be revisited if we cannot make effective used of the hardware for rotation and mirroring. I would hope we can."}}