I'm writing my own video plugin, which should support 2 types of input video format (I420, UYVY). The initialization (internal memory allocation, configuration, etc...) for these 2 types of format are seperated, so need
to be told by a format parameter from caps negotiation with upstream element. Now my question is: when does the caps negotiation take place? So that I can place my internal initialization after it.
At first I put my init function intuitively in the state change function, to be precise, the READY TO PAUSED transition part. Then I found that caps negotiation finishes much later than READY-TO-PAUSED transition, even
later than the PAUSED-TO-PLAYING transition.
BTW, when I say "caps negotiation finishes", I mean when my element get the GST_EVENT_CAPS.