I have a bit strange gstreamer pipeline and facing a audio video synchronization issue with this while doing play/pause operation. My case is little bit different. I have two process running in same computer. Process1 sends the audio data to process2 using named pipe and video data to a custom video sink in the same pipeline. Process2 reads the named pipe using another gstreamer pipeline and playback the audio. Please see those pipelines below. <br>
<br>process1 pipeline : <br>---------------------------<br>I have set playbin video-sink to custom-videosink and audio-sink to another bin that sends the audio to named pipe. <br> -------------<br>| playbin  | -> customvideosink<br>
|             | -> gdppay -> filesink location=named pipe<br>--------------<br><br>process2 pipeline :<br>---------------------------<br>filesrc location=named_pipe -> gdpdepay -> alsasink<br><br>Scenario<br>-------------<br>
1. I am setting process2 pipeline as PLAYING state by default<br>2. When I do PAUSE in the process1 pipeline, the process1 pipeline state chaned to PAUSED. In this case the process2 pipeline will be in PLAYING state only(not hearing any audio, but clock will be running). So I used another named pipe mechanism to send a PLAY/PAUSE  control command to process2. these commands will be read by another thread in process2 and set pipeline state accordingly when user do PAUSE/PLAY in process1. <br>
Is this is a relevant mechanism? Any other solution to control the process2 pipeline state other than this?<br><br>2. In the above mechanism, while I do PAUSE in process1, the video is getting PAUSED immediately. but audio is PAUSED after few <br>
milliseconds. This leads to lose in audio/video synchronization. What could be the reason for this ? <br><br>Thanks in advance<br>Sujith<br><br><br>